Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc

Issue 2275203002: Make command buffer commands and immediate data volatile (Closed)
Patch Set: std::copy->const_cast+memcpy Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
index 1da15c8bbe2e2d50e055202219e51e0e58dae575..cd9ab49481440c05de5a5199a9f0d7dd395e754b 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
@@ -10,9 +10,10 @@ namespace gles2 {
// Custom Handlers
error::Error GLES2DecoderPassthroughImpl::HandleBindAttribLocationBucket(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BindAttribLocationBucket& c =
- *static_cast<const gles2::cmds::BindAttribLocationBucket*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BindAttribLocationBucket& c =
+ *static_cast<const volatile gles2::cmds::BindAttribLocationBucket*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint index = static_cast<GLuint>(c.index);
Bucket* bucket = GetBucket(c.name_bucket_id);
@@ -32,9 +33,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleBindAttribLocationBucket(
error::Error GLES2DecoderPassthroughImpl::HandleBufferData(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BufferData& c =
- *static_cast<const gles2::cmds::BufferData*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BufferData& c =
+ *static_cast<const volatile gles2::cmds::BufferData*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLsizeiptr size = static_cast<GLsizeiptr>(c.size);
uint32_t data_shm_id = static_cast<uint32_t>(c.data_shm_id);
@@ -56,9 +57,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleBufferData(
error::Error GLES2DecoderPassthroughImpl::HandleClientWaitSync(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ClientWaitSync& c =
- *static_cast<const gles2::cmds::ClientWaitSync*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ClientWaitSync& c =
+ *static_cast<const volatile gles2::cmds::ClientWaitSync*>(cmd_data);
const GLuint sync = static_cast<GLuint>(c.sync);
const GLbitfield flags = static_cast<GLbitfield>(c.flags);
const GLuint64 timeout = c.timeout();
@@ -77,9 +78,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleClientWaitSync(
error::Error GLES2DecoderPassthroughImpl::HandleCreateProgram(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::CreateProgram& c =
- *static_cast<const gles2::cmds::CreateProgram*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::CreateProgram& c =
+ *static_cast<const volatile gles2::cmds::CreateProgram*>(cmd_data);
GLuint client_id = static_cast<GLuint>(c.client_id);
error::Error error = DoCreateProgram(client_id);
if (error != error::kNoError) {
@@ -90,9 +91,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleCreateProgram(
error::Error GLES2DecoderPassthroughImpl::HandleCreateShader(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::CreateShader& c =
- *static_cast<const gles2::cmds::CreateShader*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::CreateShader& c =
+ *static_cast<const volatile gles2::cmds::CreateShader*>(cmd_data);
GLenum type = static_cast<GLenum>(c.type);
GLuint client_id = static_cast<GLuint>(c.client_id);
error::Error error = DoCreateShader(type, client_id);
@@ -104,9 +105,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleCreateShader(
error::Error GLES2DecoderPassthroughImpl::HandleFenceSync(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::FenceSync& c =
- *static_cast<const gles2::cmds::FenceSync*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::FenceSync& c =
+ *static_cast<const volatile gles2::cmds::FenceSync*>(cmd_data);
GLenum condition = static_cast<GLenum>(c.condition);
GLbitfield flags = static_cast<GLbitfield>(c.flags);
GLuint client_id = static_cast<GLuint>(c.client_id);
@@ -119,9 +120,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleFenceSync(
error::Error GLES2DecoderPassthroughImpl::HandleDrawArrays(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DrawArrays& c =
- *static_cast<const gles2::cmds::DrawArrays*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::DrawArrays& c =
+ *static_cast<const volatile gles2::cmds::DrawArrays*>(cmd_data);
GLenum mode = static_cast<GLenum>(c.mode);
GLint first = static_cast<GLint>(c.first);
GLsizei count = static_cast<GLsizei>(c.count);
@@ -134,9 +135,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleDrawArrays(
error::Error GLES2DecoderPassthroughImpl::HandleDrawElements(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DrawElements& c =
- *static_cast<const gles2::cmds::DrawElements*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::DrawElements& c =
+ *static_cast<const volatile gles2::cmds::DrawElements*>(cmd_data);
GLenum mode = static_cast<GLenum>(c.mode);
GLsizei count = static_cast<GLsizei>(c.count);
GLenum type = static_cast<GLenum>(c.type);
@@ -151,9 +152,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleDrawElements(
error::Error GLES2DecoderPassthroughImpl::HandleGetActiveAttrib(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetActiveAttrib& c =
- *static_cast<const gles2::cmds::GetActiveAttrib*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetActiveAttrib& c =
+ *static_cast<const volatile gles2::cmds::GetActiveAttrib*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint index = static_cast<GLuint>(c.index);
uint32_t name_bucket_id = c.name_bucket_id;
@@ -183,9 +184,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetActiveAttrib(
error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniform(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetActiveUniform& c =
- *static_cast<const gles2::cmds::GetActiveUniform*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetActiveUniform& c =
+ *static_cast<const volatile gles2::cmds::GetActiveUniform*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint index = static_cast<GLuint>(c.index);
uint32_t name_bucket_id = c.name_bucket_id;
@@ -215,9 +216,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniform(
error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniformBlockiv(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetActiveUniformBlockiv& c =
- *static_cast<const gles2::cmds::GetActiveUniformBlockiv*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetActiveUniformBlockiv& c =
+ *static_cast<const volatile gles2::cmds::GetActiveUniformBlockiv*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint uniformBlockIndex = static_cast<GLuint>(c.index);
GLenum pname = static_cast<GLenum>(c.pname);
@@ -242,9 +244,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniformBlockiv(
error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniformBlockName(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetActiveUniformBlockName& c =
- *static_cast<const gles2::cmds::GetActiveUniformBlockName*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetActiveUniformBlockName& c =
+ *static_cast<const volatile gles2::cmds::GetActiveUniformBlockName*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint uniformBlockIndex = static_cast<GLuint>(c.index);
uint32_t name_bucket_id = c.name_bucket_id;
@@ -274,9 +277,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniformBlockName(
error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniformsiv(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetActiveUniformsiv& c =
- *static_cast<const gles2::cmds::GetActiveUniformsiv*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetActiveUniformsiv& c =
+ *static_cast<const volatile gles2::cmds::GetActiveUniformsiv*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLenum pname = static_cast<GLenum>(c.pname);
Bucket* bucket = GetBucket(c.indices_bucket_id);
@@ -311,9 +314,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetActiveUniformsiv(
error::Error GLES2DecoderPassthroughImpl::HandleGetAttachedShaders(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetAttachedShaders& c =
- *static_cast<const gles2::cmds::GetAttachedShaders*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetAttachedShaders& c =
+ *static_cast<const volatile gles2::cmds::GetAttachedShaders*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
typedef cmds::GetAttachedShaders::Result Result;
uint32_t maxCount = Result::ComputeMaxResults(c.result_size);
@@ -339,9 +342,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetAttachedShaders(
error::Error GLES2DecoderPassthroughImpl::HandleGetAttribLocation(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetAttribLocation& c =
- *static_cast<const gles2::cmds::GetAttribLocation*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetAttribLocation& c =
+ *static_cast<const volatile gles2::cmds::GetAttribLocation*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
Bucket* bucket = GetBucket(c.name_bucket_id);
if (!bucket) {
@@ -368,9 +371,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetAttribLocation(
error::Error GLES2DecoderPassthroughImpl::HandleGetFragDataLocation(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetFragDataLocation& c =
- *static_cast<const gles2::cmds::GetFragDataLocation*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetFragDataLocation& c =
+ *static_cast<const volatile gles2::cmds::GetFragDataLocation*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
Bucket* bucket = GetBucket(c.name_bucket_id);
if (!bucket) {
@@ -398,9 +401,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetFragDataLocation(
error::Error GLES2DecoderPassthroughImpl::HandleGetInternalformativ(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetInternalformativ& c =
- *static_cast<const gles2::cmds::GetInternalformativ*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetInternalformativ& c =
+ *static_cast<const volatile gles2::cmds::GetInternalformativ*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLenum internalformat = static_cast<GLenum>(c.format);
GLenum pname = static_cast<GLenum>(c.pname);
@@ -425,9 +428,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetInternalformativ(
error::Error GLES2DecoderPassthroughImpl::HandleGetProgramInfoLog(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetProgramInfoLog& c =
- *static_cast<const gles2::cmds::GetProgramInfoLog*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetProgramInfoLog& c =
+ *static_cast<const volatile gles2::cmds::GetProgramInfoLog*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
uint32_t bucket_id = static_cast<uint32_t>(c.bucket_id);
@@ -444,9 +447,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetProgramInfoLog(
error::Error GLES2DecoderPassthroughImpl::HandleGetShaderInfoLog(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetShaderInfoLog& c =
- *static_cast<const gles2::cmds::GetShaderInfoLog*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetShaderInfoLog& c =
+ *static_cast<const volatile gles2::cmds::GetShaderInfoLog*>(cmd_data);
GLuint shader = static_cast<GLuint>(c.shader);
uint32_t bucket_id = static_cast<uint32_t>(c.bucket_id);
@@ -463,9 +466,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetShaderInfoLog(
error::Error GLES2DecoderPassthroughImpl::HandleGetShaderPrecisionFormat(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetShaderPrecisionFormat& c =
- *static_cast<const gles2::cmds::GetShaderPrecisionFormat*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetShaderPrecisionFormat& c =
+ *static_cast<const volatile gles2::cmds::GetShaderPrecisionFormat*>(
+ cmd_data);
GLenum shader_type = static_cast<GLenum>(c.shadertype);
GLenum precision_type = static_cast<GLenum>(c.precisiontype);
typedef cmds::GetShaderPrecisionFormat::Result Result;
@@ -497,9 +501,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetShaderPrecisionFormat(
error::Error GLES2DecoderPassthroughImpl::HandleGetShaderSource(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetShaderSource& c =
- *static_cast<const gles2::cmds::GetShaderSource*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetShaderSource& c =
+ *static_cast<const volatile gles2::cmds::GetShaderSource*>(cmd_data);
GLuint shader = static_cast<GLuint>(c.shader);
uint32_t bucket_id = static_cast<uint32_t>(c.bucket_id);
@@ -517,9 +521,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetShaderSource(
error::Error GLES2DecoderPassthroughImpl::HandleGetString(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetString& c =
- *static_cast<const gles2::cmds::GetString*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetString& c =
+ *static_cast<const volatile gles2::cmds::GetString*>(cmd_data);
GLenum name = static_cast<GLenum>(c.name);
const char* str = nullptr;
@@ -538,9 +542,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetString(
error::Error GLES2DecoderPassthroughImpl::HandleGetTransformFeedbackVarying(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetTransformFeedbackVarying& c =
- *static_cast<const gles2::cmds::GetTransformFeedbackVarying*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetTransformFeedbackVarying& c =
+ *static_cast<const volatile gles2::cmds::GetTransformFeedbackVarying*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint index = static_cast<GLuint>(c.index);
uint32_t name_bucket_id = c.name_bucket_id;
@@ -574,9 +579,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetTransformFeedbackVarying(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformBlockIndex(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformBlockIndex& c =
- *static_cast<const gles2::cmds::GetUniformBlockIndex*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformBlockIndex& c =
+ *static_cast<const volatile gles2::cmds::GetUniformBlockIndex*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
Bucket* bucket = GetBucket(c.name_bucket_id);
if (!bucket) {
@@ -603,9 +608,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformBlockIndex(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformfv(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformfv& c =
- *static_cast<const gles2::cmds::GetUniformfv*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformfv& c =
+ *static_cast<const volatile gles2::cmds::GetUniformfv*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLint location = static_cast<GLint>(c.location);
unsigned int buffer_size = 0;
@@ -629,9 +634,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformfv(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformiv(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformiv& c =
- *static_cast<const gles2::cmds::GetUniformiv*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformiv& c =
+ *static_cast<const volatile gles2::cmds::GetUniformiv*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLint location = static_cast<GLint>(c.location);
unsigned int buffer_size = 0;
@@ -655,9 +660,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformiv(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformuiv(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformuiv& c =
- *static_cast<const gles2::cmds::GetUniformuiv*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformuiv& c =
+ *static_cast<const volatile gles2::cmds::GetUniformuiv*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLint location = static_cast<GLint>(c.location);
unsigned int buffer_size = 0;
@@ -681,9 +686,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformuiv(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformIndices(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformIndices& c =
- *static_cast<const gles2::cmds::GetUniformIndices*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformIndices& c =
+ *static_cast<const volatile gles2::cmds::GetUniformIndices*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
Bucket* bucket = GetBucket(c.names_bucket_id);
if (!bucket) {
@@ -722,9 +727,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformIndices(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformLocation(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformLocation& c =
- *static_cast<const gles2::cmds::GetUniformLocation*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformLocation& c =
+ *static_cast<const volatile gles2::cmds::GetUniformLocation*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
Bucket* bucket = GetBucket(c.name_bucket_id);
if (!bucket) {
@@ -752,9 +757,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformLocation(
error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribPointerv(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetVertexAttribPointerv& c =
- *static_cast<const gles2::cmds::GetVertexAttribPointerv*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetVertexAttribPointerv& c =
+ *static_cast<const volatile gles2::cmds::GetVertexAttribPointerv*>(
+ cmd_data);
GLuint index = static_cast<GLuint>(c.index);
GLenum pname = static_cast<GLenum>(c.pname);
unsigned int buffer_size = 0;
@@ -778,9 +784,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribPointerv(
error::Error GLES2DecoderPassthroughImpl::HandlePixelStorei(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::PixelStorei& c =
- *static_cast<const gles2::cmds::PixelStorei*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::PixelStorei& c =
+ *static_cast<const volatile gles2::cmds::PixelStorei*>(cmd_data);
GLenum pname = static_cast<GLuint>(c.pname);
GLint param = static_cast<GLint>(c.param);
error::Error error = DoPixelStorei(pname, param);
@@ -792,9 +798,9 @@ error::Error GLES2DecoderPassthroughImpl::HandlePixelStorei(
error::Error GLES2DecoderPassthroughImpl::HandleReadPixels(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ReadPixels& c =
- *static_cast<const gles2::cmds::ReadPixels*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ReadPixels& c =
+ *static_cast<const volatile gles2::cmds::ReadPixels*>(cmd_data);
GLint x = static_cast<GLint>(c.x);
GLint y = static_cast<GLint>(c.y);
GLsizei width = static_cast<GLsizei>(c.width);
@@ -847,9 +853,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleReadPixels(
error::Error GLES2DecoderPassthroughImpl::HandleShaderBinary(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ShaderBinary& c =
- *static_cast<const gles2::cmds::ShaderBinary*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ShaderBinary& c =
+ *static_cast<const volatile gles2::cmds::ShaderBinary*>(cmd_data);
GLsizei n = static_cast<GLsizei>(c.n);
GLsizei length = static_cast<GLsizei>(c.length);
uint32_t data_size;
@@ -875,9 +881,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleShaderBinary(
error::Error GLES2DecoderPassthroughImpl::HandleTexImage2D(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::TexImage2D& c =
- *static_cast<const gles2::cmds::TexImage2D*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::TexImage2D& c =
+ *static_cast<const volatile gles2::cmds::TexImage2D*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLint level = static_cast<GLint>(c.level);
GLint internal_format = static_cast<GLint>(c.internalformat);
@@ -911,9 +917,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleTexImage2D(
error::Error GLES2DecoderPassthroughImpl::HandleTexImage3D(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::TexImage3D& c =
- *static_cast<const gles2::cmds::TexImage3D*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::TexImage3D& c =
+ *static_cast<const volatile gles2::cmds::TexImage3D*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLint level = static_cast<GLint>(c.level);
GLint internal_format = static_cast<GLint>(c.internalformat);
@@ -948,9 +954,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleTexImage3D(
error::Error GLES2DecoderPassthroughImpl::HandleTexSubImage2D(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::TexSubImage2D& c =
- *static_cast<const gles2::cmds::TexSubImage2D*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::TexSubImage2D& c =
+ *static_cast<const volatile gles2::cmds::TexSubImage2D*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLint level = static_cast<GLint>(c.level);
GLint xoffset = static_cast<GLint>(c.xoffset);
@@ -979,9 +985,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleTexSubImage2D(
error::Error GLES2DecoderPassthroughImpl::HandleTexSubImage3D(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::TexSubImage3D& c =
- *static_cast<const gles2::cmds::TexSubImage3D*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::TexSubImage3D& c =
+ *static_cast<const volatile gles2::cmds::TexSubImage3D*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLint level = static_cast<GLint>(c.level);
GLint xoffset = static_cast<GLint>(c.xoffset);
@@ -1013,9 +1019,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleTexSubImage3D(
error::Error GLES2DecoderPassthroughImpl::HandleUniformBlockBinding(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::UniformBlockBinding& c =
- *static_cast<const gles2::cmds::UniformBlockBinding*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::UniformBlockBinding& c =
+ *static_cast<const volatile gles2::cmds::UniformBlockBinding*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint index = static_cast<GLuint>(c.index);
GLuint binding = static_cast<GLuint>(c.binding);
@@ -1030,9 +1036,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleUniformBlockBinding(
error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribIPointer(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::VertexAttribIPointer& c =
- *static_cast<const gles2::cmds::VertexAttribIPointer*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::VertexAttribIPointer& c =
+ *static_cast<const volatile gles2::cmds::VertexAttribIPointer*>(cmd_data);
GLuint index = static_cast<GLuint>(c.indx);
GLint size = static_cast<GLint>(c.size);
GLenum type = static_cast<GLenum>(c.type);
@@ -1050,9 +1056,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribIPointer(
error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribPointer(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::VertexAttribPointer& c =
- *static_cast<const gles2::cmds::VertexAttribPointer*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::VertexAttribPointer& c =
+ *static_cast<const volatile gles2::cmds::VertexAttribPointer*>(cmd_data);
GLuint index = static_cast<GLuint>(c.indx);
GLint size = static_cast<GLint>(c.size);
GLenum type = static_cast<GLenum>(c.type);
@@ -1072,9 +1078,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribPointer(
error::Error GLES2DecoderPassthroughImpl::HandleWaitSync(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::WaitSync& c =
- *static_cast<const gles2::cmds::WaitSync*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::WaitSync& c =
+ *static_cast<const volatile gles2::cmds::WaitSync*>(cmd_data);
const GLuint sync = static_cast<GLuint>(c.sync);
const GLbitfield flags = static_cast<GLbitfield>(c.flags);
const GLuint64 timeout = c.timeout();
@@ -1089,9 +1095,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleWaitSync(
error::Error GLES2DecoderPassthroughImpl::HandleQueryCounterEXT(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::QueryCounterEXT& c =
- *static_cast<const gles2::cmds::QueryCounterEXT*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::QueryCounterEXT& c =
+ *static_cast<const volatile gles2::cmds::QueryCounterEXT*>(cmd_data);
GLuint id = static_cast<GLuint>(c.id);
GLenum target = static_cast<GLenum>(c.target);
@@ -1105,9 +1111,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleQueryCounterEXT(
error::Error GLES2DecoderPassthroughImpl::HandleBeginQueryEXT(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BeginQueryEXT& c =
- *static_cast<const gles2::cmds::BeginQueryEXT*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BeginQueryEXT& c =
+ *static_cast<const volatile gles2::cmds::BeginQueryEXT*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLuint id = static_cast<GLuint>(c.id);
@@ -1121,9 +1127,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleBeginQueryEXT(
error::Error GLES2DecoderPassthroughImpl::HandleEndQueryEXT(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::EndQueryEXT& c =
- *static_cast<const gles2::cmds::EndQueryEXT*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::EndQueryEXT& c =
+ *static_cast<const volatile gles2::cmds::EndQueryEXT*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
error::Error error = DoEndQueryEXT(target);
@@ -1136,9 +1142,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleEndQueryEXT(
error::Error GLES2DecoderPassthroughImpl::HandleSetDisjointValueSyncCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::SetDisjointValueSyncCHROMIUM& c =
- *static_cast<const gles2::cmds::SetDisjointValueSyncCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::SetDisjointValueSyncCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::SetDisjointValueSyncCHROMIUM*>(
+ cmd_data);
DisjointValueSync* sync = GetSharedMemoryAs<DisjointValueSync*>(
c.sync_data_shm_id, c.sync_data_shm_offset, sizeof(*sync));
if (!sync) {
@@ -1153,9 +1160,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleSetDisjointValueSyncCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleInsertEventMarkerEXT(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::InsertEventMarkerEXT& c =
- *static_cast<const gles2::cmds::InsertEventMarkerEXT*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::InsertEventMarkerEXT& c =
+ *static_cast<const volatile gles2::cmds::InsertEventMarkerEXT*>(cmd_data);
GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
Bucket* bucket = GetBucket(bucket_id);
if (!bucket || bucket->size() == 0) {
@@ -1174,9 +1181,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleInsertEventMarkerEXT(
error::Error GLES2DecoderPassthroughImpl::HandlePushGroupMarkerEXT(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::PushGroupMarkerEXT& c =
- *static_cast<const gles2::cmds::PushGroupMarkerEXT*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::PushGroupMarkerEXT& c =
+ *static_cast<const volatile gles2::cmds::PushGroupMarkerEXT*>(cmd_data);
GLuint bucket_id = static_cast<GLuint>(c.bucket_id);
Bucket* bucket = GetBucket(bucket_id);
if (!bucket || bucket->size() == 0) {
@@ -1195,9 +1202,10 @@ error::Error GLES2DecoderPassthroughImpl::HandlePushGroupMarkerEXT(
error::Error GLES2DecoderPassthroughImpl::HandleEnableFeatureCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::EnableFeatureCHROMIUM& c =
- *static_cast<const gles2::cmds::EnableFeatureCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::EnableFeatureCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::EnableFeatureCHROMIUM*>(
+ cmd_data);
Bucket* bucket = GetBucket(c.bucket_id);
if (!bucket || bucket->size() == 0) {
return error::kInvalidArguments;
@@ -1227,9 +1235,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleEnableFeatureCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleMapBufferRange(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::MapBufferRange& c =
- *static_cast<const gles2::cmds::MapBufferRange*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::MapBufferRange& c =
+ *static_cast<const volatile gles2::cmds::MapBufferRange*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
GLbitfield access = static_cast<GLbitfield>(c.access);
GLintptr offset = static_cast<GLintptr>(c.offset);
@@ -1263,9 +1271,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleMapBufferRange(
error::Error GLES2DecoderPassthroughImpl::HandleUnmapBuffer(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::UnmapBuffer& c =
- *static_cast<const gles2::cmds::UnmapBuffer*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::UnmapBuffer& c =
+ *static_cast<const volatile gles2::cmds::UnmapBuffer*>(cmd_data);
GLenum target = static_cast<GLenum>(c.target);
error::Error error = DoUnmapBuffer(target);
if (error != error::kNoError) {
@@ -1276,9 +1284,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleUnmapBuffer(
error::Error GLES2DecoderPassthroughImpl::HandleResizeCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ResizeCHROMIUM& c =
- *static_cast<const gles2::cmds::ResizeCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ResizeCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::ResizeCHROMIUM*>(cmd_data);
GLuint width = static_cast<GLuint>(c.width);
GLuint height = static_cast<GLuint>(c.height);
GLfloat scale_factor = static_cast<GLfloat>(c.scale_factor);
@@ -1293,9 +1301,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleResizeCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleGetRequestableExtensionsCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetRequestableExtensionsCHROMIUM& c =
- *static_cast<const gles2::cmds::GetRequestableExtensionsCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetRequestableExtensionsCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::GetRequestableExtensionsCHROMIUM*>(
cmd_data);
const char* str = nullptr;
error::Error error = DoGetRequestableExtensionsCHROMIUM(&str);
@@ -1313,9 +1322,10 @@ GLES2DecoderPassthroughImpl::HandleGetRequestableExtensionsCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleRequestExtensionCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::RequestExtensionCHROMIUM& c =
- *static_cast<const gles2::cmds::RequestExtensionCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::RequestExtensionCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::RequestExtensionCHROMIUM*>(
+ cmd_data);
Bucket* bucket = GetBucket(c.bucket_id);
if (!bucket || bucket->size() == 0) {
return error::kInvalidArguments;
@@ -1333,9 +1343,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleRequestExtensionCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleGetProgramInfoCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetProgramInfoCHROMIUM& c =
- *static_cast<const gles2::cmds::GetProgramInfoCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetProgramInfoCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::GetProgramInfoCHROMIUM*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
uint32_t bucket_id = c.bucket_id;
@@ -1356,9 +1367,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetProgramInfoCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformBlocksCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformBlocksCHROMIUM& c =
- *static_cast<const gles2::cmds::GetUniformBlocksCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformBlocksCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::GetUniformBlocksCHROMIUM*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
uint32_t bucket_id = c.bucket_id;
@@ -1380,9 +1392,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformBlocksCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleGetTransformFeedbackVaryingsCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetTransformFeedbackVaryingsCHROMIUM& c =
- *static_cast<const gles2::cmds::GetTransformFeedbackVaryingsCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetTransformFeedbackVaryingsCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::GetTransformFeedbackVaryingsCHROMIUM*>(
cmd_data);
GLuint program = static_cast<GLuint>(c.program);
@@ -1404,9 +1417,10 @@ GLES2DecoderPassthroughImpl::HandleGetTransformFeedbackVaryingsCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleGetUniformsES3CHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetUniformsES3CHROMIUM& c =
- *static_cast<const gles2::cmds::GetUniformsES3CHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetUniformsES3CHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::GetUniformsES3CHROMIUM*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
uint32_t bucket_id = c.bucket_id;
@@ -1427,9 +1441,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetUniformsES3CHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleGetTranslatedShaderSourceANGLE(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetTranslatedShaderSourceANGLE& c =
- *static_cast<const gles2::cmds::GetTranslatedShaderSourceANGLE*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetTranslatedShaderSourceANGLE& c =
+ *static_cast<const volatile gles2::cmds::GetTranslatedShaderSourceANGLE*>(
cmd_data);
GLuint shader = static_cast<GLuint>(c.shader);
@@ -1447,9 +1461,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleGetTranslatedShaderSourceANGLE(
error::Error GLES2DecoderPassthroughImpl::HandlePostSubBufferCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::PostSubBufferCHROMIUM& c =
- *static_cast<const gles2::cmds::PostSubBufferCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::PostSubBufferCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::PostSubBufferCHROMIUM*>(
+ cmd_data);
GLint x = static_cast<GLint>(c.x);
GLint y = static_cast<GLint>(c.y);
GLint width = static_cast<GLint>(c.width);
@@ -1463,9 +1478,10 @@ error::Error GLES2DecoderPassthroughImpl::HandlePostSubBufferCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleDrawArraysInstancedANGLE(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DrawArraysInstancedANGLE& c =
- *static_cast<const gles2::cmds::DrawArraysInstancedANGLE*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::DrawArraysInstancedANGLE& c =
+ *static_cast<const volatile gles2::cmds::DrawArraysInstancedANGLE*>(
+ cmd_data);
GLenum mode = static_cast<GLenum>(c.mode);
GLint first = static_cast<GLint>(c.first);
GLsizei count = static_cast<GLsizei>(c.count);
@@ -1480,9 +1496,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleDrawArraysInstancedANGLE(
error::Error GLES2DecoderPassthroughImpl::HandleDrawElementsInstancedANGLE(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DrawElementsInstancedANGLE& c =
- *static_cast<const gles2::cmds::DrawElementsInstancedANGLE*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::DrawElementsInstancedANGLE& c =
+ *static_cast<const volatile gles2::cmds::DrawElementsInstancedANGLE*>(
+ cmd_data);
GLenum mode = static_cast<GLenum>(c.mode);
GLsizei count = static_cast<GLsizei>(c.count);
GLenum type = static_cast<GLenum>(c.type);
@@ -1499,9 +1516,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleDrawElementsInstancedANGLE(
error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribDivisorANGLE(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::VertexAttribDivisorANGLE& c =
- *static_cast<const gles2::cmds::VertexAttribDivisorANGLE*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::VertexAttribDivisorANGLE& c =
+ *static_cast<const volatile gles2::cmds::VertexAttribDivisorANGLE*>(
+ cmd_data);
GLuint index = static_cast<GLuint>(c.index);
GLuint divisor = static_cast<GLuint>(c.divisor);
error::Error error = DoVertexAttribDivisorANGLE(index, divisor);
@@ -1514,9 +1532,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleVertexAttribDivisorANGLE(
error::Error
GLES2DecoderPassthroughImpl::HandleBindUniformLocationCHROMIUMBucket(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BindUniformLocationCHROMIUMBucket& c =
- *static_cast<const gles2::cmds::BindUniformLocationCHROMIUMBucket*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BindUniformLocationCHROMIUMBucket& c =
+ *static_cast<
+ const volatile gles2::cmds::BindUniformLocationCHROMIUMBucket*>(
cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLint location = static_cast<GLint>(c.location);
@@ -1538,9 +1557,9 @@ GLES2DecoderPassthroughImpl::HandleBindUniformLocationCHROMIUMBucket(
error::Error GLES2DecoderPassthroughImpl::HandleTraceBeginCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::TraceBeginCHROMIUM& c =
- *static_cast<const gles2::cmds::TraceBeginCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::TraceBeginCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::TraceBeginCHROMIUM*>(cmd_data);
Bucket* category_bucket = GetBucket(c.category_bucket_id);
Bucket* name_bucket = GetBucket(c.name_bucket_id);
if (!category_bucket || category_bucket->size() == 0 || !name_bucket ||
@@ -1565,12 +1584,7 @@ error::Error GLES2DecoderPassthroughImpl::HandleTraceBeginCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleDescheduleUntilFinishedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DescheduleUntilFinishedCHROMIUM& c =
- *static_cast<const gles2::cmds::DescheduleUntilFinishedCHROMIUM*>(
- cmd_data);
- (void)c;
-
+ const volatile void* cmd_data) {
error::Error error = DoDescheduleUntilFinishedCHROMIUM();
if (error != error::kNoError) {
return error;
@@ -1580,9 +1594,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleDescheduleUntilFinishedCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleInsertFenceSyncCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::InsertFenceSyncCHROMIUM& c =
- *static_cast<const gles2::cmds::InsertFenceSyncCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::InsertFenceSyncCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::InsertFenceSyncCHROMIUM*>(
+ cmd_data);
GLuint64 release_count = c.release_count();
error::Error error = DoInsertFenceSyncCHROMIUM(release_count);
if (error != error::kNoError) {
@@ -1593,9 +1608,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleInsertFenceSyncCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleWaitSyncTokenCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::WaitSyncTokenCHROMIUM& c =
- *static_cast<const gles2::cmds::WaitSyncTokenCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::WaitSyncTokenCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::WaitSyncTokenCHROMIUM*>(
+ cmd_data);
CommandBufferNamespace namespace_id =
static_cast<gpu::CommandBufferNamespace>(c.namespace_id);
CommandBufferId command_buffer_id =
@@ -1621,10 +1637,7 @@ error::Error GLES2DecoderPassthroughImpl::HandleWaitSyncTokenCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleDiscardBackbufferCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DiscardBackbufferCHROMIUM& c =
- *static_cast<const gles2::cmds::DiscardBackbufferCHROMIUM*>(cmd_data);
- (void)c;
+ const volatile void* cmd_data) {
error::Error error = DoDiscardBackbufferCHROMIUM();
if (error != error::kNoError) {
return error;
@@ -1634,9 +1647,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleDiscardBackbufferCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleScheduleOverlayPlaneCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ScheduleOverlayPlaneCHROMIUM& c =
- *static_cast<const gles2::cmds::ScheduleOverlayPlaneCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ScheduleOverlayPlaneCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::ScheduleOverlayPlaneCHROMIUM*>(
+ cmd_data);
GLint plane_z_order = static_cast<GLint>(c.plane_z_order);
GLenum plane_transform = static_cast<GLenum>(c.plane_transform);
GLuint overlay_texture_id = static_cast<GLuint>(c.overlay_texture_id);
@@ -1660,9 +1674,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleScheduleOverlayPlaneCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleScheduleCALayerSharedStateCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ScheduleCALayerSharedStateCHROMIUM& c =
- *static_cast<const gles2::cmds::ScheduleCALayerSharedStateCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ScheduleCALayerSharedStateCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::ScheduleCALayerSharedStateCHROMIUM*>(
cmd_data);
const GLfloat* mem = GetSharedMemoryAs<const GLfloat*>(c.shm_id, c.shm_offset,
20 * sizeof(GLfloat));
@@ -1684,9 +1699,10 @@ GLES2DecoderPassthroughImpl::HandleScheduleCALayerSharedStateCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleScheduleCALayerCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ScheduleCALayerCHROMIUM& c =
- *static_cast<const gles2::cmds::ScheduleCALayerCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ScheduleCALayerCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::ScheduleCALayerCHROMIUM*>(
+ cmd_data);
const GLfloat* mem = GetSharedMemoryAs<const GLfloat*>(c.shm_id, c.shm_offset,
8 * sizeof(GLfloat));
if (!mem) {
@@ -1708,9 +1724,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleScheduleCALayerCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleGenPathsCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GenPathsCHROMIUM& c =
- *static_cast<const gles2::cmds::GenPathsCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GenPathsCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::GenPathsCHROMIUM*>(cmd_data);
GLuint path = static_cast<GLuint>(c.first_client_id);
GLsizei range = static_cast<GLsizei>(c.range);
error::Error error = DoGenPathsCHROMIUM(path, range);
@@ -1722,9 +1738,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleGenPathsCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleDeletePathsCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::DeletePathsCHROMIUM& c =
- *static_cast<const gles2::cmds::DeletePathsCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::DeletePathsCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::DeletePathsCHROMIUM*>(cmd_data);
GLuint path = static_cast<GLuint>(c.first_client_id);
GLsizei range = static_cast<GLsizei>(c.range);
error::Error error = DoDeletePathsCHROMIUM(path, range);
@@ -1736,9 +1752,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleDeletePathsCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandlePathCommandsCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::PathCommandsCHROMIUM& c =
- *static_cast<const gles2::cmds::PathCommandsCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::PathCommandsCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::PathCommandsCHROMIUM*>(cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLsizei num_commands = static_cast<GLsizei>(c.numCommands);
const GLubyte* commands = nullptr;
@@ -1784,9 +1800,10 @@ error::Error GLES2DecoderPassthroughImpl::HandlePathCommandsCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandlePathParameterfCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::PathParameterfCHROMIUM& c =
- *static_cast<const gles2::cmds::PathParameterfCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::PathParameterfCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::PathParameterfCHROMIUM*>(
+ cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLenum pname = static_cast<GLenum>(c.pname);
GLfloat value = static_cast<GLfloat>(c.value);
@@ -1799,9 +1816,10 @@ error::Error GLES2DecoderPassthroughImpl::HandlePathParameterfCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandlePathParameteriCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::PathParameteriCHROMIUM& c =
- *static_cast<const gles2::cmds::PathParameteriCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::PathParameteriCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::PathParameteriCHROMIUM*>(
+ cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLenum pname = static_cast<GLenum>(c.pname);
GLint value = static_cast<GLint>(c.value);
@@ -1814,9 +1832,10 @@ error::Error GLES2DecoderPassthroughImpl::HandlePathParameteriCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleStencilFillPathCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilFillPathCHROMIUM& c =
- *static_cast<const gles2::cmds::StencilFillPathCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilFillPathCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::StencilFillPathCHROMIUM*>(
+ cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLenum fill_mode = static_cast<GLenum>(c.fillMode);
GLuint mask = static_cast<GLuint>(c.mask);
@@ -1829,9 +1848,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleStencilFillPathCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleStencilStrokePathCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilStrokePathCHROMIUM& c =
- *static_cast<const gles2::cmds::StencilStrokePathCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilStrokePathCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::StencilStrokePathCHROMIUM*>(
+ cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLint reference = static_cast<GLint>(c.reference);
GLuint mask = static_cast<GLuint>(c.mask);
@@ -1844,9 +1864,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleStencilStrokePathCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleCoverFillPathCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::CoverFillPathCHROMIUM& c =
- *static_cast<const gles2::cmds::CoverFillPathCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::CoverFillPathCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::CoverFillPathCHROMIUM*>(
+ cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLenum cover_mode = static_cast<GLenum>(c.coverMode);
error::Error error = DoCoverFillPathCHROMIUM(path, cover_mode);
@@ -1858,9 +1879,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleCoverFillPathCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleCoverStrokePathCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::CoverStrokePathCHROMIUM& c =
- *static_cast<const gles2::cmds::CoverStrokePathCHROMIUM*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::CoverStrokePathCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::CoverStrokePathCHROMIUM*>(
+ cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLenum cover_mode = static_cast<GLenum>(c.coverMode);
error::Error error = DoCoverStrokePathCHROMIUM(path, cover_mode);
@@ -1873,9 +1895,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleCoverStrokePathCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleStencilThenCoverFillPathCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilThenCoverFillPathCHROMIUM& c =
- *static_cast<const gles2::cmds::StencilThenCoverFillPathCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilThenCoverFillPathCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::StencilThenCoverFillPathCHROMIUM*>(
cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLenum fill_mode = static_cast<GLenum>(c.fillMode);
@@ -1892,9 +1915,10 @@ GLES2DecoderPassthroughImpl::HandleStencilThenCoverFillPathCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleStencilThenCoverStrokePathCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilThenCoverStrokePathCHROMIUM& c =
- *static_cast<const gles2::cmds::StencilThenCoverStrokePathCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilThenCoverStrokePathCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::StencilThenCoverStrokePathCHROMIUM*>(
cmd_data);
GLuint path = static_cast<GLuint>(c.path);
GLint reference = static_cast<GLint>(c.reference);
@@ -1911,9 +1935,10 @@ GLES2DecoderPassthroughImpl::HandleStencilThenCoverStrokePathCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleStencilFillPathInstancedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilFillPathInstancedCHROMIUM& c =
- *static_cast<const gles2::cmds::StencilFillPathInstancedCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilFillPathInstancedCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::StencilFillPathInstancedCHROMIUM*>(
cmd_data);
GLsizei num_paths = static_cast<GLsizei>(c.numPaths);
GLenum path_name_type = static_cast<GLuint>(c.pathNameType);
@@ -1962,9 +1987,10 @@ GLES2DecoderPassthroughImpl::HandleStencilFillPathInstancedCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleStencilStrokePathInstancedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilStrokePathInstancedCHROMIUM& c =
- *static_cast<const gles2::cmds::StencilStrokePathInstancedCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilStrokePathInstancedCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::StencilStrokePathInstancedCHROMIUM*>(
cmd_data);
GLsizei num_paths = static_cast<GLsizei>(c.numPaths);
GLenum path_name_type = static_cast<GLuint>(c.pathNameType);
@@ -2012,9 +2038,9 @@ GLES2DecoderPassthroughImpl::HandleStencilStrokePathInstancedCHROMIUM(
error::Error GLES2DecoderPassthroughImpl::HandleCoverFillPathInstancedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::CoverFillPathInstancedCHROMIUM& c =
- *static_cast<const gles2::cmds::CoverFillPathInstancedCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::CoverFillPathInstancedCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::CoverFillPathInstancedCHROMIUM*>(
cmd_data);
GLsizei num_paths = static_cast<GLsizei>(c.numPaths);
GLenum path_name_type = static_cast<GLuint>(c.pathNameType);
@@ -2062,9 +2088,10 @@ error::Error GLES2DecoderPassthroughImpl::HandleCoverFillPathInstancedCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleCoverStrokePathInstancedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::CoverStrokePathInstancedCHROMIUM& c =
- *static_cast<const gles2::cmds::CoverStrokePathInstancedCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::CoverStrokePathInstancedCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::CoverStrokePathInstancedCHROMIUM*>(
cmd_data);
GLsizei num_paths = static_cast<GLsizei>(c.numPaths);
GLenum path_name_type = static_cast<GLuint>(c.pathNameType);
@@ -2112,11 +2139,10 @@ GLES2DecoderPassthroughImpl::HandleCoverStrokePathInstancedCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleStencilThenCoverFillPathInstancedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilThenCoverFillPathInstancedCHROMIUM& c =
- *static_cast<
- const gles2::cmds::StencilThenCoverFillPathInstancedCHROMIUM*>(
- cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilThenCoverFillPathInstancedCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::
+ StencilThenCoverFillPathInstancedCHROMIUM*>(cmd_data);
GLsizei num_paths = static_cast<GLsizei>(c.numPaths);
GLenum path_name_type = static_cast<GLuint>(c.pathNameType);
const GLvoid* paths = nullptr;
@@ -2166,11 +2192,10 @@ GLES2DecoderPassthroughImpl::HandleStencilThenCoverFillPathInstancedCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleStencilThenCoverStrokePathInstancedCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::StencilThenCoverStrokePathInstancedCHROMIUM& c =
- *static_cast<
- const gles2::cmds::StencilThenCoverStrokePathInstancedCHROMIUM*>(
- cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::StencilThenCoverStrokePathInstancedCHROMIUM& c =
+ *static_cast<const volatile gles2::cmds::
+ StencilThenCoverStrokePathInstancedCHROMIUM*>(cmd_data);
GLsizei num_paths = static_cast<GLsizei>(c.numPaths);
GLenum path_name_type = static_cast<GLuint>(c.pathNameType);
const GLvoid* paths = nullptr;
@@ -2220,9 +2245,10 @@ GLES2DecoderPassthroughImpl::HandleStencilThenCoverStrokePathInstancedCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleBindFragmentInputLocationCHROMIUMBucket(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BindFragmentInputLocationCHROMIUMBucket& c =
- *static_cast<const gles2::cmds::BindFragmentInputLocationCHROMIUMBucket*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BindFragmentInputLocationCHROMIUMBucket& c =
+ *static_cast<
+ const volatile gles2::cmds::BindFragmentInputLocationCHROMIUMBucket*>(
cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLint location = static_cast<GLint>(c.location);
@@ -2245,9 +2271,10 @@ GLES2DecoderPassthroughImpl::HandleBindFragmentInputLocationCHROMIUMBucket(
error::Error
GLES2DecoderPassthroughImpl::HandleProgramPathFragmentInputGenCHROMIUM(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::ProgramPathFragmentInputGenCHROMIUM& c =
- *static_cast<const gles2::cmds::ProgramPathFragmentInputGenCHROMIUM*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::ProgramPathFragmentInputGenCHROMIUM& c =
+ *static_cast<
+ const volatile gles2::cmds::ProgramPathFragmentInputGenCHROMIUM*>(
cmd_data);
GLint program = static_cast<GLint>(c.program);
GLint location = static_cast<GLint>(c.location);
@@ -2275,9 +2302,10 @@ GLES2DecoderPassthroughImpl::HandleProgramPathFragmentInputGenCHROMIUM(
error::Error
GLES2DecoderPassthroughImpl::HandleBindFragDataLocationIndexedEXTBucket(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BindFragDataLocationIndexedEXTBucket& c =
- *static_cast<const gles2::cmds::BindFragDataLocationIndexedEXTBucket*>(
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BindFragDataLocationIndexedEXTBucket& c =
+ *static_cast<
+ const volatile gles2::cmds::BindFragDataLocationIndexedEXTBucket*>(
cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint colorNumber = static_cast<GLuint>(c.colorNumber);
@@ -2300,9 +2328,10 @@ GLES2DecoderPassthroughImpl::HandleBindFragDataLocationIndexedEXTBucket(
error::Error GLES2DecoderPassthroughImpl::HandleBindFragDataLocationEXTBucket(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::BindFragDataLocationEXTBucket& c =
- *static_cast<const gles2::cmds::BindFragDataLocationEXTBucket*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::BindFragDataLocationEXTBucket& c =
+ *static_cast<const volatile gles2::cmds::BindFragDataLocationEXTBucket*>(
+ cmd_data);
GLuint program = static_cast<GLuint>(c.program);
GLuint colorNumber = static_cast<GLuint>(c.colorNumber);
Bucket* bucket = GetBucket(c.name_bucket_id);
@@ -2323,9 +2352,9 @@ error::Error GLES2DecoderPassthroughImpl::HandleBindFragDataLocationEXTBucket(
error::Error GLES2DecoderPassthroughImpl::HandleGetFragDataIndexEXT(
uint32_t immediate_data_size,
- const void* cmd_data) {
- const gles2::cmds::GetFragDataIndexEXT& c =
- *static_cast<const gles2::cmds::GetFragDataIndexEXT*>(cmd_data);
+ const volatile void* cmd_data) {
+ const volatile gles2::cmds::GetFragDataIndexEXT& c =
+ *static_cast<const volatile gles2::cmds::GetFragDataIndexEXT*>(cmd_data);
GLuint program = static_cast<GLuint>(c.program);
Bucket* bucket = GetBucket(c.name_bucket_id);
if (!bucket) {

Powered by Google App Engine
This is Rietveld 408576698