| 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 {
|
|
|