summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/build_gles2_cmd_buffer.py
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-16 19:19:39 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-16 19:19:39 +0000
commit43ecf3770972226c55ec7b813ce6dece8f4fc259 (patch)
tree842372a2747ac9854cbd1197554609b47cbff10d /gpu/command_buffer/build_gles2_cmd_buffer.py
parent61f5d33b82980dbd74167a7f81f9a379678f8096 (diff)
downloadchromium_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/command_buffer/build_gles2_cmd_buffer.py')
-rwxr-xr-xgpu/command_buffer/build_gles2_cmd_buffer.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index cf88bd9..66d15e7 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -208,6 +208,7 @@ GL_APICALL void GL_APIENTRY glUnmapBufferSubData (const void* mem);
GL_APICALL void* GL_APIENTRY glMapTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLenum access);
GL_APICALL void GL_APIENTRY glUnmapTexSubImage2D (const void* mem);
GL_APICALL void GL_APIENTRY glCopyTextureToParentTexture (GLidBindTexture client_child_id, GLidBindTexture client_parent_id);
+GL_APICALL void GL_APIENTRY glResizeCHROMIUM (GLuint width, GLuint height);
"""
# This is the list of all commmands that will be generated and their Id.
@@ -408,6 +409,7 @@ _CMD_ID_TABLE = {
'RenderbufferStorageMultisampleEXT': 445,
'BlitFramebufferEXT': 446,
'CopyTextureToParentTexture': 447,
+ 'ResizeCHROMIUM': 448,
}
# This is a list of enum names and their valid values. It is used to map
@@ -1541,6 +1543,10 @@ _FUNCTION_INFO = {
'decoder_func': 'DoCopyTextureToParentTexture',
'unit_test': False
},
+ 'ResizeCHROMIUM': {
+ 'decoder_func': 'DoResizeCHROMIUM',
+ 'unit_test': False
+ },
}