~compiz-team/compiz/0.9.11

« back to all changes in this revision

Viewing changes to plugins/opengl/src/privates.h

  • Committer: CI Train Bot
  • Author(s): Stephen M. Webb
  • Date: 2015-01-22 14:51:41 UTC
  • mfrom: (3869.1.2 lp-269904-trusty)
  • Revision ID: ci-train-bot@canonical.com-20150122145141-m6fpm6djd2s54try
Use the GL_EXT_x11_sync_object OpenGL extension to synchronize updates with X11 to avoid unrefreshed parts of the screen on Nvidia hardware. Fixes: #269904
Approved by: Christopher Townsend

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
 
36
36
#include <composite/composite.h>
37
37
#include <opengl/opengl.h>
 
38
#include <opengl/xtoglsync.h>
38
39
#include <core/atoms.h>
39
40
#include <core/configurerequestbuffer.h>
40
41
 
184
185
 
185
186
        void updateView ();
186
187
 
 
188
        bool syncObjectsInitialized () const;
 
189
        bool syncObjectsEnabled ();
 
190
        void initXToGLSyncs ();
 
191
        void destroyXToGLSyncs ();
 
192
        void updateXToGLSyncs ();
 
193
 
187
194
        bool driverIsBlacklisted (const char *regex) const;
188
195
 
189
196
        bool postprocessRequiredForCurrentFrame ();
253
260
        bool postprocessingRequired;
254
261
        mutable CompString prevRegex;
255
262
        mutable bool       prevBlacklisted;
 
263
 
 
264
        std::vector<XToGLSync*> xToGLSyncs;
 
265
        std::map<XSyncAlarm, XToGLSync*> alarmToSync;
 
266
        std::vector<XToGLSync*>::size_type currentSyncNum;
 
267
        XToGLSync *currentSync;
 
268
        std::vector<XToGLSync*>::size_type warmupSyncs;
256
269
};
257
270
 
258
271
class PrivateGLWindow :