Index: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
index 09d07c0b587862b0d8f9769f504db5bede9bd5df..6f21f569e9ddc2a5b0078664ea099336a8b4f8a3 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h |
@@ -1381,11 +1381,9 @@ error::Error GLES2DecoderImpl::HandleGetBooleanv(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
DoGetBooleanv(pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetBooleanv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetBooleanv", ""); |
} |
return error::kNoError; |
} |
@@ -1463,11 +1461,9 @@ error::Error GLES2DecoderImpl::HandleGetFloatv(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
DoGetFloatv(pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetFloatv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetFloatv", ""); |
} |
return error::kNoError; |
} |
@@ -1512,11 +1508,9 @@ error::Error GLES2DecoderImpl::HandleGetFramebufferAttachmentParameteriv( |
return error::kInvalidArguments; |
} |
DoGetFramebufferAttachmentParameteriv(target, attachment, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetFramebufferAttachmentParameteriv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetFramebufferAttachmentParameteriv", ""); |
} |
return error::kNoError; |
} |
@@ -1544,11 +1538,9 @@ error::Error GLES2DecoderImpl::HandleGetInteger64v(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
DoGetInteger64v(pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetInteger64v"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetInteger64v", ""); |
} |
return error::kNoError; |
} |
@@ -1577,11 +1569,9 @@ error::Error GLES2DecoderImpl::HandleGetIntegeri_v(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
glGetIntegeri_v(pname, index, data); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetIntegeri_v"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetIntegeri_v", ""); |
} |
return error::kNoError; |
} |
@@ -1611,11 +1601,9 @@ error::Error GLES2DecoderImpl::HandleGetInteger64i_v( |
return error::kInvalidArguments; |
} |
glGetInteger64i_v(pname, index, data); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetInteger64i_v"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetInteger64i_v", ""); |
} |
return error::kNoError; |
} |
@@ -1645,11 +1633,9 @@ error::Error GLES2DecoderImpl::HandleGetIntegerv(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
DoGetIntegerv(pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetIntegerv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetIntegerv", ""); |
} |
return error::kNoError; |
} |
@@ -1668,7 +1654,23 @@ error::Error GLES2DecoderImpl::HandleGetInternalformativ( |
GLsizei bufSize = static_cast<GLsizei>(c.bufSize); |
typedef cmds::GetInternalformativ::Result Result; |
GLsizei num_values = 0; |
- GetNumValuesReturnedForGLGet(pname, &num_values); |
+ if (bufSize > 0) { |
+ // Sanity check for |bufSize| and set its upbound. |
+ GLint value = 0; |
+ LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetInternalformativ"); |
+ glGetInternalformativ(target, format, GL_NUM_SAMPLE_COUNTS, 1, &value); |
piman
2015/06/01 21:29:37
GL_NUM_SAMPLE_COUNTS is only involved if pname is
|
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetInternalformativ"); |
+ if (error != GL_NO_ERROR) { |
+ return error::kNoError; |
+ } |
+ if (value < bufSize) { |
+ bufSize = value; |
+ } |
+ } |
+ |
+ if (bufSize > 0) { |
+ num_values = static_cast<GLsizei>(bufSize); |
+ } |
Result* result = GetSharedMemoryAs<Result*>( |
c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values)); |
GLint* params = result ? result->GetData() : NULL; |
@@ -1681,11 +1683,9 @@ error::Error GLES2DecoderImpl::HandleGetInternalformativ( |
return error::kInvalidArguments; |
} |
glGetInternalformativ(target, format, pname, bufSize, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetInternalformativ"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetInternalformativ", ""); |
} |
return error::kNoError; |
} |
@@ -1716,11 +1716,9 @@ error::Error GLES2DecoderImpl::HandleGetProgramiv(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
DoGetProgramiv(program, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetProgramiv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetProgramiv", ""); |
} |
return error::kNoError; |
} |
@@ -1758,11 +1756,9 @@ error::Error GLES2DecoderImpl::HandleGetRenderbufferParameteriv( |
return error::kInvalidArguments; |
} |
DoGetRenderbufferParameteriv(target, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetRenderbufferParameteriv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetRenderbufferParameteriv", ""); |
} |
return error::kNoError; |
} |
@@ -1797,11 +1793,9 @@ error::Error GLES2DecoderImpl::HandleGetSamplerParameterfv( |
return error::kNoError; |
} |
glGetSamplerParameterfv(sampler, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetSamplerParameterfv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetSamplerParameterfv", ""); |
} |
return error::kNoError; |
} |
@@ -1836,11 +1830,9 @@ error::Error GLES2DecoderImpl::HandleGetSamplerParameteriv( |
return error::kNoError; |
} |
glGetSamplerParameteriv(sampler, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetSamplerParameteriv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetSamplerParameteriv", ""); |
} |
return error::kNoError; |
} |
@@ -1871,11 +1863,9 @@ error::Error GLES2DecoderImpl::HandleGetShaderiv(uint32_t immediate_data_size, |
return error::kInvalidArguments; |
} |
DoGetShaderiv(shader, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetShaderiv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetShaderiv", ""); |
} |
return error::kNoError; |
} |
@@ -1909,11 +1899,9 @@ error::Error GLES2DecoderImpl::HandleGetSynciv(uint32_t immediate_data_size, |
return error::kNoError; |
} |
glGetSynciv(service_sync, pname, num_values, nullptr, values); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetSynciv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetSynciv", ""); |
} |
return error::kNoError; |
} |
@@ -1949,11 +1937,9 @@ error::Error GLES2DecoderImpl::HandleGetTexParameterfv( |
return error::kInvalidArguments; |
} |
DoGetTexParameterfv(target, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetTexParameterfv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetTexParameterfv", ""); |
} |
return error::kNoError; |
} |
@@ -1989,11 +1975,9 @@ error::Error GLES2DecoderImpl::HandleGetTexParameteriv( |
return error::kInvalidArguments; |
} |
DoGetTexParameteriv(target, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetTexParameteriv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetTexParameteriv", ""); |
} |
return error::kNoError; |
} |
@@ -2025,11 +2009,9 @@ error::Error GLES2DecoderImpl::HandleGetVertexAttribfv( |
return error::kInvalidArguments; |
} |
DoGetVertexAttribfv(index, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetVertexAttribfv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetVertexAttribfv", ""); |
} |
return error::kNoError; |
} |
@@ -2061,11 +2043,9 @@ error::Error GLES2DecoderImpl::HandleGetVertexAttribiv( |
return error::kInvalidArguments; |
} |
DoGetVertexAttribiv(index, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetVertexAttribiv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetVertexAttribiv", ""); |
} |
return error::kNoError; |
} |
@@ -2095,11 +2075,9 @@ error::Error GLES2DecoderImpl::HandleGetVertexAttribIiv( |
return error::kInvalidArguments; |
} |
DoGetVertexAttribIiv(index, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetVertexAttribIiv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetVertexAttribIiv", ""); |
} |
return error::kNoError; |
} |
@@ -2129,11 +2107,9 @@ error::Error GLES2DecoderImpl::HandleGetVertexAttribIuiv( |
return error::kInvalidArguments; |
} |
DoGetVertexAttribIuiv(index, pname, params); |
- GLenum error = glGetError(); |
+ GLenum error = LOCAL_PEEK_GL_ERROR("GetVertexAttribIuiv"); |
if (error == GL_NO_ERROR) { |
result->SetNumResults(num_values); |
- } else { |
- LOCAL_SET_GL_ERROR(error, "GetVertexAttribIuiv", ""); |
} |
return error::kNoError; |
} |