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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h

Issue 2264253003: Command buffers: ensure we only read immediate data once (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Keep track of the correct draw buffer Created 4 years, 4 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
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 796 matching lines...) Expand 10 before | Expand all | Expand 10 after
807 807
808 TEST_P(GLES2DecoderTest2, SamplerParameterfvImmediateValidArgs) { 808 TEST_P(GLES2DecoderTest2, SamplerParameterfvImmediateValidArgs) {
809 cmds::SamplerParameterfvImmediate& cmd = 809 cmds::SamplerParameterfvImmediate& cmd =
810 *GetImmediateAs<cmds::SamplerParameterfvImmediate>(); 810 *GetImmediateAs<cmds::SamplerParameterfvImmediate>();
811 SpecializedSetup<cmds::SamplerParameterfvImmediate, 0>(true); 811 SpecializedSetup<cmds::SamplerParameterfvImmediate, 0>(true);
812 GLfloat temp[1] = { 812 GLfloat temp[1] = {
813 GL_NEAREST, 813 GL_NEAREST,
814 }; 814 };
815 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]); 815 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]);
816 EXPECT_CALL(*gl_, SamplerParameterf(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 816 EXPECT_CALL(*gl_, SamplerParameterf(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
817 *reinterpret_cast<GLfloat*>( 817 temp[0]));
818 ImmediateDataAddress(&cmd))));
819 decoder_->set_unsafe_es3_apis_enabled(true); 818 decoder_->set_unsafe_es3_apis_enabled(true);
820 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 819 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
821 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 820 EXPECT_EQ(GL_NO_ERROR, GetGLError());
822 decoder_->set_unsafe_es3_apis_enabled(false); 821 decoder_->set_unsafe_es3_apis_enabled(false);
823 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); 822 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp)));
824 } 823 }
825 824
826 TEST_P(GLES2DecoderTest2, SamplerParameteriValidArgs) { 825 TEST_P(GLES2DecoderTest2, SamplerParameteriValidArgs) {
827 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 826 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
828 GL_NEAREST)); 827 GL_NEAREST));
829 SpecializedSetup<cmds::SamplerParameteri, 0>(true); 828 SpecializedSetup<cmds::SamplerParameteri, 0>(true);
830 cmds::SamplerParameteri cmd; 829 cmds::SamplerParameteri cmd;
831 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 830 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
832 decoder_->set_unsafe_es3_apis_enabled(true); 831 decoder_->set_unsafe_es3_apis_enabled(true);
833 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 832 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
834 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 833 EXPECT_EQ(GL_NO_ERROR, GetGLError());
835 decoder_->set_unsafe_es3_apis_enabled(false); 834 decoder_->set_unsafe_es3_apis_enabled(false);
836 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 835 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
837 } 836 }
838 837
839 TEST_P(GLES2DecoderTest2, SamplerParameterivImmediateValidArgs) { 838 TEST_P(GLES2DecoderTest2, SamplerParameterivImmediateValidArgs) {
840 cmds::SamplerParameterivImmediate& cmd = 839 cmds::SamplerParameterivImmediate& cmd =
841 *GetImmediateAs<cmds::SamplerParameterivImmediate>(); 840 *GetImmediateAs<cmds::SamplerParameterivImmediate>();
842 SpecializedSetup<cmds::SamplerParameterivImmediate, 0>(true); 841 SpecializedSetup<cmds::SamplerParameterivImmediate, 0>(true);
843 GLint temp[1] = { 842 GLint temp[1] = {
844 GL_NEAREST, 843 GL_NEAREST,
845 }; 844 };
846 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]); 845 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]);
847 EXPECT_CALL(*gl_, SamplerParameteri( 846 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
848 kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 847 temp[0]));
849 *reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
850 decoder_->set_unsafe_es3_apis_enabled(true); 848 decoder_->set_unsafe_es3_apis_enabled(true);
851 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 849 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
852 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 850 EXPECT_EQ(GL_NO_ERROR, GetGLError());
853 decoder_->set_unsafe_es3_apis_enabled(false); 851 decoder_->set_unsafe_es3_apis_enabled(false);
854 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); 852 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp)));
855 } 853 }
856 854
857 TEST_P(GLES2DecoderTest2, ScissorValidArgs) { 855 TEST_P(GLES2DecoderTest2, ScissorValidArgs) {
858 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); 856 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4));
859 SpecializedSetup<cmds::Scissor, 0>(true); 857 SpecializedSetup<cmds::Scissor, 0>(true);
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 } 1028 }
1031 1029
1032 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { 1030 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) {
1033 cmds::TexParameterfvImmediate& cmd = 1031 cmds::TexParameterfvImmediate& cmd =
1034 *GetImmediateAs<cmds::TexParameterfvImmediate>(); 1032 *GetImmediateAs<cmds::TexParameterfvImmediate>();
1035 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); 1033 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true);
1036 GLfloat temp[1] = { 1034 GLfloat temp[1] = {
1037 GL_NEAREST, 1035 GL_NEAREST,
1038 }; 1036 };
1039 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); 1037 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]);
1040 EXPECT_CALL( 1038 EXPECT_CALL(*gl_,
1041 *gl_, 1039 TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, temp[0]));
1042 TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
1043 *reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1044 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1040 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1045 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1041 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1046 } 1042 }
1047 1043
1048 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { 1044 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) {
1049 cmds::TexParameterfvImmediate& cmd = 1045 cmds::TexParameterfvImmediate& cmd =
1050 *GetImmediateAs<cmds::TexParameterfvImmediate>(); 1046 *GetImmediateAs<cmds::TexParameterfvImmediate>();
1051 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); 1047 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0);
1052 1048
1053 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); 1049 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1128 } 1124 }
1129 1125
1130 TEST_P(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { 1126 TEST_P(GLES2DecoderTest2, TexParameterivImmediateValidArgs) {
1131 cmds::TexParameterivImmediate& cmd = 1127 cmds::TexParameterivImmediate& cmd =
1132 *GetImmediateAs<cmds::TexParameterivImmediate>(); 1128 *GetImmediateAs<cmds::TexParameterivImmediate>();
1133 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); 1129 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true);
1134 GLint temp[1] = { 1130 GLint temp[1] = {
1135 GL_NEAREST, 1131 GL_NEAREST,
1136 }; 1132 };
1137 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); 1133 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]);
1138 EXPECT_CALL(*gl_, TexParameteri( 1134 EXPECT_CALL(*gl_,
1139 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 1135 TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, temp[0]));
1140 *reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
1141 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1136 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1142 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1137 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1143 } 1138 }
1144 1139
1145 TEST_P(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { 1140 TEST_P(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) {
1146 cmds::TexParameterivImmediate& cmd = 1141 cmds::TexParameterivImmediate& cmd =
1147 *GetImmediateAs<cmds::TexParameterivImmediate>(); 1142 *GetImmediateAs<cmds::TexParameterivImmediate>();
1148 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); 1143 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0);
1149 1144
1150 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); 1145 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false);
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1252 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); 1247 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _));
1253 SpecializedSetup<cmds::Uniform1f, 0>(true); 1248 SpecializedSetup<cmds::Uniform1f, 0>(true);
1254 cmds::Uniform1f cmd; 1249 cmds::Uniform1f cmd;
1255 cmd.Init(1, 2); 1250 cmd.Init(1, 2);
1256 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1251 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1257 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1252 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1258 } 1253 }
1259 1254
1260 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { 1255 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) {
1261 cmds::Uniform1fvImmediate& cmd = *GetImmediateAs<cmds::Uniform1fvImmediate>(); 1256 cmds::Uniform1fvImmediate& cmd = *GetImmediateAs<cmds::Uniform1fvImmediate>();
1262 EXPECT_CALL(
1263 *gl_,
1264 Uniform1fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1265 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); 1257 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true);
1266 GLfloat temp[1 * 2] = { 1258 GLfloat temp[1 * 2] = {
1267 0, 1259 0,
1268 }; 1260 };
1261 EXPECT_CALL(*gl_, Uniform1fv(1, 2, PointsToArray(temp, 1)));
1269 cmd.Init(1, 2, &temp[0]); 1262 cmd.Init(1, 2, &temp[0]);
1270 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1263 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1271 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1264 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1272 } 1265 }
1273 1266
1274 TEST_P(GLES2DecoderTest2, Uniform2fValidArgs) { 1267 TEST_P(GLES2DecoderTest2, Uniform2fValidArgs) {
1275 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); 1268 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _));
1276 SpecializedSetup<cmds::Uniform2f, 0>(true); 1269 SpecializedSetup<cmds::Uniform2f, 0>(true);
1277 cmds::Uniform2f cmd; 1270 cmds::Uniform2f cmd;
1278 cmd.Init(1, 2, 3); 1271 cmd.Init(1, 2, 3);
1279 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1272 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1280 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1273 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1281 } 1274 }
1282 1275
1283 TEST_P(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { 1276 TEST_P(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) {
1284 cmds::Uniform2fvImmediate& cmd = *GetImmediateAs<cmds::Uniform2fvImmediate>(); 1277 cmds::Uniform2fvImmediate& cmd = *GetImmediateAs<cmds::Uniform2fvImmediate>();
1285 EXPECT_CALL(
1286 *gl_,
1287 Uniform2fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1288 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); 1278 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true);
1289 GLfloat temp[2 * 2] = { 1279 GLfloat temp[2 * 2] = {
1290 0, 1280 0,
1291 }; 1281 };
1282 EXPECT_CALL(*gl_, Uniform2fv(1, 2, PointsToArray(temp, 2)));
1292 cmd.Init(1, 2, &temp[0]); 1283 cmd.Init(1, 2, &temp[0]);
1293 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1284 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1294 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1285 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1295 } 1286 }
1296 1287
1297 TEST_P(GLES2DecoderTest2, Uniform2iValidArgs) { 1288 TEST_P(GLES2DecoderTest2, Uniform2iValidArgs) {
1298 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); 1289 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _));
1299 SpecializedSetup<cmds::Uniform2i, 0>(true); 1290 SpecializedSetup<cmds::Uniform2i, 0>(true);
1300 cmds::Uniform2i cmd; 1291 cmds::Uniform2i cmd;
1301 cmd.Init(1, 2, 3); 1292 cmd.Init(1, 2, 3);
1302 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1293 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1303 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1294 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1304 } 1295 }
1305 1296
1306 TEST_P(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { 1297 TEST_P(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) {
1307 cmds::Uniform2ivImmediate& cmd = *GetImmediateAs<cmds::Uniform2ivImmediate>(); 1298 cmds::Uniform2ivImmediate& cmd = *GetImmediateAs<cmds::Uniform2ivImmediate>();
1308 EXPECT_CALL(
1309 *gl_,
1310 Uniform2iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
1311 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); 1299 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true);
1312 GLint temp[2 * 2] = { 1300 GLint temp[2 * 2] = {
1313 0, 1301 0,
1314 }; 1302 };
1303 EXPECT_CALL(*gl_, Uniform2iv(1, 2, PointsToArray(temp, 2)));
1315 cmd.Init(1, 2, &temp[0]); 1304 cmd.Init(1, 2, &temp[0]);
1316 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1305 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1317 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1306 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1318 } 1307 }
1319 1308
1320 TEST_P(GLES2DecoderTest2, Uniform3fValidArgs) { 1309 TEST_P(GLES2DecoderTest2, Uniform3fValidArgs) {
1321 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); 1310 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _));
1322 SpecializedSetup<cmds::Uniform3f, 0>(true); 1311 SpecializedSetup<cmds::Uniform3f, 0>(true);
1323 cmds::Uniform3f cmd; 1312 cmds::Uniform3f cmd;
1324 cmd.Init(1, 2, 3, 4); 1313 cmd.Init(1, 2, 3, 4);
1325 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1314 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1326 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1315 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1327 } 1316 }
1328 1317
1329 TEST_P(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { 1318 TEST_P(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) {
1330 cmds::Uniform3fvImmediate& cmd = *GetImmediateAs<cmds::Uniform3fvImmediate>(); 1319 cmds::Uniform3fvImmediate& cmd = *GetImmediateAs<cmds::Uniform3fvImmediate>();
1331 EXPECT_CALL(
1332 *gl_,
1333 Uniform3fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1334 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); 1320 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true);
1335 GLfloat temp[3 * 2] = { 1321 GLfloat temp[3 * 2] = {
1336 0, 1322 0,
1337 }; 1323 };
1324 EXPECT_CALL(*gl_, Uniform3fv(1, 2, PointsToArray(temp, 3)));
1338 cmd.Init(1, 2, &temp[0]); 1325 cmd.Init(1, 2, &temp[0]);
1339 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1326 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1340 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1327 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1341 } 1328 }
1342 1329
1343 TEST_P(GLES2DecoderTest2, Uniform3iValidArgs) { 1330 TEST_P(GLES2DecoderTest2, Uniform3iValidArgs) {
1344 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); 1331 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _));
1345 SpecializedSetup<cmds::Uniform3i, 0>(true); 1332 SpecializedSetup<cmds::Uniform3i, 0>(true);
1346 cmds::Uniform3i cmd; 1333 cmds::Uniform3i cmd;
1347 cmd.Init(1, 2, 3, 4); 1334 cmd.Init(1, 2, 3, 4);
1348 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1335 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1349 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1336 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1350 } 1337 }
1351 1338
1352 TEST_P(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { 1339 TEST_P(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) {
1353 cmds::Uniform3ivImmediate& cmd = *GetImmediateAs<cmds::Uniform3ivImmediate>(); 1340 cmds::Uniform3ivImmediate& cmd = *GetImmediateAs<cmds::Uniform3ivImmediate>();
1354 EXPECT_CALL(
1355 *gl_,
1356 Uniform3iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
1357 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); 1341 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true);
1358 GLint temp[3 * 2] = { 1342 GLint temp[3 * 2] = {
1359 0, 1343 0,
1360 }; 1344 };
1345 EXPECT_CALL(*gl_, Uniform3iv(1, 2, PointsToArray(temp, 3)));
1361 cmd.Init(1, 2, &temp[0]); 1346 cmd.Init(1, 2, &temp[0]);
1362 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1347 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1363 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1348 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1364 } 1349 }
1365 1350
1366 TEST_P(GLES2DecoderTest2, Uniform4fValidArgs) { 1351 TEST_P(GLES2DecoderTest2, Uniform4fValidArgs) {
1367 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); 1352 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _));
1368 SpecializedSetup<cmds::Uniform4f, 0>(true); 1353 SpecializedSetup<cmds::Uniform4f, 0>(true);
1369 cmds::Uniform4f cmd; 1354 cmds::Uniform4f cmd;
1370 cmd.Init(1, 2, 3, 4, 5); 1355 cmd.Init(1, 2, 3, 4, 5);
1371 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1356 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1372 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1357 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1373 } 1358 }
1374 1359
1375 TEST_P(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { 1360 TEST_P(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) {
1376 cmds::Uniform4fvImmediate& cmd = *GetImmediateAs<cmds::Uniform4fvImmediate>(); 1361 cmds::Uniform4fvImmediate& cmd = *GetImmediateAs<cmds::Uniform4fvImmediate>();
1377 EXPECT_CALL(
1378 *gl_,
1379 Uniform4fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd))));
1380 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); 1362 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true);
1381 GLfloat temp[4 * 2] = { 1363 GLfloat temp[4 * 2] = {
1382 0, 1364 0,
1383 }; 1365 };
1366 EXPECT_CALL(*gl_, Uniform4fv(1, 2, PointsToArray(temp, 4)));
1384 cmd.Init(1, 2, &temp[0]); 1367 cmd.Init(1, 2, &temp[0]);
1385 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1368 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1386 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1369 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1387 } 1370 }
1388 1371
1389 TEST_P(GLES2DecoderTest2, Uniform4iValidArgs) { 1372 TEST_P(GLES2DecoderTest2, Uniform4iValidArgs) {
1390 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); 1373 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _));
1391 SpecializedSetup<cmds::Uniform4i, 0>(true); 1374 SpecializedSetup<cmds::Uniform4i, 0>(true);
1392 cmds::Uniform4i cmd; 1375 cmds::Uniform4i cmd;
1393 cmd.Init(1, 2, 3, 4, 5); 1376 cmd.Init(1, 2, 3, 4, 5);
1394 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1377 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1395 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1378 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1396 } 1379 }
1397 1380
1398 TEST_P(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { 1381 TEST_P(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) {
1399 cmds::Uniform4ivImmediate& cmd = *GetImmediateAs<cmds::Uniform4ivImmediate>(); 1382 cmds::Uniform4ivImmediate& cmd = *GetImmediateAs<cmds::Uniform4ivImmediate>();
1400 EXPECT_CALL(
1401 *gl_,
1402 Uniform4iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd))));
1403 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); 1383 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true);
1404 GLint temp[4 * 2] = { 1384 GLint temp[4 * 2] = {
1405 0, 1385 0,
1406 }; 1386 };
1387 EXPECT_CALL(*gl_, Uniform4iv(1, 2, PointsToArray(temp, 4)));
1407 cmd.Init(1, 2, &temp[0]); 1388 cmd.Init(1, 2, &temp[0]);
1408 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1389 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1409 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1390 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1410 } 1391 }
1411 1392
1412 TEST_P(GLES2DecoderTest2, UniformMatrix2x3fvImmediateValidArgs) { 1393 TEST_P(GLES2DecoderTest2, UniformMatrix2x3fvImmediateValidArgs) {
1413 cmds::UniformMatrix2x3fvImmediate& cmd = 1394 cmds::UniformMatrix2x3fvImmediate& cmd =
1414 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>(); 1395 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>();
1415 EXPECT_CALL(*gl_,
1416 UniformMatrix2x3fv(1, 2, true, reinterpret_cast<GLfloat*>(
1417 ImmediateDataAddress(&cmd))));
1418 SpecializedSetup<cmds::UniformMatrix2x3fvImmediate, 0>(true); 1396 SpecializedSetup<cmds::UniformMatrix2x3fvImmediate, 0>(true);
1419 GLfloat temp[6 * 2] = { 1397 GLfloat temp[6 * 2] = {
1420 0, 1398 0,
1421 }; 1399 };
1400 EXPECT_CALL(*gl_, UniformMatrix2x3fv(1, 2, true, PointsToArray(temp, 6)));
1422 cmd.Init(1, 2, true, &temp[0]); 1401 cmd.Init(1, 2, true, &temp[0]);
1423 decoder_->set_unsafe_es3_apis_enabled(true); 1402 decoder_->set_unsafe_es3_apis_enabled(true);
1424 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1403 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1425 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1404 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1426 decoder_->set_unsafe_es3_apis_enabled(false); 1405 decoder_->set_unsafe_es3_apis_enabled(false);
1427 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); 1406 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp)));
1428 } 1407 }
1429 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ 1408 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698