summaryrefslogtreecommitdiffstats
path: root/opengl.h
Commit message (Collapse)AuthorAgeFilesLines
* Improvement: Separate GLX parts from session_t & Attempt to fix #217Richard Grenville2014-07-281-1/+1
| | | | | | | - Separate GLX parts from session_t into glx_session_t. - Add --rererdir-on-root-change and --glx-reinit-on-root-change, as possible solutions for #217. Thanks to jlindgren90 for reporting.
* whitespace cleanupMichael Reed2014-07-041-1/+1
|
* Bug fix #181: Add --xrender-sync{,-fence}Richard Grenville2014-03-171-0/+2
| | | | | | | | | | - Add --xrender-sync{,-fence} to deal with redraw lag issue on GLX backend. --xrender-sync-fence requires a sufficiently new xorg-server and libXext. NO_XSYNC=1 may be used to disable it at compile time. Thanks to tchebb for reporting and everybody else for testing. (#181) - A bit code clean-up. Replace a few XSync() with XFlush() to minimize the latency.
* Bug fix #143: GLSL shader error on European localesRichard Grenville2013-09-151-0/+1
| | | | | Set LC_NUMERIC=C when generating GLSL shader strings to avoid decimal point issues on European locales. Thanks to hiciu for reporting.
* Misc: Add DEBUG_GLX_PAINTREGRichard Grenville2013-05-091-0/+8
| | | | | - GLX: Add DEBUG_GLX_PAINTREG, for debugging painting region issues, for p4ddy's problem.
* Misc: Fix wrong description & DEBUG_GLX_ERRRichard Grenville2013-04-251-0/+48
| | | | | | | | - Fix description of "opengl" VSync. - Add DEBUG_GLX_ERR to check for OpenGL errors. - Update man page.
* Bug fix: GLX backend incompatibility with mesa & othersRichard Grenville2013-03-161-8/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix a bug that glx_bind_pixmap() doesn't work with mesa drivers. Thanks to Janhouse and mkraemer for reporting. (#7) - Use stencil buffer to attempt to eliminate potential double-paint issue in glx_render(). X Fixes doesn't guarantee the rectangles in a region do not overlap, and this may cause some regions to be painted twice, which would be a problem if we are painting transparent things. Now the target window must have a stencil buffer. Compiz uses its own region implementation to deal with this, but as a lightweight compositor we can't really do the same. It may have a positive or negative effort over performance. Callgrind result indicates basically no change in performance, but this may or may not be true. - Correctly distinguish GL extensions and GLX extensions. Sorry. :-D - Handle screen size. Thanks to tsmithe for reporting. (#7) - Rename OpenGL backend to GLX backend, because, we might have a EGL backend someday. - Add configuration file option `backend` to specify backend. Add `backend` to D-Bus `opts_get`. - Add OpenGL shader compilation code, but currently unused. - Minor adjustments. - Known issue: Window content doesn't get updated in VirtualBox, probably because its OpenGL implementation requires constant rebinding of texture. But that's really slow... - Known issue: Blur feature is still unimplemented in GLX backend.
* Feature: OpenGL backendRichard Grenville2013-03-151-0/+46
- Add experimental OpenGL backend (--opengl). --blur-background is currently not possible with this backend, because I'm still trying to find a proper way to do blur with OpenGL. Flipping backend on-the-fly is really hard, so it isn't supported right now. No configuration file option exists to enable this, because it isn't stable enough. - Add `opengl-swc` VSync method that uses SGI_swap_control to control buffer swap, with OpenGL backend. (#7) - Fix a potential read-from-freed-memory issue in paint_all(). - Correctly reattach GLX context after fork. - Dump error text in error(). Add GLX error code handling. - Code clean-up. - Known issues: Region operations take a lot of time in glx_render(). I'm hesitating about what to do.