| 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 18b280865b86c74908922e10c0bf675bf32fe7b1..62d0391c508bf3d2e7096e3d790bc60472f6208e 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
| @@ -1492,6 +1492,105 @@ error::Error GLES2DecoderImpl::HandleGetFramebufferAttachmentParameteriv(
|
| return error::kNoError;
|
| }
|
|
|
| +error::Error GLES2DecoderImpl::HandleGetInteger64v(uint32_t immediate_data_size,
|
| + const void* cmd_data) {
|
| + if (!unsafe_es3_apis_enabled())
|
| + return error::kUnknownCommand;
|
| + const gles2::cmds::GetInteger64v& c =
|
| + *static_cast<const gles2::cmds::GetInteger64v*>(cmd_data);
|
| + (void)c;
|
| + GLenum pname = static_cast<GLenum>(c.pname);
|
| + typedef cmds::GetInteger64v::Result Result;
|
| + GLsizei num_values = 0;
|
| + GetNumValuesReturnedForGLGet(pname, &num_values);
|
| + Result* result = GetSharedMemoryAs<Result*>(
|
| + c.params_shm_id, c.params_shm_offset, Result::ComputeSize(num_values));
|
| + GLint64* params = result ? result->GetData() : NULL;
|
| + if (params == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetInteger64v");
|
| + // Check that the client initialized the result.
|
| + if (result->size != 0) {
|
| + return error::kInvalidArguments;
|
| + }
|
| + DoGetInteger64v(pname, params);
|
| + GLenum error = glGetError();
|
| + if (error == GL_NO_ERROR) {
|
| + result->SetNumResults(num_values);
|
| + } else {
|
| + LOCAL_SET_GL_ERROR(error, "GetInteger64v", "");
|
| + }
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleGetIntegeri_v(uint32_t immediate_data_size,
|
| + const void* cmd_data) {
|
| + if (!unsafe_es3_apis_enabled())
|
| + return error::kUnknownCommand;
|
| + const gles2::cmds::GetIntegeri_v& c =
|
| + *static_cast<const gles2::cmds::GetIntegeri_v*>(cmd_data);
|
| + (void)c;
|
| + GLenum pname = static_cast<GLenum>(c.pname);
|
| + GLuint index = static_cast<GLuint>(c.index);
|
| + typedef cmds::GetIntegeri_v::Result Result;
|
| + GLsizei num_values = 0;
|
| + GetNumValuesReturnedForGLGet(pname, &num_values);
|
| + Result* result = GetSharedMemoryAs<Result*>(c.data_shm_id, c.data_shm_offset,
|
| + Result::ComputeSize(num_values));
|
| + GLint* data = result ? result->GetData() : NULL;
|
| + if (data == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetIntegeri_v");
|
| + // Check that the client initialized the result.
|
| + if (result->size != 0) {
|
| + return error::kInvalidArguments;
|
| + }
|
| + glGetIntegeri_v(pname, index, data);
|
| + GLenum error = glGetError();
|
| + if (error == GL_NO_ERROR) {
|
| + result->SetNumResults(num_values);
|
| + } else {
|
| + LOCAL_SET_GL_ERROR(error, "GetIntegeri_v", "");
|
| + }
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleGetInteger64i_v(
|
| + uint32_t immediate_data_size,
|
| + const void* cmd_data) {
|
| + if (!unsafe_es3_apis_enabled())
|
| + return error::kUnknownCommand;
|
| + const gles2::cmds::GetInteger64i_v& c =
|
| + *static_cast<const gles2::cmds::GetInteger64i_v*>(cmd_data);
|
| + (void)c;
|
| + GLenum pname = static_cast<GLenum>(c.pname);
|
| + GLuint index = static_cast<GLuint>(c.index);
|
| + typedef cmds::GetInteger64i_v::Result Result;
|
| + GLsizei num_values = 0;
|
| + GetNumValuesReturnedForGLGet(pname, &num_values);
|
| + Result* result = GetSharedMemoryAs<Result*>(c.data_shm_id, c.data_shm_offset,
|
| + Result::ComputeSize(num_values));
|
| + GLint64* data = result ? result->GetData() : NULL;
|
| + if (data == NULL) {
|
| + return error::kOutOfBounds;
|
| + }
|
| + LOCAL_COPY_REAL_GL_ERRORS_TO_WRAPPER("GetInteger64i_v");
|
| + // Check that the client initialized the result.
|
| + if (result->size != 0) {
|
| + return error::kInvalidArguments;
|
| + }
|
| + glGetInteger64i_v(pname, index, data);
|
| + GLenum error = glGetError();
|
| + if (error == GL_NO_ERROR) {
|
| + result->SetNumResults(num_values);
|
| + } else {
|
| + LOCAL_SET_GL_ERROR(error, "GetInteger64i_v", "");
|
| + }
|
| + return error::kNoError;
|
| +}
|
| +
|
| error::Error GLES2DecoderImpl::HandleGetIntegerv(uint32_t immediate_data_size,
|
| const void* cmd_data) {
|
| const gles2::cmds::GetIntegerv& c =
|
| @@ -4879,6 +4978,14 @@ bool GLES2DecoderImpl::SetCapabilityState(GLenum cap, bool enabled) {
|
| return true;
|
| }
|
| return false;
|
| + case GL_PRIMITIVE_RESTART_FIXED_INDEX:
|
| + state_.enable_flags.primitive_restart_fixed_index = enabled;
|
| + if (state_.enable_flags.cached_primitive_restart_fixed_index != enabled ||
|
| + state_.ignore_cached_state) {
|
| + state_.enable_flags.cached_primitive_restart_fixed_index = enabled;
|
| + return true;
|
| + }
|
| + return false;
|
| default:
|
| NOTREACHED();
|
| return false;
|
|
|