OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 .RetiresOnSaturation(); | 594 .RetiresOnSaturation(); |
595 } | 595 } |
596 } | 596 } |
597 | 597 |
598 void GLES2DecoderTestBase::SetupShaderForUniform() { | 598 void GLES2DecoderTestBase::SetupShaderForUniform() { |
599 static AttribInfo attribs[] = { | 599 static AttribInfo attribs[] = { |
600 { "foo", 1, GL_FLOAT, 1, }, | 600 { "foo", 1, GL_FLOAT, 1, }, |
601 { "goo", 1, GL_FLOAT, 2, }, | 601 { "goo", 1, GL_FLOAT, 2, }, |
602 }; | 602 }; |
603 static UniformInfo uniforms[] = { | 603 static UniformInfo uniforms[] = { |
604 { "bar", 1, GL_INT, 0, 2, }, | 604 { "bar", 1, GL_INT, 0, 2, -1, }, |
605 { "car", 4, GL_INT, 1, 1, }, | 605 { "car", 4, GL_INT, 1, 1, -1, }, |
606 }; | 606 }; |
607 const GLuint kClientVertexShaderId = 5001; | 607 const GLuint kClientVertexShaderId = 5001; |
608 const GLuint kServiceVertexShaderId = 6001; | 608 const GLuint kServiceVertexShaderId = 6001; |
609 const GLuint kClientFragmentShaderId = 5002; | 609 const GLuint kClientFragmentShaderId = 5002; |
610 const GLuint kServiceFragmentShaderId = 6002; | 610 const GLuint kServiceFragmentShaderId = 6002; |
611 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), | 611 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), |
612 client_program_id_, kServiceProgramId, | 612 client_program_id_, kServiceProgramId, |
613 kClientVertexShaderId, kServiceVertexShaderId, | 613 kClientVertexShaderId, kServiceVertexShaderId, |
614 kClientFragmentShaderId, kServiceFragmentShaderId); | 614 kClientFragmentShaderId, kServiceFragmentShaderId); |
615 | 615 |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1066 const GLint GLES2DecoderTestBase::kUniform2Size; | 1066 const GLint GLES2DecoderTestBase::kUniform2Size; |
1067 const GLint GLES2DecoderTestBase::kUniform3Size; | 1067 const GLint GLES2DecoderTestBase::kUniform3Size; |
1068 const GLint GLES2DecoderTestBase::kUniform1RealLocation; | 1068 const GLint GLES2DecoderTestBase::kUniform1RealLocation; |
1069 const GLint GLES2DecoderTestBase::kUniform2RealLocation; | 1069 const GLint GLES2DecoderTestBase::kUniform2RealLocation; |
1070 const GLint GLES2DecoderTestBase::kUniform2ElementRealLocation; | 1070 const GLint GLES2DecoderTestBase::kUniform2ElementRealLocation; |
1071 const GLint GLES2DecoderTestBase::kUniform3RealLocation; | 1071 const GLint GLES2DecoderTestBase::kUniform3RealLocation; |
1072 const GLint GLES2DecoderTestBase::kUniform1FakeLocation; | 1072 const GLint GLES2DecoderTestBase::kUniform1FakeLocation; |
1073 const GLint GLES2DecoderTestBase::kUniform2FakeLocation; | 1073 const GLint GLES2DecoderTestBase::kUniform2FakeLocation; |
1074 const GLint GLES2DecoderTestBase::kUniform2ElementFakeLocation; | 1074 const GLint GLES2DecoderTestBase::kUniform2ElementFakeLocation; |
1075 const GLint GLES2DecoderTestBase::kUniform3FakeLocation; | 1075 const GLint GLES2DecoderTestBase::kUniform3FakeLocation; |
| 1076 const GLint GLES2DecoderTestBase::kUniform1DesiredLocation; |
| 1077 const GLint GLES2DecoderTestBase::kUniform2DesiredLocation; |
| 1078 const GLint GLES2DecoderTestBase::kUniform3DesiredLocation; |
1076 const GLenum GLES2DecoderTestBase::kUniform1Type; | 1079 const GLenum GLES2DecoderTestBase::kUniform1Type; |
1077 const GLenum GLES2DecoderTestBase::kUniform2Type; | 1080 const GLenum GLES2DecoderTestBase::kUniform2Type; |
1078 const GLenum GLES2DecoderTestBase::kUniform3Type; | 1081 const GLenum GLES2DecoderTestBase::kUniform3Type; |
1079 const GLenum GLES2DecoderTestBase::kUniformCubemapType; | 1082 const GLenum GLES2DecoderTestBase::kUniformCubemapType; |
1080 const GLint GLES2DecoderTestBase::kInvalidUniformLocation; | 1083 const GLint GLES2DecoderTestBase::kInvalidUniformLocation; |
1081 const GLint GLES2DecoderTestBase::kBadUniformIndex; | 1084 const GLint GLES2DecoderTestBase::kBadUniformIndex; |
1082 | 1085 |
1083 #endif | 1086 #endif |
1084 | 1087 |
1085 const char* GLES2DecoderTestBase::kAttrib1Name = "attrib1"; | 1088 const char* GLES2DecoderTestBase::kAttrib1Name = "attrib1"; |
1086 const char* GLES2DecoderTestBase::kAttrib2Name = "attrib2"; | 1089 const char* GLES2DecoderTestBase::kAttrib2Name = "attrib2"; |
1087 const char* GLES2DecoderTestBase::kAttrib3Name = "attrib3"; | 1090 const char* GLES2DecoderTestBase::kAttrib3Name = "attrib3"; |
1088 const char* GLES2DecoderTestBase::kUniform1Name = "uniform1"; | 1091 const char* GLES2DecoderTestBase::kUniform1Name = "uniform1"; |
1089 const char* GLES2DecoderTestBase::kUniform2Name = "uniform2[0]"; | 1092 const char* GLES2DecoderTestBase::kUniform2Name = "uniform2[0]"; |
1090 const char* GLES2DecoderTestBase::kUniform3Name = "uniform3[0]"; | 1093 const char* GLES2DecoderTestBase::kUniform3Name = "uniform3[0]"; |
1091 | 1094 |
1092 void GLES2DecoderTestBase::SetupDefaultProgram() { | 1095 void GLES2DecoderTestBase::SetupDefaultProgram() { |
1093 { | 1096 { |
1094 static AttribInfo attribs[] = { | 1097 static AttribInfo attribs[] = { |
1095 { kAttrib1Name, kAttrib1Size, kAttrib1Type, kAttrib1Location, }, | 1098 { kAttrib1Name, kAttrib1Size, kAttrib1Type, kAttrib1Location, }, |
1096 { kAttrib2Name, kAttrib2Size, kAttrib2Type, kAttrib2Location, }, | 1099 { kAttrib2Name, kAttrib2Size, kAttrib2Type, kAttrib2Location, }, |
1097 { kAttrib3Name, kAttrib3Size, kAttrib3Type, kAttrib3Location, }, | 1100 { kAttrib3Name, kAttrib3Size, kAttrib3Type, kAttrib3Location, }, |
1098 }; | 1101 }; |
1099 static UniformInfo uniforms[] = { | 1102 static UniformInfo uniforms[] = { |
1100 { kUniform1Name, kUniform1Size, kUniform1Type, | 1103 { kUniform1Name, kUniform1Size, kUniform1Type, |
1101 kUniform1FakeLocation, kUniform1RealLocation }, | 1104 kUniform1FakeLocation, kUniform1RealLocation, |
| 1105 kUniform1DesiredLocation }, |
1102 { kUniform2Name, kUniform2Size, kUniform2Type, | 1106 { kUniform2Name, kUniform2Size, kUniform2Type, |
1103 kUniform2FakeLocation, kUniform2RealLocation }, | 1107 kUniform2FakeLocation, kUniform2RealLocation, |
| 1108 kUniform2DesiredLocation }, |
1104 { kUniform3Name, kUniform3Size, kUniform3Type, | 1109 { kUniform3Name, kUniform3Size, kUniform3Type, |
1105 kUniform3FakeLocation, kUniform3RealLocation }, | 1110 kUniform3FakeLocation, kUniform3RealLocation, |
| 1111 kUniform3DesiredLocation }, |
1106 }; | 1112 }; |
1107 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), | 1113 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), |
1108 client_program_id_, kServiceProgramId, | 1114 client_program_id_, kServiceProgramId, |
1109 client_vertex_shader_id_, kServiceVertexShaderId, | 1115 client_vertex_shader_id_, kServiceVertexShaderId, |
1110 client_fragment_shader_id_, kServiceFragmentShaderId); | 1116 client_fragment_shader_id_, kServiceFragmentShaderId); |
1111 } | 1117 } |
1112 | 1118 |
1113 { | 1119 { |
1114 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)) | 1120 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)) |
1115 .Times(1) | 1121 .Times(1) |
1116 .RetiresOnSaturation(); | 1122 .RetiresOnSaturation(); |
1117 UseProgram cmd; | 1123 UseProgram cmd; |
1118 cmd.Init(client_program_id_); | 1124 cmd.Init(client_program_id_); |
1119 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1125 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1120 } | 1126 } |
1121 } | 1127 } |
1122 | 1128 |
1123 void GLES2DecoderTestBase::SetupCubemapProgram() { | 1129 void GLES2DecoderTestBase::SetupCubemapProgram() { |
1124 { | 1130 { |
1125 static AttribInfo attribs[] = { | 1131 static AttribInfo attribs[] = { |
1126 { kAttrib1Name, kAttrib1Size, kAttrib1Type, kAttrib1Location, }, | 1132 { kAttrib1Name, kAttrib1Size, kAttrib1Type, kAttrib1Location, }, |
1127 { kAttrib2Name, kAttrib2Size, kAttrib2Type, kAttrib2Location, }, | 1133 { kAttrib2Name, kAttrib2Size, kAttrib2Type, kAttrib2Location, }, |
1128 { kAttrib3Name, kAttrib3Size, kAttrib3Type, kAttrib3Location, }, | 1134 { kAttrib3Name, kAttrib3Size, kAttrib3Type, kAttrib3Location, }, |
1129 }; | 1135 }; |
1130 static UniformInfo uniforms[] = { | 1136 static UniformInfo uniforms[] = { |
1131 { kUniform1Name, kUniform1Size, kUniformCubemapType, | 1137 { kUniform1Name, kUniform1Size, kUniformCubemapType, |
1132 kUniform1FakeLocation, kUniform1RealLocation, }, | 1138 kUniform1FakeLocation, kUniform1RealLocation, |
| 1139 kUniform1DesiredLocation, }, |
1133 { kUniform2Name, kUniform2Size, kUniform2Type, | 1140 { kUniform2Name, kUniform2Size, kUniform2Type, |
1134 kUniform2FakeLocation, kUniform2RealLocation, }, | 1141 kUniform2FakeLocation, kUniform2RealLocation, |
| 1142 kUniform2DesiredLocation, }, |
1135 { kUniform3Name, kUniform3Size, kUniform3Type, | 1143 { kUniform3Name, kUniform3Size, kUniform3Type, |
1136 kUniform3FakeLocation, kUniform3RealLocation, }, | 1144 kUniform3FakeLocation, kUniform3RealLocation, |
| 1145 kUniform3DesiredLocation, }, |
1137 }; | 1146 }; |
1138 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), | 1147 SetupShader(attribs, arraysize(attribs), uniforms, arraysize(uniforms), |
1139 client_program_id_, kServiceProgramId, | 1148 client_program_id_, kServiceProgramId, |
1140 client_vertex_shader_id_, kServiceVertexShaderId, | 1149 client_vertex_shader_id_, kServiceVertexShaderId, |
1141 client_fragment_shader_id_, kServiceFragmentShaderId); | 1150 client_fragment_shader_id_, kServiceFragmentShaderId); |
1142 } | 1151 } |
1143 | 1152 |
1144 { | 1153 { |
1145 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)) | 1154 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)) |
1146 .Times(1) | 1155 .Times(1) |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1329 num_vertices, buffer_id, GL_NO_ERROR); | 1338 num_vertices, buffer_id, GL_NO_ERROR); |
1330 } | 1339 } |
1331 | 1340 |
1332 void GLES2DecoderWithShaderTestBase::SetUp() { | 1341 void GLES2DecoderWithShaderTestBase::SetUp() { |
1333 GLES2DecoderTestBase::SetUp(); | 1342 GLES2DecoderTestBase::SetUp(); |
1334 SetupDefaultProgram(); | 1343 SetupDefaultProgram(); |
1335 } | 1344 } |
1336 | 1345 |
1337 } // namespace gles2 | 1346 } // namespace gles2 |
1338 } // namespace gpu | 1347 } // namespace gpu |
OLD | NEW |