[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Review Request 109090: OpenGLPaintRedirector updates textures directly
From:       Martin_Gräßlin <mgraesslin () kde ! org>
Date:       2013-02-27 7:54:24
Message-ID: 20130227075424.6490.54765 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109090/
-----------------------------------------------------------

(Updated Feb. 27, 2013, 8:54 a.m.)


Review request for kwin.


Changes
-------

* Adding support for GL_EXT_texture_format_BGRA8888 in GLES
* using GL_EXT_unpack_subimage check instead of check for GLES3
* const & the QImage


Description (updated)
-------

OpenGLPaintRedirector updates textures directly

Ownership of decoration textures is moved from SceneOpenGL::Window to
OpenGLPaintRedirector. The PaintRedirector is responsible for updating
the textures whenever they change. For this GLTexture is extended by an
update(QImage, QPoint) method which uses glTexSubImage2D to update only
the changed parts.

The big advantage compared to before is that if e.g. only a button is
animated only the button part is updated instead of the complete deco
part.


Diffs (updated)
-----

  kwin/libkwineffects/kwingltexture.h 7a9df727701b78684225e1775fbe50d1502c3bdd 
  kwin/libkwineffects/kwingltexture.cpp c1c3e9409f0a98ee2066be32bf6918dd89318e7a 
  kwin/libkwineffects/kwingltexture_p.h 9675ec60acf96c487e1e8e2f3694db13ee70d02e 
  kwin/paintredirector.h c5b3364456d01a0935deedcb3fa2b53d36c38341 
  kwin/paintredirector.cpp c8892c8f1576058e9674fe3e2192c4f7fd30da9d 
  kwin/scene_opengl.h 7971c8314f57907c6f275b30a3d6647a245df731 
  kwin/scene_opengl.cpp 3185c9eca7784e69c9a27a03904dccd984c4a2e3 

Diff: http://git.reviewboard.kde.org/r/109090/diff/


Testing
-------

OpenGL1: yes
OpenGL2: yes
GLES: yes


Thanks,

Martin Gräßlin


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/109090/">http://git.reviewboard.kde.org/r/109090/</a>
  </td>
    </tr>
   </table>
   <br />




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for kwin.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Feb. 27, 2013, 8:54 a.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
                break-word;">* Adding support for GL_EXT_texture_format_BGRA8888 in \
                GLES
* using GL_EXT_unpack_subimage check instead of check for GLES3
* const &amp; the QImage</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description  \
(updated)</h1>  <table width="100%" bgcolor="#ffffff" cellspacing="0" \
cellpadding="10" style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">OpenGLPaintRedirector updates textures directly

Ownership of decoration textures is moved from SceneOpenGL::Window to
OpenGLPaintRedirector. The PaintRedirector is responsible for updating
the textures whenever they change. For this GLTexture is extended by an
update(QImage, QPoint) method which uses glTexSubImage2D to update only
the changed parts.

The big advantage compared to before is that if e.g. only a button is
animated only the button part is updated instead of the complete deco
part.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
                break-word;">OpenGL1: yes
OpenGL2: yes
GLES: yes</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> \
(updated)</h1> <ul style="margin-left: 3em; padding-left: 0;">

 <li>kwin/libkwineffects/kwingltexture.h <span style="color: \
grey">(7a9df727701b78684225e1775fbe50d1502c3bdd)</span></li>

 <li>kwin/libkwineffects/kwingltexture.cpp <span style="color: \
grey">(c1c3e9409f0a98ee2066be32bf6918dd89318e7a)</span></li>

 <li>kwin/libkwineffects/kwingltexture_p.h <span style="color: \
grey">(9675ec60acf96c487e1e8e2f3694db13ee70d02e)</span></li>

 <li>kwin/paintredirector.h <span style="color: \
grey">(c5b3364456d01a0935deedcb3fa2b53d36c38341)</span></li>

 <li>kwin/paintredirector.cpp <span style="color: \
grey">(c8892c8f1576058e9674fe3e2192c4f7fd30da9d)</span></li>

 <li>kwin/scene_opengl.h <span style="color: \
grey">(7971c8314f57907c6f275b30a3d6647a245df731)</span></li>

 <li>kwin/scene_opengl.cpp <span style="color: \
grey">(3185c9eca7784e69c9a27a03904dccd984c4a2e3)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/109090/diff/" style="margin-left: \
3em;">View Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>



_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic