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 <GLES2/gl2.h> | 5 #include <GLES2/gl2.h> |
6 | 6 |
7 #include "gpu/command_buffer/service/shader_translator.h" | 7 #include "gpu/command_buffer/service/shader_translator.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 namespace gpu { | 10 namespace gpu { |
11 namespace gles2 { | 11 namespace gles2 { |
12 | 12 |
13 class ShaderTranslatorTest : public testing::Test { | 13 class ShaderTranslatorTest : public testing::Test { |
Ken Russell (switch to Gerrit)
2015/08/05 18:29:38
Somewhere there should be some tests of the handli
| |
14 public: | 14 public: |
15 ShaderTranslatorTest() { | 15 ShaderTranslatorTest() { |
16 } | 16 } |
17 | 17 |
18 ~ShaderTranslatorTest() override {} | 18 ~ShaderTranslatorTest() override {} |
19 | 19 |
20 protected: | 20 protected: |
21 void SetUp() override { | 21 void SetUp() override { |
22 ShBuiltInResources resources; | 22 ShBuiltInResources resources; |
23 ShInitBuiltInResources(&resources); | 23 ShInitBuiltInResources(&resources); |
24 resources.MaxExpressionComplexity = 32; | 24 resources.MaxExpressionComplexity = 32; |
25 resources.MaxCallStackDepth = 32; | 25 resources.MaxCallStackDepth = 32; |
26 | 26 |
27 vertex_translator_ = new ShaderTranslator(); | 27 vertex_translator_ = new ShaderTranslator(); |
28 fragment_translator_ = new ShaderTranslator(); | 28 fragment_translator_ = new ShaderTranslator(); |
29 | 29 |
30 ASSERT_TRUE(vertex_translator_->Init( | 30 ASSERT_TRUE(vertex_translator_->Init(GL_VERTEX_SHADER, SH_GLES2_SPEC, |
31 GL_VERTEX_SHADER, SH_GLES2_SPEC, &resources, | 31 &resources, SH_GLSL_150_CORE_OUTPUT, |
Ken Russell (switch to Gerrit)
2015/08/05 18:29:38
I'm not sure the 150_CORE_OUTPUT will be the commo
Kimmo Kinnunen
2015/08/10 08:36:34
Done.
| |
32 ShaderTranslatorInterface::kGlsl, | 32 SH_EMULATE_BUILT_IN_FUNCTIONS)); |
33 SH_EMULATE_BUILT_IN_FUNCTIONS)); | 33 ASSERT_TRUE(fragment_translator_->Init(GL_FRAGMENT_SHADER, SH_GLES2_SPEC, |
34 ASSERT_TRUE(fragment_translator_->Init( | 34 &resources, SH_GLSL_150_CORE_OUTPUT, |
35 GL_FRAGMENT_SHADER, SH_GLES2_SPEC, &resources, | 35 static_cast<ShCompileOptions>(0))); |
36 ShaderTranslatorInterface::kGlsl, | |
37 static_cast<ShCompileOptions>(0))); | |
38 } | 36 } |
39 void TearDown() override { | 37 void TearDown() override { |
40 vertex_translator_ = NULL; | 38 vertex_translator_ = NULL; |
41 fragment_translator_ = NULL; | 39 fragment_translator_ = NULL; |
42 } | 40 } |
43 | 41 |
44 scoped_refptr<ShaderTranslator> vertex_translator_; | 42 scoped_refptr<ShaderTranslator> vertex_translator_; |
45 scoped_refptr<ShaderTranslator> fragment_translator_; | 43 scoped_refptr<ShaderTranslator> fragment_translator_; |
46 }; | 44 }; |
47 | 45 |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
283 } | 281 } |
284 | 282 |
285 TEST_F(ShaderTranslatorTest, OptionsString) { | 283 TEST_F(ShaderTranslatorTest, OptionsString) { |
286 scoped_refptr<ShaderTranslator> translator_1 = new ShaderTranslator(); | 284 scoped_refptr<ShaderTranslator> translator_1 = new ShaderTranslator(); |
287 scoped_refptr<ShaderTranslator> translator_2 = new ShaderTranslator(); | 285 scoped_refptr<ShaderTranslator> translator_2 = new ShaderTranslator(); |
288 scoped_refptr<ShaderTranslator> translator_3 = new ShaderTranslator(); | 286 scoped_refptr<ShaderTranslator> translator_3 = new ShaderTranslator(); |
289 | 287 |
290 ShBuiltInResources resources; | 288 ShBuiltInResources resources; |
291 ShInitBuiltInResources(&resources); | 289 ShInitBuiltInResources(&resources); |
292 | 290 |
293 ASSERT_TRUE(translator_1->Init( | 291 ASSERT_TRUE(translator_1->Init(GL_VERTEX_SHADER, SH_GLES2_SPEC, &resources, |
294 GL_VERTEX_SHADER, SH_GLES2_SPEC, &resources, | 292 SH_GLSL_150_CORE_OUTPUT, |
295 ShaderTranslatorInterface::kGlsl, | 293 SH_EMULATE_BUILT_IN_FUNCTIONS)); |
296 SH_EMULATE_BUILT_IN_FUNCTIONS)); | 294 ASSERT_TRUE(translator_2->Init(GL_FRAGMENT_SHADER, SH_GLES2_SPEC, &resources, |
297 ASSERT_TRUE(translator_2->Init( | 295 SH_GLSL_150_CORE_OUTPUT, |
298 GL_FRAGMENT_SHADER, SH_GLES2_SPEC, &resources, | 296 static_cast<ShCompileOptions>(0))); |
299 ShaderTranslatorInterface::kGlsl, | |
300 static_cast<ShCompileOptions>(0))); | |
301 resources.EXT_draw_buffers = 1; | 297 resources.EXT_draw_buffers = 1; |
302 ASSERT_TRUE(translator_3->Init( | 298 ASSERT_TRUE(translator_3->Init(GL_VERTEX_SHADER, SH_GLES2_SPEC, &resources, |
303 GL_VERTEX_SHADER, SH_GLES2_SPEC, &resources, | 299 SH_GLSL_150_CORE_OUTPUT, |
304 ShaderTranslatorInterface::kGlsl, | 300 SH_EMULATE_BUILT_IN_FUNCTIONS)); |
305 SH_EMULATE_BUILT_IN_FUNCTIONS)); | |
306 | 301 |
307 std::string options_1( | 302 std::string options_1( |
308 translator_1->GetStringForOptionsThatWouldAffectCompilation()); | 303 translator_1->GetStringForOptionsThatWouldAffectCompilation()); |
309 std::string options_2( | 304 std::string options_2( |
310 translator_1->GetStringForOptionsThatWouldAffectCompilation()); | 305 translator_1->GetStringForOptionsThatWouldAffectCompilation()); |
311 std::string options_3( | 306 std::string options_3( |
312 translator_2->GetStringForOptionsThatWouldAffectCompilation()); | 307 translator_2->GetStringForOptionsThatWouldAffectCompilation()); |
313 std::string options_4( | 308 std::string options_4( |
314 translator_3->GetStringForOptionsThatWouldAffectCompilation()); | 309 translator_3->GetStringForOptionsThatWouldAffectCompilation()); |
315 | 310 |
316 EXPECT_EQ(options_1, options_2); | 311 EXPECT_EQ(options_1, options_2); |
317 EXPECT_NE(options_1, options_3); | 312 EXPECT_NE(options_1, options_3); |
318 EXPECT_NE(options_1, options_4); | 313 EXPECT_NE(options_1, options_4); |
319 EXPECT_NE(options_3, options_4); | 314 EXPECT_NE(options_3, options_4); |
320 } | 315 } |
321 | 316 |
322 } // namespace gles2 | 317 } // namespace gles2 |
323 } // namespace gpu | 318 } // namespace gpu |
324 | 319 |
OLD | NEW |