Index: gpu/command_buffer/build_gles2_cmd_buffer.py |
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py |
index e826abd08186e5908f5f35bda49fdb6cde168cd8..a408db798f28cff0233903702685f5735982165a 100755 |
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py |
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py |
@@ -1176,6 +1176,7 @@ _PEPPER_INTERFACES = [ |
# when they can not be automatically determined. |
# pepper_interface: The pepper interface that is used for this extension |
# invalid_test: False if no invalid test needed. |
+# shadowed: True = the value is shadowed so no glGetXXX call will be made. |
_FUNCTION_INFO = { |
'ActiveTexture': { |
@@ -1563,7 +1564,13 @@ _FUNCTION_INFO = { |
'decoder_func': 'DoGetBooleanv', |
'gl_test_func': 'glGetBooleanv', |
}, |
- 'GetBufferParameteriv': {'type': 'GETn', 'result': ['SizedResult<GLint>']}, |
+ 'GetBufferParameteriv': { |
+ 'type': 'GETn', |
+ 'result': ['SizedResult<GLint>'], |
+ 'decoder_func': 'DoGetBufferParameteriv', |
+ 'expectation': False, |
+ 'shadowed': True, |
+ }, |
'GetError': { |
'type': 'Is', |
'decoder_func': 'GetGLError', |
@@ -4345,11 +4352,19 @@ class GETnHandler(TypeHandler): |
if (result->size != 0) { |
return error::kInvalidArguments; |
} |
- CopyRealGLErrorsToWrapper(); |
""" |
+ shadowed = func.GetInfo('shadowed') |
+ if not shadowed: |
+ file.Write(" CopyRealGLErrorsToWrapper();\n"); |
file.Write(code) |
func.WriteHandlerImplementation(file) |
- code = """ GLenum error = glGetError(); |
+ if shadowed: |
+ code = """ result->SetNumResults(num_values); |
+ return error::kNoError; |
+} |
+""" |
+ else: |
+ code = """ GLenum error = glGetError(); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
} else { |