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

List:       kwin
Subject:    Re: Review Request: Provide OpenGL over Egl
From:       Martin_Gräßlin <kde () martin-graesslin ! com>
Date:       2012-09-30 9:55:04
Message-ID: 20120930095504.4478.43204 () 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/106632/
-----------------------------------------------------------

(Updated Sept. 30, 2012, 9:55 a.m.)


Review request for kwin.


Changes
-------

* renamed the enum
* merged the function resolving to have only one block by adjusting the def=
ines, needed to adjust the block for framebuffer_object as that did not yet=
 use the define


Description (updated)
-------

Provide OpenGL over Egl

The Egl backend is decoupled from the OpenGL ES build option which makes
it possible to use it as a replacement for glx.

To make this possible a new build flag is added when egl is available at
compile time and any egl specific code is now ifdefed with this flag
instead of the gles flag. In addition at runtime a windowing system enum
value is passed to the various detect methods to have egl/glx specific
detection for e.g. function pointer resolving.

By default egl is used if compiled with OpenGL ES, otherwise glx is used.
But in the non-gles case the windowing system can be selected through the
new environment variable KWIN_OPENGL_INTERFACE. Setting this variable to
"egl" the EglOnXBackend is used.

REVIEW: 106632


Diffs (updated)
-----

  cmake/modules/FindOpenGLES.cmake 6eb9d0d9035499117b7bdb1800c1591c1914ff13 =

  kwin/CMakeLists.txt 458c341f639cbf7457497bc73f7e62c17ec4fd44 =

  kwin/eglonxbackend.cpp 8797c8aaa2aa9f0de198bc7f883fddfb8d215091 =

  kwin/glxbackend.cpp cef88d433a09c915b832f4661779735b98722433 =

  kwin/libkwineffects/CMakeLists.txt 14a2747d6ee283a72a746a24ba5507b393ef7f=
ee =

  kwin/libkwineffects/kwinconfig.h.cmake a8586cc9b6de377936a5112424808c8e3f=
ae64a0 =

  kwin/libkwineffects/kwinglobals.h 8ea6872c5eeb1d6622cda961e0cc1e72ccf62e6=
0 =

  kwin/libkwineffects/kwinglplatform.h 14555a2bd4dfa658c3e89a1555a0531643d9=
e6df =

  kwin/libkwineffects/kwinglplatform.cpp 26341e4d8b46d793ea4a36e1a74f3a127f=
75b924 =

  kwin/libkwineffects/kwinglutils.h 445ddc7ccc3fea75fc75d0f12507bc69f257e53=
3 =

  kwin/libkwineffects/kwinglutils.cpp 5abae528fcf06d13575eac8a0c8cb3e114a24=
0d6 =

  kwin/libkwineffects/kwinglutils_funcs.h 4f8125ab1630b4f95155d9e23ad8c6e92=
f27f9a0 =

  kwin/libkwineffects/kwinglutils_funcs.cpp a67c7203b3ac3b0b6dcddeb38c7957e=
3c016d90d =

  kwin/scene_opengl.cpp 164d463eaef2d1dcf1b5bd7b0f8e32dda1265b13 =


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


Testing
-------

only tested on Mesa, no idea how it behaves on blobs (Thomas?). That KWin g=
ets linked against egl should not matter on the blobs but actually using co=
uld cause problems, though I expect that it uses llvmpipe - nouveau/radeon =
should not be loaded as the KMS module is missing.


Thanks,

Martin Gr=C3=A4=C3=9Flin


[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/106632/">http://git.reviewboard.kde.org/r/106632/</a>
  </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.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 Sept. 30, 2012, 9:55 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;">* renamed the enum
* merged the function resolving to have only one block by adjusting the defines, \
needed to adjust the block for framebuffer_object as that did not yet use the \
define</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;">Provide OpenGL over Egl

The Egl backend is decoupled from the OpenGL ES build option which makes
it possible to use it as a replacement for glx.

To make this possible a new build flag is added when egl is available at
compile time and any egl specific code is now ifdefed with this flag
instead of the gles flag. In addition at runtime a windowing system enum
value is passed to the various detect methods to have egl/glx specific
detection for e.g. function pointer resolving.

By default egl is used if compiled with OpenGL ES, otherwise glx is used.
But in the non-gles case the windowing system can be selected through the
new environment variable KWIN_OPENGL_INTERFACE. Setting this variable to
&quot;egl&quot; the EglOnXBackend is used.

REVIEW: 106632</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;">only tested on Mesa, no idea how it behaves on blobs (Thomas?). That \
KWin gets linked against egl should not matter on the blobs but actually using could \
cause problems, though I expect that it uses llvmpipe - nouveau/radeon should not be \
loaded as the KMS module is missing.</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>cmake/modules/FindOpenGLES.cmake <span style="color: \
grey">(6eb9d0d9035499117b7bdb1800c1591c1914ff13)</span></li>

 <li>kwin/CMakeLists.txt <span style="color: \
grey">(458c341f639cbf7457497bc73f7e62c17ec4fd44)</span></li>

 <li>kwin/eglonxbackend.cpp <span style="color: \
grey">(8797c8aaa2aa9f0de198bc7f883fddfb8d215091)</span></li>

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

 <li>kwin/libkwineffects/CMakeLists.txt <span style="color: \
grey">(14a2747d6ee283a72a746a24ba5507b393ef7fee)</span></li>

 <li>kwin/libkwineffects/kwinconfig.h.cmake <span style="color: \
grey">(a8586cc9b6de377936a5112424808c8e3fae64a0)</span></li>

 <li>kwin/libkwineffects/kwinglobals.h <span style="color: \
grey">(8ea6872c5eeb1d6622cda961e0cc1e72ccf62e60)</span></li>

 <li>kwin/libkwineffects/kwinglplatform.h <span style="color: \
grey">(14555a2bd4dfa658c3e89a1555a0531643d9e6df)</span></li>

 <li>kwin/libkwineffects/kwinglplatform.cpp <span style="color: \
grey">(26341e4d8b46d793ea4a36e1a74f3a127f75b924)</span></li>

 <li>kwin/libkwineffects/kwinglutils.h <span style="color: \
grey">(445ddc7ccc3fea75fc75d0f12507bc69f257e533)</span></li>

 <li>kwin/libkwineffects/kwinglutils.cpp <span style="color: \
grey">(5abae528fcf06d13575eac8a0c8cb3e114a240d6)</span></li>

 <li>kwin/libkwineffects/kwinglutils_funcs.h <span style="color: \
grey">(4f8125ab1630b4f95155d9e23ad8c6e92f27f9a0)</span></li>

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

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

</ul>

<p><a href="http://git.reviewboard.kde.org/r/106632/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