OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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/client/program_info_manager.h" | 5 #include "gpu/command_buffer/client/program_info_manager.h" |
6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
7 | 7 |
8 namespace { | 8 namespace { |
9 | 9 |
10 uint32 ComputeOffset(const void* start, const void* position) { | 10 uint32 ComputeOffset(const void* start, const void* position) { |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 SetupUniformBlocksData(&data); | 184 SetupUniformBlocksData(&data); |
185 std::vector<int8> result(sizeof(data)); | 185 std::vector<int8> result(sizeof(data)); |
186 memcpy(&result[0], &data, sizeof(data)); | 186 memcpy(&result[0], &data, sizeof(data)); |
187 program_->UpdateES3UniformBlocks(result); | 187 program_->UpdateES3UniformBlocks(result); |
188 const char* kName[] = { data.name0, data.name1 }; | 188 const char* kName[] = { data.name0, data.name1 }; |
189 const uint32_t* kIndices[] = { data.indices0, data.indices1 }; | 189 const uint32_t* kIndices[] = { data.indices0, data.indices1 }; |
190 | 190 |
191 for (uint32_t ii = 0; ii < data.header.num_uniform_blocks; ++ii) { | 191 for (uint32_t ii = 0; ii < data.header.num_uniform_blocks; ++ii) { |
192 ASSERT_GE(2u, data.entry[ii].active_uniforms); | 192 ASSERT_GE(2u, data.entry[ii].active_uniforms); |
193 GLint params[2]; | 193 GLint params[2]; |
194 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 194 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
195 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_BINDING, params)); | 195 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_BINDING, params)); |
196 EXPECT_EQ(data.entry[ii].binding, static_cast<uint32_t>(params[0])); | 196 EXPECT_EQ(data.entry[ii].binding, static_cast<uint32_t>(params[0])); |
197 | 197 |
198 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 198 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
199 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_DATA_SIZE, params)); | 199 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_DATA_SIZE, params)); |
200 EXPECT_EQ(data.entry[ii].data_size, static_cast<uint32_t>(params[0])); | 200 EXPECT_EQ(data.entry[ii].data_size, static_cast<uint32_t>(params[0])); |
201 | 201 |
202 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 202 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
203 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_NAME_LENGTH, params)); | 203 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_NAME_LENGTH, params)); |
204 EXPECT_EQ(strlen(kName[ii]) + 1, static_cast<uint32_t>(params[0])); | 204 EXPECT_EQ(strlen(kName[ii]) + 1, static_cast<uint32_t>(params[0])); |
205 | 205 |
206 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 206 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
207 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, params)); | 207 NULL, kClientProgramId, ii, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, params)); |
208 EXPECT_EQ(data.entry[ii].active_uniforms, static_cast<uint32_t>(params[0])); | 208 EXPECT_EQ(data.entry[ii].active_uniforms, static_cast<uint32_t>(params[0])); |
209 | 209 |
210 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 210 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
211 NULL, kClientProgramId, ii, | 211 NULL, kClientProgramId, ii, |
212 GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, params)); | 212 GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, params)); |
213 for (uint32_t uu = 0; uu < data.entry[ii].active_uniforms; ++uu) { | 213 for (uint32_t uu = 0; uu < data.entry[ii].active_uniforms; ++uu) { |
214 EXPECT_EQ(kIndices[ii][uu], static_cast<uint32_t>(params[uu])); | 214 EXPECT_EQ(kIndices[ii][uu], static_cast<uint32_t>(params[uu])); |
215 } | 215 } |
216 | 216 |
217 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 217 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
218 NULL, kClientProgramId, ii, | 218 NULL, kClientProgramId, ii, |
219 GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, params)); | 219 GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, params)); |
220 EXPECT_EQ(data.entry[ii].referenced_by_vertex_shader, | 220 EXPECT_EQ(data.entry[ii].referenced_by_vertex_shader, |
221 static_cast<uint32_t>(params[0])); | 221 static_cast<uint32_t>(params[0])); |
222 | 222 |
223 EXPECT_EQ(true, program_info_manager_->GetActiveUniformBlockiv( | 223 EXPECT_TRUE(program_info_manager_->GetActiveUniformBlockiv( |
224 NULL, kClientProgramId, ii, | 224 NULL, kClientProgramId, ii, |
225 GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, params)); | 225 GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, params)); |
226 EXPECT_EQ(data.entry[ii].referenced_by_fragment_shader, | 226 EXPECT_EQ(data.entry[ii].referenced_by_fragment_shader, |
227 static_cast<uint32_t>(params[0])); | 227 static_cast<uint32_t>(params[0])); |
228 } | 228 } |
229 } | 229 } |
230 | 230 |
231 } // namespace gles2 | 231 } // namespace gles2 |
232 } // namespace gpu | 232 } // namespace gpu |
233 | 233 |
OLD | NEW |