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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers_autogen.cc

Issue 2764403002: Make sure buffers are large enough to hold the Result structure. (Closed)
Patch Set: Created 3 years, 9 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 unified diff | Download patch
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file is auto-generated from 5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py 6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // It's formatted by clang-format using chromium coding style: 7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename 8 // clang-format -i -style=chromium filename
9 // DO NOT EDIT! 9 // DO NOT EDIT!
10 10
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after
1072 1072
1073 error::Error GLES2DecoderPassthroughImpl::HandleGetBooleanv( 1073 error::Error GLES2DecoderPassthroughImpl::HandleGetBooleanv(
1074 uint32_t immediate_data_size, 1074 uint32_t immediate_data_size,
1075 const volatile void* cmd_data) { 1075 const volatile void* cmd_data) {
1076 const volatile gles2::cmds::GetBooleanv& c = 1076 const volatile gles2::cmds::GetBooleanv& c =
1077 *static_cast<const volatile gles2::cmds::GetBooleanv*>(cmd_data); 1077 *static_cast<const volatile gles2::cmds::GetBooleanv*>(cmd_data);
1078 GLenum pname = static_cast<GLenum>(c.pname); 1078 GLenum pname = static_cast<GLenum>(c.pname);
1079 unsigned int buffer_size = 0; 1079 unsigned int buffer_size = 0;
1080 typedef cmds::GetBooleanv::Result Result; 1080 typedef cmds::GetBooleanv::Result Result;
1081 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1081 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1082 c.params_shm_id, c.params_shm_offset, &buffer_size); 1082 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1083 GLboolean* params = result ? result->GetData() : NULL; 1083 GLboolean* params = result ? result->GetData() : NULL;
1084 if (params == NULL) { 1084 if (params == NULL) {
1085 return error::kOutOfBounds; 1085 return error::kOutOfBounds;
1086 } 1086 }
1087 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1087 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1088 GLsizei written_values = 0; 1088 GLsizei written_values = 0;
1089 GLsizei* length = &written_values; 1089 GLsizei* length = &written_values;
1090 error::Error error = DoGetBooleanv(pname, bufsize, length, params); 1090 error::Error error = DoGetBooleanv(pname, bufsize, length, params);
1091 if (error != error::kNoError) { 1091 if (error != error::kNoError) {
1092 return error; 1092 return error;
1093 } 1093 }
1094 if (written_values > bufsize) { 1094 if (written_values > bufsize) {
1095 return error::kOutOfBounds; 1095 return error::kOutOfBounds;
1096 } 1096 }
1097 result->SetNumResults(written_values); 1097 result->SetNumResults(written_values);
1098 return error::kNoError; 1098 return error::kNoError;
1099 } 1099 }
1100 1100
1101 error::Error GLES2DecoderPassthroughImpl::HandleGetBufferParameteri64v( 1101 error::Error GLES2DecoderPassthroughImpl::HandleGetBufferParameteri64v(
1102 uint32_t immediate_data_size, 1102 uint32_t immediate_data_size,
1103 const volatile void* cmd_data) { 1103 const volatile void* cmd_data) {
1104 const volatile gles2::cmds::GetBufferParameteri64v& c = 1104 const volatile gles2::cmds::GetBufferParameteri64v& c =
1105 *static_cast<const volatile gles2::cmds::GetBufferParameteri64v*>( 1105 *static_cast<const volatile gles2::cmds::GetBufferParameteri64v*>(
1106 cmd_data); 1106 cmd_data);
1107 GLenum target = static_cast<GLenum>(c.target); 1107 GLenum target = static_cast<GLenum>(c.target);
1108 GLenum pname = static_cast<GLenum>(c.pname); 1108 GLenum pname = static_cast<GLenum>(c.pname);
1109 unsigned int buffer_size = 0; 1109 unsigned int buffer_size = 0;
1110 typedef cmds::GetBufferParameteri64v::Result Result; 1110 typedef cmds::GetBufferParameteri64v::Result Result;
1111 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1111 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1112 c.params_shm_id, c.params_shm_offset, &buffer_size); 1112 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1113 GLint64* params = result ? result->GetData() : NULL; 1113 GLint64* params = result ? result->GetData() : NULL;
1114 if (params == NULL) { 1114 if (params == NULL) {
1115 return error::kOutOfBounds; 1115 return error::kOutOfBounds;
1116 } 1116 }
1117 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1117 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1118 GLsizei written_values = 0; 1118 GLsizei written_values = 0;
1119 GLsizei* length = &written_values; 1119 GLsizei* length = &written_values;
1120 error::Error error = 1120 error::Error error =
1121 DoGetBufferParameteri64v(target, pname, bufsize, length, params); 1121 DoGetBufferParameteri64v(target, pname, bufsize, length, params);
1122 if (error != error::kNoError) { 1122 if (error != error::kNoError) {
1123 return error; 1123 return error;
1124 } 1124 }
1125 if (written_values > bufsize) { 1125 if (written_values > bufsize) {
1126 return error::kOutOfBounds; 1126 return error::kOutOfBounds;
1127 } 1127 }
1128 result->SetNumResults(written_values); 1128 result->SetNumResults(written_values);
1129 return error::kNoError; 1129 return error::kNoError;
1130 } 1130 }
1131 1131
1132 error::Error GLES2DecoderPassthroughImpl::HandleGetBufferParameteriv( 1132 error::Error GLES2DecoderPassthroughImpl::HandleGetBufferParameteriv(
1133 uint32_t immediate_data_size, 1133 uint32_t immediate_data_size,
1134 const volatile void* cmd_data) { 1134 const volatile void* cmd_data) {
1135 const volatile gles2::cmds::GetBufferParameteriv& c = 1135 const volatile gles2::cmds::GetBufferParameteriv& c =
1136 *static_cast<const volatile gles2::cmds::GetBufferParameteriv*>(cmd_data); 1136 *static_cast<const volatile gles2::cmds::GetBufferParameteriv*>(cmd_data);
1137 GLenum target = static_cast<GLenum>(c.target); 1137 GLenum target = static_cast<GLenum>(c.target);
1138 GLenum pname = static_cast<GLenum>(c.pname); 1138 GLenum pname = static_cast<GLenum>(c.pname);
1139 unsigned int buffer_size = 0; 1139 unsigned int buffer_size = 0;
1140 typedef cmds::GetBufferParameteriv::Result Result; 1140 typedef cmds::GetBufferParameteriv::Result Result;
1141 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1141 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1142 c.params_shm_id, c.params_shm_offset, &buffer_size); 1142 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1143 GLint* params = result ? result->GetData() : NULL; 1143 GLint* params = result ? result->GetData() : NULL;
1144 if (params == NULL) { 1144 if (params == NULL) {
1145 return error::kOutOfBounds; 1145 return error::kOutOfBounds;
1146 } 1146 }
1147 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1147 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1148 GLsizei written_values = 0; 1148 GLsizei written_values = 0;
1149 GLsizei* length = &written_values; 1149 GLsizei* length = &written_values;
1150 error::Error error = 1150 error::Error error =
1151 DoGetBufferParameteriv(target, pname, bufsize, length, params); 1151 DoGetBufferParameteriv(target, pname, bufsize, length, params);
1152 if (error != error::kNoError) { 1152 if (error != error::kNoError) {
(...skipping 26 matching lines...) Expand all
1179 1179
1180 error::Error GLES2DecoderPassthroughImpl::HandleGetFloatv( 1180 error::Error GLES2DecoderPassthroughImpl::HandleGetFloatv(
1181 uint32_t immediate_data_size, 1181 uint32_t immediate_data_size,
1182 const volatile void* cmd_data) { 1182 const volatile void* cmd_data) {
1183 const volatile gles2::cmds::GetFloatv& c = 1183 const volatile gles2::cmds::GetFloatv& c =
1184 *static_cast<const volatile gles2::cmds::GetFloatv*>(cmd_data); 1184 *static_cast<const volatile gles2::cmds::GetFloatv*>(cmd_data);
1185 GLenum pname = static_cast<GLenum>(c.pname); 1185 GLenum pname = static_cast<GLenum>(c.pname);
1186 unsigned int buffer_size = 0; 1186 unsigned int buffer_size = 0;
1187 typedef cmds::GetFloatv::Result Result; 1187 typedef cmds::GetFloatv::Result Result;
1188 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1188 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1189 c.params_shm_id, c.params_shm_offset, &buffer_size); 1189 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1190 GLfloat* params = result ? result->GetData() : NULL; 1190 GLfloat* params = result ? result->GetData() : NULL;
1191 if (params == NULL) { 1191 if (params == NULL) {
1192 return error::kOutOfBounds; 1192 return error::kOutOfBounds;
1193 } 1193 }
1194 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1194 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1195 GLsizei written_values = 0; 1195 GLsizei written_values = 0;
1196 GLsizei* length = &written_values; 1196 GLsizei* length = &written_values;
1197 error::Error error = DoGetFloatv(pname, bufsize, length, params); 1197 error::Error error = DoGetFloatv(pname, bufsize, length, params);
1198 if (error != error::kNoError) { 1198 if (error != error::kNoError) {
1199 return error; 1199 return error;
(...skipping 12 matching lines...) Expand all
1212 const volatile gles2::cmds::GetFramebufferAttachmentParameteriv& c = 1212 const volatile gles2::cmds::GetFramebufferAttachmentParameteriv& c =
1213 *static_cast< 1213 *static_cast<
1214 const volatile gles2::cmds::GetFramebufferAttachmentParameteriv*>( 1214 const volatile gles2::cmds::GetFramebufferAttachmentParameteriv*>(
1215 cmd_data); 1215 cmd_data);
1216 GLenum target = static_cast<GLenum>(c.target); 1216 GLenum target = static_cast<GLenum>(c.target);
1217 GLenum attachment = static_cast<GLenum>(c.attachment); 1217 GLenum attachment = static_cast<GLenum>(c.attachment);
1218 GLenum pname = static_cast<GLenum>(c.pname); 1218 GLenum pname = static_cast<GLenum>(c.pname);
1219 unsigned int buffer_size = 0; 1219 unsigned int buffer_size = 0;
1220 typedef cmds::GetFramebufferAttachmentParameteriv::Result Result; 1220 typedef cmds::GetFramebufferAttachmentParameteriv::Result Result;
1221 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1221 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1222 c.params_shm_id, c.params_shm_offset, &buffer_size); 1222 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1223 GLint* params = result ? result->GetData() : NULL; 1223 GLint* params = result ? result->GetData() : NULL;
1224 if (params == NULL) { 1224 if (params == NULL) {
1225 return error::kOutOfBounds; 1225 return error::kOutOfBounds;
1226 } 1226 }
1227 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1227 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1228 GLsizei written_values = 0; 1228 GLsizei written_values = 0;
1229 GLsizei* length = &written_values; 1229 GLsizei* length = &written_values;
1230 error::Error error = DoGetFramebufferAttachmentParameteriv( 1230 error::Error error = DoGetFramebufferAttachmentParameteriv(
1231 target, attachment, pname, bufsize, length, params); 1231 target, attachment, pname, bufsize, length, params);
1232 if (error != error::kNoError) { 1232 if (error != error::kNoError) {
1233 return error; 1233 return error;
1234 } 1234 }
1235 if (written_values > bufsize) { 1235 if (written_values > bufsize) {
1236 return error::kOutOfBounds; 1236 return error::kOutOfBounds;
1237 } 1237 }
1238 result->SetNumResults(written_values); 1238 result->SetNumResults(written_values);
1239 return error::kNoError; 1239 return error::kNoError;
1240 } 1240 }
1241 1241
1242 error::Error GLES2DecoderPassthroughImpl::HandleGetInteger64v( 1242 error::Error GLES2DecoderPassthroughImpl::HandleGetInteger64v(
1243 uint32_t immediate_data_size, 1243 uint32_t immediate_data_size,
1244 const volatile void* cmd_data) { 1244 const volatile void* cmd_data) {
1245 const volatile gles2::cmds::GetInteger64v& c = 1245 const volatile gles2::cmds::GetInteger64v& c =
1246 *static_cast<const volatile gles2::cmds::GetInteger64v*>(cmd_data); 1246 *static_cast<const volatile gles2::cmds::GetInteger64v*>(cmd_data);
1247 GLenum pname = static_cast<GLenum>(c.pname); 1247 GLenum pname = static_cast<GLenum>(c.pname);
1248 unsigned int buffer_size = 0; 1248 unsigned int buffer_size = 0;
1249 typedef cmds::GetInteger64v::Result Result; 1249 typedef cmds::GetInteger64v::Result Result;
1250 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1250 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1251 c.params_shm_id, c.params_shm_offset, &buffer_size); 1251 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1252 GLint64* params = result ? result->GetData() : NULL; 1252 GLint64* params = result ? result->GetData() : NULL;
1253 if (params == NULL) { 1253 if (params == NULL) {
1254 return error::kOutOfBounds; 1254 return error::kOutOfBounds;
1255 } 1255 }
1256 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1256 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1257 GLsizei written_values = 0; 1257 GLsizei written_values = 0;
1258 GLsizei* length = &written_values; 1258 GLsizei* length = &written_values;
1259 error::Error error = DoGetInteger64v(pname, bufsize, length, params); 1259 error::Error error = DoGetInteger64v(pname, bufsize, length, params);
1260 if (error != error::kNoError) { 1260 if (error != error::kNoError) {
1261 return error; 1261 return error;
1262 } 1262 }
1263 if (written_values > bufsize) { 1263 if (written_values > bufsize) {
1264 return error::kOutOfBounds; 1264 return error::kOutOfBounds;
1265 } 1265 }
1266 result->SetNumResults(written_values); 1266 result->SetNumResults(written_values);
1267 return error::kNoError; 1267 return error::kNoError;
1268 } 1268 }
1269 1269
1270 error::Error GLES2DecoderPassthroughImpl::HandleGetIntegeri_v( 1270 error::Error GLES2DecoderPassthroughImpl::HandleGetIntegeri_v(
1271 uint32_t immediate_data_size, 1271 uint32_t immediate_data_size,
1272 const volatile void* cmd_data) { 1272 const volatile void* cmd_data) {
1273 const volatile gles2::cmds::GetIntegeri_v& c = 1273 const volatile gles2::cmds::GetIntegeri_v& c =
1274 *static_cast<const volatile gles2::cmds::GetIntegeri_v*>(cmd_data); 1274 *static_cast<const volatile gles2::cmds::GetIntegeri_v*>(cmd_data);
1275 GLenum pname = static_cast<GLenum>(c.pname); 1275 GLenum pname = static_cast<GLenum>(c.pname);
1276 GLuint index = static_cast<GLuint>(c.index); 1276 GLuint index = static_cast<GLuint>(c.index);
1277 unsigned int buffer_size = 0; 1277 unsigned int buffer_size = 0;
1278 typedef cmds::GetIntegeri_v::Result Result; 1278 typedef cmds::GetIntegeri_v::Result Result;
1279 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1279 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1280 c.data_shm_id, c.data_shm_offset, &buffer_size); 1280 c.data_shm_id, c.data_shm_offset, sizeof(Result), &buffer_size);
1281 GLint* data = result ? result->GetData() : NULL; 1281 GLint* data = result ? result->GetData() : NULL;
1282 if (data == NULL) { 1282 if (data == NULL) {
1283 return error::kOutOfBounds; 1283 return error::kOutOfBounds;
1284 } 1284 }
1285 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1285 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1286 GLsizei written_values = 0; 1286 GLsizei written_values = 0;
1287 GLsizei* length = &written_values; 1287 GLsizei* length = &written_values;
1288 error::Error error = DoGetIntegeri_v(pname, index, bufsize, length, data); 1288 error::Error error = DoGetIntegeri_v(pname, index, bufsize, length, data);
1289 if (error != error::kNoError) { 1289 if (error != error::kNoError) {
1290 return error; 1290 return error;
1291 } 1291 }
1292 if (written_values > bufsize) { 1292 if (written_values > bufsize) {
1293 return error::kOutOfBounds; 1293 return error::kOutOfBounds;
1294 } 1294 }
1295 result->SetNumResults(written_values); 1295 result->SetNumResults(written_values);
1296 return error::kNoError; 1296 return error::kNoError;
1297 } 1297 }
1298 1298
1299 error::Error GLES2DecoderPassthroughImpl::HandleGetInteger64i_v( 1299 error::Error GLES2DecoderPassthroughImpl::HandleGetInteger64i_v(
1300 uint32_t immediate_data_size, 1300 uint32_t immediate_data_size,
1301 const volatile void* cmd_data) { 1301 const volatile void* cmd_data) {
1302 const volatile gles2::cmds::GetInteger64i_v& c = 1302 const volatile gles2::cmds::GetInteger64i_v& c =
1303 *static_cast<const volatile gles2::cmds::GetInteger64i_v*>(cmd_data); 1303 *static_cast<const volatile gles2::cmds::GetInteger64i_v*>(cmd_data);
1304 GLenum pname = static_cast<GLenum>(c.pname); 1304 GLenum pname = static_cast<GLenum>(c.pname);
1305 GLuint index = static_cast<GLuint>(c.index); 1305 GLuint index = static_cast<GLuint>(c.index);
1306 unsigned int buffer_size = 0; 1306 unsigned int buffer_size = 0;
1307 typedef cmds::GetInteger64i_v::Result Result; 1307 typedef cmds::GetInteger64i_v::Result Result;
1308 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1308 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1309 c.data_shm_id, c.data_shm_offset, &buffer_size); 1309 c.data_shm_id, c.data_shm_offset, sizeof(Result), &buffer_size);
1310 GLint64* data = result ? result->GetData() : NULL; 1310 GLint64* data = result ? result->GetData() : NULL;
1311 if (data == NULL) { 1311 if (data == NULL) {
1312 return error::kOutOfBounds; 1312 return error::kOutOfBounds;
1313 } 1313 }
1314 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1314 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1315 GLsizei written_values = 0; 1315 GLsizei written_values = 0;
1316 GLsizei* length = &written_values; 1316 GLsizei* length = &written_values;
1317 error::Error error = DoGetInteger64i_v(pname, index, bufsize, length, data); 1317 error::Error error = DoGetInteger64i_v(pname, index, bufsize, length, data);
1318 if (error != error::kNoError) { 1318 if (error != error::kNoError) {
1319 return error; 1319 return error;
1320 } 1320 }
1321 if (written_values > bufsize) { 1321 if (written_values > bufsize) {
1322 return error::kOutOfBounds; 1322 return error::kOutOfBounds;
1323 } 1323 }
1324 result->SetNumResults(written_values); 1324 result->SetNumResults(written_values);
1325 return error::kNoError; 1325 return error::kNoError;
1326 } 1326 }
1327 1327
1328 error::Error GLES2DecoderPassthroughImpl::HandleGetIntegerv( 1328 error::Error GLES2DecoderPassthroughImpl::HandleGetIntegerv(
1329 uint32_t immediate_data_size, 1329 uint32_t immediate_data_size,
1330 const volatile void* cmd_data) { 1330 const volatile void* cmd_data) {
1331 const volatile gles2::cmds::GetIntegerv& c = 1331 const volatile gles2::cmds::GetIntegerv& c =
1332 *static_cast<const volatile gles2::cmds::GetIntegerv*>(cmd_data); 1332 *static_cast<const volatile gles2::cmds::GetIntegerv*>(cmd_data);
1333 GLenum pname = static_cast<GLenum>(c.pname); 1333 GLenum pname = static_cast<GLenum>(c.pname);
1334 unsigned int buffer_size = 0; 1334 unsigned int buffer_size = 0;
1335 typedef cmds::GetIntegerv::Result Result; 1335 typedef cmds::GetIntegerv::Result Result;
1336 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1336 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1337 c.params_shm_id, c.params_shm_offset, &buffer_size); 1337 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1338 GLint* params = result ? result->GetData() : NULL; 1338 GLint* params = result ? result->GetData() : NULL;
1339 if (params == NULL) { 1339 if (params == NULL) {
1340 return error::kOutOfBounds; 1340 return error::kOutOfBounds;
1341 } 1341 }
1342 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1342 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1343 GLsizei written_values = 0; 1343 GLsizei written_values = 0;
1344 GLsizei* length = &written_values; 1344 GLsizei* length = &written_values;
1345 error::Error error = DoGetIntegerv(pname, bufsize, length, params); 1345 error::Error error = DoGetIntegerv(pname, bufsize, length, params);
1346 if (error != error::kNoError) { 1346 if (error != error::kNoError) {
1347 return error; 1347 return error;
1348 } 1348 }
1349 if (written_values > bufsize) { 1349 if (written_values > bufsize) {
1350 return error::kOutOfBounds; 1350 return error::kOutOfBounds;
1351 } 1351 }
1352 result->SetNumResults(written_values); 1352 result->SetNumResults(written_values);
1353 return error::kNoError; 1353 return error::kNoError;
1354 } 1354 }
1355 1355
1356 error::Error GLES2DecoderPassthroughImpl::HandleGetProgramiv( 1356 error::Error GLES2DecoderPassthroughImpl::HandleGetProgramiv(
1357 uint32_t immediate_data_size, 1357 uint32_t immediate_data_size,
1358 const volatile void* cmd_data) { 1358 const volatile void* cmd_data) {
1359 const volatile gles2::cmds::GetProgramiv& c = 1359 const volatile gles2::cmds::GetProgramiv& c =
1360 *static_cast<const volatile gles2::cmds::GetProgramiv*>(cmd_data); 1360 *static_cast<const volatile gles2::cmds::GetProgramiv*>(cmd_data);
1361 GLuint program = c.program; 1361 GLuint program = c.program;
1362 GLenum pname = static_cast<GLenum>(c.pname); 1362 GLenum pname = static_cast<GLenum>(c.pname);
1363 unsigned int buffer_size = 0; 1363 unsigned int buffer_size = 0;
1364 typedef cmds::GetProgramiv::Result Result; 1364 typedef cmds::GetProgramiv::Result Result;
1365 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1365 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1366 c.params_shm_id, c.params_shm_offset, &buffer_size); 1366 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1367 GLint* params = result ? result->GetData() : NULL; 1367 GLint* params = result ? result->GetData() : NULL;
1368 if (params == NULL) { 1368 if (params == NULL) {
1369 return error::kOutOfBounds; 1369 return error::kOutOfBounds;
1370 } 1370 }
1371 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1371 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1372 GLsizei written_values = 0; 1372 GLsizei written_values = 0;
1373 GLsizei* length = &written_values; 1373 GLsizei* length = &written_values;
1374 error::Error error = DoGetProgramiv(program, pname, bufsize, length, params); 1374 error::Error error = DoGetProgramiv(program, pname, bufsize, length, params);
1375 if (error != error::kNoError) { 1375 if (error != error::kNoError) {
1376 return error; 1376 return error;
1377 } 1377 }
1378 if (written_values > bufsize) { 1378 if (written_values > bufsize) {
1379 return error::kOutOfBounds; 1379 return error::kOutOfBounds;
1380 } 1380 }
1381 result->SetNumResults(written_values); 1381 result->SetNumResults(written_values);
1382 return error::kNoError; 1382 return error::kNoError;
1383 } 1383 }
1384 1384
1385 error::Error GLES2DecoderPassthroughImpl::HandleGetRenderbufferParameteriv( 1385 error::Error GLES2DecoderPassthroughImpl::HandleGetRenderbufferParameteriv(
1386 uint32_t immediate_data_size, 1386 uint32_t immediate_data_size,
1387 const volatile void* cmd_data) { 1387 const volatile void* cmd_data) {
1388 const volatile gles2::cmds::GetRenderbufferParameteriv& c = 1388 const volatile gles2::cmds::GetRenderbufferParameteriv& c =
1389 *static_cast<const volatile gles2::cmds::GetRenderbufferParameteriv*>( 1389 *static_cast<const volatile gles2::cmds::GetRenderbufferParameteriv*>(
1390 cmd_data); 1390 cmd_data);
1391 GLenum target = static_cast<GLenum>(c.target); 1391 GLenum target = static_cast<GLenum>(c.target);
1392 GLenum pname = static_cast<GLenum>(c.pname); 1392 GLenum pname = static_cast<GLenum>(c.pname);
1393 unsigned int buffer_size = 0; 1393 unsigned int buffer_size = 0;
1394 typedef cmds::GetRenderbufferParameteriv::Result Result; 1394 typedef cmds::GetRenderbufferParameteriv::Result Result;
1395 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1395 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1396 c.params_shm_id, c.params_shm_offset, &buffer_size); 1396 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1397 GLint* params = result ? result->GetData() : NULL; 1397 GLint* params = result ? result->GetData() : NULL;
1398 if (params == NULL) { 1398 if (params == NULL) {
1399 return error::kOutOfBounds; 1399 return error::kOutOfBounds;
1400 } 1400 }
1401 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1401 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1402 GLsizei written_values = 0; 1402 GLsizei written_values = 0;
1403 GLsizei* length = &written_values; 1403 GLsizei* length = &written_values;
1404 error::Error error = 1404 error::Error error =
1405 DoGetRenderbufferParameteriv(target, pname, bufsize, length, params); 1405 DoGetRenderbufferParameteriv(target, pname, bufsize, length, params);
1406 if (error != error::kNoError) { 1406 if (error != error::kNoError) {
(...skipping 10 matching lines...) Expand all
1417 uint32_t immediate_data_size, 1417 uint32_t immediate_data_size,
1418 const volatile void* cmd_data) { 1418 const volatile void* cmd_data) {
1419 const volatile gles2::cmds::GetSamplerParameterfv& c = 1419 const volatile gles2::cmds::GetSamplerParameterfv& c =
1420 *static_cast<const volatile gles2::cmds::GetSamplerParameterfv*>( 1420 *static_cast<const volatile gles2::cmds::GetSamplerParameterfv*>(
1421 cmd_data); 1421 cmd_data);
1422 GLuint sampler = c.sampler; 1422 GLuint sampler = c.sampler;
1423 GLenum pname = static_cast<GLenum>(c.pname); 1423 GLenum pname = static_cast<GLenum>(c.pname);
1424 unsigned int buffer_size = 0; 1424 unsigned int buffer_size = 0;
1425 typedef cmds::GetSamplerParameterfv::Result Result; 1425 typedef cmds::GetSamplerParameterfv::Result Result;
1426 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1426 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1427 c.params_shm_id, c.params_shm_offset, &buffer_size); 1427 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1428 GLfloat* params = result ? result->GetData() : NULL; 1428 GLfloat* params = result ? result->GetData() : NULL;
1429 if (params == NULL) { 1429 if (params == NULL) {
1430 return error::kOutOfBounds; 1430 return error::kOutOfBounds;
1431 } 1431 }
1432 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1432 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1433 GLsizei written_values = 0; 1433 GLsizei written_values = 0;
1434 GLsizei* length = &written_values; 1434 GLsizei* length = &written_values;
1435 error::Error error = 1435 error::Error error =
1436 DoGetSamplerParameterfv(sampler, pname, bufsize, length, params); 1436 DoGetSamplerParameterfv(sampler, pname, bufsize, length, params);
1437 if (error != error::kNoError) { 1437 if (error != error::kNoError) {
(...skipping 10 matching lines...) Expand all
1448 uint32_t immediate_data_size, 1448 uint32_t immediate_data_size,
1449 const volatile void* cmd_data) { 1449 const volatile void* cmd_data) {
1450 const volatile gles2::cmds::GetSamplerParameteriv& c = 1450 const volatile gles2::cmds::GetSamplerParameteriv& c =
1451 *static_cast<const volatile gles2::cmds::GetSamplerParameteriv*>( 1451 *static_cast<const volatile gles2::cmds::GetSamplerParameteriv*>(
1452 cmd_data); 1452 cmd_data);
1453 GLuint sampler = c.sampler; 1453 GLuint sampler = c.sampler;
1454 GLenum pname = static_cast<GLenum>(c.pname); 1454 GLenum pname = static_cast<GLenum>(c.pname);
1455 unsigned int buffer_size = 0; 1455 unsigned int buffer_size = 0;
1456 typedef cmds::GetSamplerParameteriv::Result Result; 1456 typedef cmds::GetSamplerParameteriv::Result Result;
1457 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1457 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1458 c.params_shm_id, c.params_shm_offset, &buffer_size); 1458 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1459 GLint* params = result ? result->GetData() : NULL; 1459 GLint* params = result ? result->GetData() : NULL;
1460 if (params == NULL) { 1460 if (params == NULL) {
1461 return error::kOutOfBounds; 1461 return error::kOutOfBounds;
1462 } 1462 }
1463 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1463 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1464 GLsizei written_values = 0; 1464 GLsizei written_values = 0;
1465 GLsizei* length = &written_values; 1465 GLsizei* length = &written_values;
1466 error::Error error = 1466 error::Error error =
1467 DoGetSamplerParameteriv(sampler, pname, bufsize, length, params); 1467 DoGetSamplerParameteriv(sampler, pname, bufsize, length, params);
1468 if (error != error::kNoError) { 1468 if (error != error::kNoError) {
1469 return error; 1469 return error;
1470 } 1470 }
1471 if (written_values > bufsize) { 1471 if (written_values > bufsize) {
1472 return error::kOutOfBounds; 1472 return error::kOutOfBounds;
1473 } 1473 }
1474 result->SetNumResults(written_values); 1474 result->SetNumResults(written_values);
1475 return error::kNoError; 1475 return error::kNoError;
1476 } 1476 }
1477 1477
1478 error::Error GLES2DecoderPassthroughImpl::HandleGetShaderiv( 1478 error::Error GLES2DecoderPassthroughImpl::HandleGetShaderiv(
1479 uint32_t immediate_data_size, 1479 uint32_t immediate_data_size,
1480 const volatile void* cmd_data) { 1480 const volatile void* cmd_data) {
1481 const volatile gles2::cmds::GetShaderiv& c = 1481 const volatile gles2::cmds::GetShaderiv& c =
1482 *static_cast<const volatile gles2::cmds::GetShaderiv*>(cmd_data); 1482 *static_cast<const volatile gles2::cmds::GetShaderiv*>(cmd_data);
1483 GLuint shader = c.shader; 1483 GLuint shader = c.shader;
1484 GLenum pname = static_cast<GLenum>(c.pname); 1484 GLenum pname = static_cast<GLenum>(c.pname);
1485 unsigned int buffer_size = 0; 1485 unsigned int buffer_size = 0;
1486 typedef cmds::GetShaderiv::Result Result; 1486 typedef cmds::GetShaderiv::Result Result;
1487 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1487 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1488 c.params_shm_id, c.params_shm_offset, &buffer_size); 1488 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1489 GLint* params = result ? result->GetData() : NULL; 1489 GLint* params = result ? result->GetData() : NULL;
1490 if (params == NULL) { 1490 if (params == NULL) {
1491 return error::kOutOfBounds; 1491 return error::kOutOfBounds;
1492 } 1492 }
1493 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1493 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1494 GLsizei written_values = 0; 1494 GLsizei written_values = 0;
1495 GLsizei* length = &written_values; 1495 GLsizei* length = &written_values;
1496 error::Error error = DoGetShaderiv(shader, pname, bufsize, length, params); 1496 error::Error error = DoGetShaderiv(shader, pname, bufsize, length, params);
1497 if (error != error::kNoError) { 1497 if (error != error::kNoError) {
1498 return error; 1498 return error;
1499 } 1499 }
1500 if (written_values > bufsize) { 1500 if (written_values > bufsize) {
1501 return error::kOutOfBounds; 1501 return error::kOutOfBounds;
1502 } 1502 }
1503 result->SetNumResults(written_values); 1503 result->SetNumResults(written_values);
1504 return error::kNoError; 1504 return error::kNoError;
1505 } 1505 }
1506 1506
1507 error::Error GLES2DecoderPassthroughImpl::HandleGetSynciv( 1507 error::Error GLES2DecoderPassthroughImpl::HandleGetSynciv(
1508 uint32_t immediate_data_size, 1508 uint32_t immediate_data_size,
1509 const volatile void* cmd_data) { 1509 const volatile void* cmd_data) {
1510 const volatile gles2::cmds::GetSynciv& c = 1510 const volatile gles2::cmds::GetSynciv& c =
1511 *static_cast<const volatile gles2::cmds::GetSynciv*>(cmd_data); 1511 *static_cast<const volatile gles2::cmds::GetSynciv*>(cmd_data);
1512 GLuint sync = static_cast<GLuint>(c.sync); 1512 GLuint sync = static_cast<GLuint>(c.sync);
1513 GLenum pname = static_cast<GLenum>(c.pname); 1513 GLenum pname = static_cast<GLenum>(c.pname);
1514 unsigned int buffer_size = 0; 1514 unsigned int buffer_size = 0;
1515 typedef cmds::GetSynciv::Result Result; 1515 typedef cmds::GetSynciv::Result Result;
1516 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1516 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1517 c.values_shm_id, c.values_shm_offset, &buffer_size); 1517 c.values_shm_id, c.values_shm_offset, sizeof(Result), &buffer_size);
1518 GLint* values = result ? result->GetData() : NULL; 1518 GLint* values = result ? result->GetData() : NULL;
1519 if (values == NULL) { 1519 if (values == NULL) {
1520 return error::kOutOfBounds; 1520 return error::kOutOfBounds;
1521 } 1521 }
1522 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1522 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1523 GLsizei written_values = 0; 1523 GLsizei written_values = 0;
1524 GLsizei* length = &written_values; 1524 GLsizei* length = &written_values;
1525 error::Error error = DoGetSynciv(sync, pname, bufsize, length, values); 1525 error::Error error = DoGetSynciv(sync, pname, bufsize, length, values);
1526 if (error != error::kNoError) { 1526 if (error != error::kNoError) {
1527 return error; 1527 return error;
1528 } 1528 }
1529 if (written_values > bufsize) { 1529 if (written_values > bufsize) {
1530 return error::kOutOfBounds; 1530 return error::kOutOfBounds;
1531 } 1531 }
1532 result->SetNumResults(written_values); 1532 result->SetNumResults(written_values);
1533 return error::kNoError; 1533 return error::kNoError;
1534 } 1534 }
1535 1535
1536 error::Error GLES2DecoderPassthroughImpl::HandleGetTexParameterfv( 1536 error::Error GLES2DecoderPassthroughImpl::HandleGetTexParameterfv(
1537 uint32_t immediate_data_size, 1537 uint32_t immediate_data_size,
1538 const volatile void* cmd_data) { 1538 const volatile void* cmd_data) {
1539 const volatile gles2::cmds::GetTexParameterfv& c = 1539 const volatile gles2::cmds::GetTexParameterfv& c =
1540 *static_cast<const volatile gles2::cmds::GetTexParameterfv*>(cmd_data); 1540 *static_cast<const volatile gles2::cmds::GetTexParameterfv*>(cmd_data);
1541 GLenum target = static_cast<GLenum>(c.target); 1541 GLenum target = static_cast<GLenum>(c.target);
1542 GLenum pname = static_cast<GLenum>(c.pname); 1542 GLenum pname = static_cast<GLenum>(c.pname);
1543 unsigned int buffer_size = 0; 1543 unsigned int buffer_size = 0;
1544 typedef cmds::GetTexParameterfv::Result Result; 1544 typedef cmds::GetTexParameterfv::Result Result;
1545 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1545 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1546 c.params_shm_id, c.params_shm_offset, &buffer_size); 1546 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1547 GLfloat* params = result ? result->GetData() : NULL; 1547 GLfloat* params = result ? result->GetData() : NULL;
1548 if (params == NULL) { 1548 if (params == NULL) {
1549 return error::kOutOfBounds; 1549 return error::kOutOfBounds;
1550 } 1550 }
1551 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1551 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1552 GLsizei written_values = 0; 1552 GLsizei written_values = 0;
1553 GLsizei* length = &written_values; 1553 GLsizei* length = &written_values;
1554 error::Error error = 1554 error::Error error =
1555 DoGetTexParameterfv(target, pname, bufsize, length, params); 1555 DoGetTexParameterfv(target, pname, bufsize, length, params);
1556 if (error != error::kNoError) { 1556 if (error != error::kNoError) {
1557 return error; 1557 return error;
1558 } 1558 }
1559 if (written_values > bufsize) { 1559 if (written_values > bufsize) {
1560 return error::kOutOfBounds; 1560 return error::kOutOfBounds;
1561 } 1561 }
1562 result->SetNumResults(written_values); 1562 result->SetNumResults(written_values);
1563 return error::kNoError; 1563 return error::kNoError;
1564 } 1564 }
1565 1565
1566 error::Error GLES2DecoderPassthroughImpl::HandleGetTexParameteriv( 1566 error::Error GLES2DecoderPassthroughImpl::HandleGetTexParameteriv(
1567 uint32_t immediate_data_size, 1567 uint32_t immediate_data_size,
1568 const volatile void* cmd_data) { 1568 const volatile void* cmd_data) {
1569 const volatile gles2::cmds::GetTexParameteriv& c = 1569 const volatile gles2::cmds::GetTexParameteriv& c =
1570 *static_cast<const volatile gles2::cmds::GetTexParameteriv*>(cmd_data); 1570 *static_cast<const volatile gles2::cmds::GetTexParameteriv*>(cmd_data);
1571 GLenum target = static_cast<GLenum>(c.target); 1571 GLenum target = static_cast<GLenum>(c.target);
1572 GLenum pname = static_cast<GLenum>(c.pname); 1572 GLenum pname = static_cast<GLenum>(c.pname);
1573 unsigned int buffer_size = 0; 1573 unsigned int buffer_size = 0;
1574 typedef cmds::GetTexParameteriv::Result Result; 1574 typedef cmds::GetTexParameteriv::Result Result;
1575 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1575 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1576 c.params_shm_id, c.params_shm_offset, &buffer_size); 1576 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1577 GLint* params = result ? result->GetData() : NULL; 1577 GLint* params = result ? result->GetData() : NULL;
1578 if (params == NULL) { 1578 if (params == NULL) {
1579 return error::kOutOfBounds; 1579 return error::kOutOfBounds;
1580 } 1580 }
1581 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1581 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1582 GLsizei written_values = 0; 1582 GLsizei written_values = 0;
1583 GLsizei* length = &written_values; 1583 GLsizei* length = &written_values;
1584 error::Error error = 1584 error::Error error =
1585 DoGetTexParameteriv(target, pname, bufsize, length, params); 1585 DoGetTexParameteriv(target, pname, bufsize, length, params);
1586 if (error != error::kNoError) { 1586 if (error != error::kNoError) {
1587 return error; 1587 return error;
1588 } 1588 }
1589 if (written_values > bufsize) { 1589 if (written_values > bufsize) {
1590 return error::kOutOfBounds; 1590 return error::kOutOfBounds;
1591 } 1591 }
1592 result->SetNumResults(written_values); 1592 result->SetNumResults(written_values);
1593 return error::kNoError; 1593 return error::kNoError;
1594 } 1594 }
1595 1595
1596 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribfv( 1596 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribfv(
1597 uint32_t immediate_data_size, 1597 uint32_t immediate_data_size,
1598 const volatile void* cmd_data) { 1598 const volatile void* cmd_data) {
1599 const volatile gles2::cmds::GetVertexAttribfv& c = 1599 const volatile gles2::cmds::GetVertexAttribfv& c =
1600 *static_cast<const volatile gles2::cmds::GetVertexAttribfv*>(cmd_data); 1600 *static_cast<const volatile gles2::cmds::GetVertexAttribfv*>(cmd_data);
1601 GLuint index = static_cast<GLuint>(c.index); 1601 GLuint index = static_cast<GLuint>(c.index);
1602 GLenum pname = static_cast<GLenum>(c.pname); 1602 GLenum pname = static_cast<GLenum>(c.pname);
1603 unsigned int buffer_size = 0; 1603 unsigned int buffer_size = 0;
1604 typedef cmds::GetVertexAttribfv::Result Result; 1604 typedef cmds::GetVertexAttribfv::Result Result;
1605 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1605 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1606 c.params_shm_id, c.params_shm_offset, &buffer_size); 1606 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1607 GLfloat* params = result ? result->GetData() : NULL; 1607 GLfloat* params = result ? result->GetData() : NULL;
1608 if (params == NULL) { 1608 if (params == NULL) {
1609 return error::kOutOfBounds; 1609 return error::kOutOfBounds;
1610 } 1610 }
1611 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1611 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1612 GLsizei written_values = 0; 1612 GLsizei written_values = 0;
1613 GLsizei* length = &written_values; 1613 GLsizei* length = &written_values;
1614 error::Error error = 1614 error::Error error =
1615 DoGetVertexAttribfv(index, pname, bufsize, length, params); 1615 DoGetVertexAttribfv(index, pname, bufsize, length, params);
1616 if (error != error::kNoError) { 1616 if (error != error::kNoError) {
1617 return error; 1617 return error;
1618 } 1618 }
1619 if (written_values > bufsize) { 1619 if (written_values > bufsize) {
1620 return error::kOutOfBounds; 1620 return error::kOutOfBounds;
1621 } 1621 }
1622 result->SetNumResults(written_values); 1622 result->SetNumResults(written_values);
1623 return error::kNoError; 1623 return error::kNoError;
1624 } 1624 }
1625 1625
1626 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribiv( 1626 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribiv(
1627 uint32_t immediate_data_size, 1627 uint32_t immediate_data_size,
1628 const volatile void* cmd_data) { 1628 const volatile void* cmd_data) {
1629 const volatile gles2::cmds::GetVertexAttribiv& c = 1629 const volatile gles2::cmds::GetVertexAttribiv& c =
1630 *static_cast<const volatile gles2::cmds::GetVertexAttribiv*>(cmd_data); 1630 *static_cast<const volatile gles2::cmds::GetVertexAttribiv*>(cmd_data);
1631 GLuint index = static_cast<GLuint>(c.index); 1631 GLuint index = static_cast<GLuint>(c.index);
1632 GLenum pname = static_cast<GLenum>(c.pname); 1632 GLenum pname = static_cast<GLenum>(c.pname);
1633 unsigned int buffer_size = 0; 1633 unsigned int buffer_size = 0;
1634 typedef cmds::GetVertexAttribiv::Result Result; 1634 typedef cmds::GetVertexAttribiv::Result Result;
1635 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1635 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1636 c.params_shm_id, c.params_shm_offset, &buffer_size); 1636 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1637 GLint* params = result ? result->GetData() : NULL; 1637 GLint* params = result ? result->GetData() : NULL;
1638 if (params == NULL) { 1638 if (params == NULL) {
1639 return error::kOutOfBounds; 1639 return error::kOutOfBounds;
1640 } 1640 }
1641 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1641 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1642 GLsizei written_values = 0; 1642 GLsizei written_values = 0;
1643 GLsizei* length = &written_values; 1643 GLsizei* length = &written_values;
1644 error::Error error = 1644 error::Error error =
1645 DoGetVertexAttribiv(index, pname, bufsize, length, params); 1645 DoGetVertexAttribiv(index, pname, bufsize, length, params);
1646 if (error != error::kNoError) { 1646 if (error != error::kNoError) {
1647 return error; 1647 return error;
1648 } 1648 }
1649 if (written_values > bufsize) { 1649 if (written_values > bufsize) {
1650 return error::kOutOfBounds; 1650 return error::kOutOfBounds;
1651 } 1651 }
1652 result->SetNumResults(written_values); 1652 result->SetNumResults(written_values);
1653 return error::kNoError; 1653 return error::kNoError;
1654 } 1654 }
1655 1655
1656 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribIiv( 1656 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribIiv(
1657 uint32_t immediate_data_size, 1657 uint32_t immediate_data_size,
1658 const volatile void* cmd_data) { 1658 const volatile void* cmd_data) {
1659 const volatile gles2::cmds::GetVertexAttribIiv& c = 1659 const volatile gles2::cmds::GetVertexAttribIiv& c =
1660 *static_cast<const volatile gles2::cmds::GetVertexAttribIiv*>(cmd_data); 1660 *static_cast<const volatile gles2::cmds::GetVertexAttribIiv*>(cmd_data);
1661 GLuint index = static_cast<GLuint>(c.index); 1661 GLuint index = static_cast<GLuint>(c.index);
1662 GLenum pname = static_cast<GLenum>(c.pname); 1662 GLenum pname = static_cast<GLenum>(c.pname);
1663 unsigned int buffer_size = 0; 1663 unsigned int buffer_size = 0;
1664 typedef cmds::GetVertexAttribIiv::Result Result; 1664 typedef cmds::GetVertexAttribIiv::Result Result;
1665 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1665 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1666 c.params_shm_id, c.params_shm_offset, &buffer_size); 1666 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1667 GLint* params = result ? result->GetData() : NULL; 1667 GLint* params = result ? result->GetData() : NULL;
1668 if (params == NULL) { 1668 if (params == NULL) {
1669 return error::kOutOfBounds; 1669 return error::kOutOfBounds;
1670 } 1670 }
1671 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1671 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1672 GLsizei written_values = 0; 1672 GLsizei written_values = 0;
1673 GLsizei* length = &written_values; 1673 GLsizei* length = &written_values;
1674 error::Error error = 1674 error::Error error =
1675 DoGetVertexAttribIiv(index, pname, bufsize, length, params); 1675 DoGetVertexAttribIiv(index, pname, bufsize, length, params);
1676 if (error != error::kNoError) { 1676 if (error != error::kNoError) {
1677 return error; 1677 return error;
1678 } 1678 }
1679 if (written_values > bufsize) { 1679 if (written_values > bufsize) {
1680 return error::kOutOfBounds; 1680 return error::kOutOfBounds;
1681 } 1681 }
1682 result->SetNumResults(written_values); 1682 result->SetNumResults(written_values);
1683 return error::kNoError; 1683 return error::kNoError;
1684 } 1684 }
1685 1685
1686 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribIuiv( 1686 error::Error GLES2DecoderPassthroughImpl::HandleGetVertexAttribIuiv(
1687 uint32_t immediate_data_size, 1687 uint32_t immediate_data_size,
1688 const volatile void* cmd_data) { 1688 const volatile void* cmd_data) {
1689 const volatile gles2::cmds::GetVertexAttribIuiv& c = 1689 const volatile gles2::cmds::GetVertexAttribIuiv& c =
1690 *static_cast<const volatile gles2::cmds::GetVertexAttribIuiv*>(cmd_data); 1690 *static_cast<const volatile gles2::cmds::GetVertexAttribIuiv*>(cmd_data);
1691 GLuint index = static_cast<GLuint>(c.index); 1691 GLuint index = static_cast<GLuint>(c.index);
1692 GLenum pname = static_cast<GLenum>(c.pname); 1692 GLenum pname = static_cast<GLenum>(c.pname);
1693 unsigned int buffer_size = 0; 1693 unsigned int buffer_size = 0;
1694 typedef cmds::GetVertexAttribIuiv::Result Result; 1694 typedef cmds::GetVertexAttribIuiv::Result Result;
1695 Result* result = GetSharedMemoryAndSizeAs<Result*>( 1695 Result* result = GetSharedMemoryAndSizeAs<Result*>(
1696 c.params_shm_id, c.params_shm_offset, &buffer_size); 1696 c.params_shm_id, c.params_shm_offset, sizeof(Result), &buffer_size);
1697 GLuint* params = result ? result->GetData() : NULL; 1697 GLuint* params = result ? result->GetData() : NULL;
1698 if (params == NULL) { 1698 if (params == NULL) {
1699 return error::kOutOfBounds; 1699 return error::kOutOfBounds;
1700 } 1700 }
1701 GLsizei bufsize = Result::ComputeMaxResults(buffer_size); 1701 GLsizei bufsize = Result::ComputeMaxResults(buffer_size);
1702 GLsizei written_values = 0; 1702 GLsizei written_values = 0;
1703 GLsizei* length = &written_values; 1703 GLsizei* length = &written_values;
1704 error::Error error = 1704 error::Error error =
1705 DoGetVertexAttribIuiv(index, pname, bufsize, length, params); 1705 DoGetVertexAttribIuiv(index, pname, bufsize, length, params);
1706 if (error != error::kNoError) { 1706 if (error != error::kNoError) {
(...skipping 2687 matching lines...) Expand 10 before | Expand all | Expand 10 after
4394 GLboolean enabled = static_cast<GLboolean>(c.enabled); 4394 GLboolean enabled = static_cast<GLboolean>(c.enabled);
4395 error::Error error = DoSetEnableDCLayersCHROMIUM(enabled); 4395 error::Error error = DoSetEnableDCLayersCHROMIUM(enabled);
4396 if (error != error::kNoError) { 4396 if (error != error::kNoError) {
4397 return error; 4397 return error;
4398 } 4398 }
4399 return error::kNoError; 4399 return error::kNoError;
4400 } 4400 }
4401 4401
4402 } // namespace gles2 4402 } // namespace gles2
4403 } // namespace gpu 4403 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698