diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-16 19:19:39 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-16 19:19:39 +0000 |
commit | 43ecf3770972226c55ec7b813ce6dece8f4fc259 (patch) | |
tree | 842372a2747ac9854cbd1197554609b47cbff10d /gpu/GLES2 | |
parent | 61f5d33b82980dbd74167a7f81f9a379678f8096 (diff) | |
download | chromium_src-43ecf3770972226c55ec7b813ce6dece8f4fc259.zip chromium_src-43ecf3770972226c55ec7b813ce6dece8f4fc259.tar.gz chromium_src-43ecf3770972226c55ec7b813ce6dece8f4fc259.tar.bz2 |
Added glResizeCHRM to resize the drawable associated with the command buffer.
This new command is used to pipe resize requests to the GPU process. It will allow is to synchronize the resize with the drawing. Specifically, if we resize at the wrong time, we will damage the backbuffer, causing visual artefacts (http://code.google.com/p/chromium/issues/detail?id=54430).
The resize request gets sent to the GLContext. Each backend will implement it differently. At this point it's set as a NOP.
-I will do an XResizeWindow on Linux.
-Nat will do a resize on Windows.
-Nico (or me?) will refactor the MacOSX code to use this path.
There is one line webkit patch that's necessary to activate this code (removing an #ifdef).
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/4671003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66307 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/GLES2')
-rw-r--r-- | gpu/GLES2/gl2ext.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gpu/GLES2/gl2ext.h b/gpu/GLES2/gl2ext.h index 35ac011..ccfa910 100644 --- a/gpu/GLES2/gl2ext.h +++ b/gpu/GLES2/gl2ext.h @@ -909,6 +909,19 @@ typedef void* (GL_APIENTRYP PFNGLCOPYTEXTURETOPARENTTEXTURE) (GLuint id, GLuint #endif #endif +/* GL_CHROMIUM_resize */ +#ifndef GL_CHROMIUM_resize +#define GL_CHROMIUM_resize 1 +#ifdef GL_GLEXT_PROTOTYPES +#define glResizeCHROMIUM GLES2_GET_FUN(ResizeCHROMIUM) +#if !defined(GLES2_USE_CPP_BINDINGS) +GL_APICALL void GL_APIENTRY glResizeCHROMIUM (GLuint width, GLuint height); +#endif +#else +typedef void (GL_APIENTRYP PFNGLRESIZECHROMIUM) (GLuint width, GLuint height); +#endif +#endif + #ifdef __cplusplus } |