OLD | NEW |
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 |
11 // It is included by gles2_cmd_decoder_unittest_2.cc | 11 // It is included by gles2_cmd_decoder_unittest_2.cc |
12 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 12 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
13 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 13 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
14 | 14 |
| 15 // TODO(gman): GetUniformiv |
| 16 |
15 // TODO(gman): GetUniformLocation | 17 // TODO(gman): GetUniformLocation |
16 | 18 |
17 TEST_P(GLES2DecoderTest2, GetVertexAttribfvValidArgs) { | 19 TEST_P(GLES2DecoderTest2, GetVertexAttribfvValidArgs) { |
18 SpecializedSetup<cmds::GetVertexAttribfv, 0>(true); | 20 SpecializedSetup<cmds::GetVertexAttribfv, 0>(true); |
19 typedef cmds::GetVertexAttribfv::Result Result; | 21 typedef cmds::GetVertexAttribfv::Result Result; |
20 Result* result = static_cast<Result*>(shared_memory_address_); | 22 Result* result = static_cast<Result*>(shared_memory_address_); |
21 result->size = 0; | 23 result->size = 0; |
22 cmds::GetVertexAttribfv cmd; | 24 cmds::GetVertexAttribfv cmd; |
23 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, | 25 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, |
24 shared_memory_offset_); | 26 shared_memory_offset_); |
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
571 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 573 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
572 } | 574 } |
573 | 575 |
574 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidHeader) { | 576 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidHeader) { |
575 const uint32 kBucketId = 123; | 577 const uint32 kBucketId = 123; |
576 const char kSource0[] = "hello"; | 578 const char kSource0[] = "hello"; |
577 const char* kSource[] = {kSource0}; | 579 const char* kSource[] = {kSource0}; |
578 const char kValidStrEnd = 0; | 580 const char kValidStrEnd = 0; |
579 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource)); | 581 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource)); |
580 const GLsizei kTests[] = { | 582 const GLsizei kTests[] = { |
581 kCount, 0, std::numeric_limits<GLsizei>::max(), -1, kCount, | 583 kCount + 1, 0, std::numeric_limits<GLsizei>::max(), -1, |
582 }; | 584 }; |
583 decoder_->set_unsafe_es3_apis_enabled(true); | 585 decoder_->set_unsafe_es3_apis_enabled(true); |
584 for (size_t ii = 0; ii < arraysize(kTests); ++ii) { | 586 for (size_t ii = 0; ii < arraysize(kTests); ++ii) { |
585 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd); | 587 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd); |
586 cmds::ShaderSourceBucket cmd; | 588 cmds::ShaderSourceBucket cmd; |
587 cmd.Init(client_shader_id_, kBucketId); | 589 cmd.Init(client_shader_id_, kBucketId); |
588 if (kTests[ii] == kCount) { | 590 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); |
589 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | |
590 } else { | |
591 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); | |
592 } | |
593 } | 591 } |
594 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
595 } | 592 } |
596 | 593 |
597 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidStringEnding) { | 594 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidStringEnding) { |
598 const uint32 kBucketId = 123; | 595 const uint32 kBucketId = 123; |
599 const char kSource0[] = "hello"; | 596 const char kSource0[] = "hello"; |
600 const char* kSource[] = {kSource0}; | 597 const char* kSource[] = {kSource0}; |
601 const char kInvalidStrEnd = '*'; | 598 const char kInvalidStrEnd = '*'; |
602 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd); | 599 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd); |
603 cmds::ShaderSourceBucket cmd; | 600 cmds::ShaderSourceBucket cmd; |
604 cmd.Init(client_shader_id_, kBucketId); | 601 cmd.Init(client_shader_id_, kBucketId); |
605 decoder_->set_unsafe_es3_apis_enabled(true); | 602 decoder_->set_unsafe_es3_apis_enabled(true); |
606 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); | 603 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); |
607 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
608 } | 604 } |
609 | 605 |
610 TEST_P(GLES2DecoderTest2, StencilFuncValidArgs) { | 606 TEST_P(GLES2DecoderTest2, StencilFuncValidArgs) { |
611 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); | 607 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); |
612 SpecializedSetup<cmds::StencilFunc, 0>(true); | 608 SpecializedSetup<cmds::StencilFunc, 0>(true); |
613 cmds::StencilFunc cmd; | 609 cmds::StencilFunc cmd; |
614 cmd.Init(GL_NEVER, 2, 3); | 610 cmd.Init(GL_NEVER, 2, 3); |
615 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 611 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
616 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 612 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
617 } | 613 } |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
865 decoder_->set_unsafe_es3_apis_enabled(true); | 861 decoder_->set_unsafe_es3_apis_enabled(true); |
866 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 862 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
867 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 863 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
868 decoder_->set_unsafe_es3_apis_enabled(false); | 864 decoder_->set_unsafe_es3_apis_enabled(false); |
869 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); | 865 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
870 } | 866 } |
871 // TODO(gman): TexSubImage2D | 867 // TODO(gman): TexSubImage2D |
872 | 868 |
873 // TODO(gman): TexSubImage3D | 869 // TODO(gman): TexSubImage3D |
874 | 870 |
| 871 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketValidArgs) { |
| 872 EXPECT_CALL(*gl_, TransformFeedbackVaryings(kServiceProgramId, 1, _, |
| 873 GL_INTERLEAVED_ATTRIBS)); |
| 874 const uint32 kBucketId = 123; |
| 875 const char kSource0[] = "hello"; |
| 876 const char* kSource[] = {kSource0}; |
| 877 const char kValidStrEnd = 0; |
| 878 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd); |
| 879 cmds::TransformFeedbackVaryingsBucket cmd; |
| 880 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); |
| 881 decoder_->set_unsafe_es3_apis_enabled(true); |
| 882 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 883 decoder_->set_unsafe_es3_apis_enabled(false); |
| 884 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
| 885 } |
| 886 |
| 887 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidArgs) { |
| 888 const uint32 kBucketId = 123; |
| 889 const char kSource0[] = "hello"; |
| 890 const char* kSource[] = {kSource0}; |
| 891 const char kValidStrEnd = 0; |
| 892 decoder_->set_unsafe_es3_apis_enabled(true); |
| 893 cmds::TransformFeedbackVaryingsBucket cmd; |
| 894 // Test no bucket. |
| 895 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); |
| 896 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
| 897 // Test invalid client. |
| 898 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd); |
| 899 cmd.Init(kInvalidClientId, kBucketId, GL_INTERLEAVED_ATTRIBS); |
| 900 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 901 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
| 902 } |
| 903 |
| 904 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidHeader) { |
| 905 const uint32 kBucketId = 123; |
| 906 const char kSource0[] = "hello"; |
| 907 const char* kSource[] = {kSource0}; |
| 908 const char kValidStrEnd = 0; |
| 909 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource)); |
| 910 const GLsizei kTests[] = { |
| 911 kCount + 1, 0, std::numeric_limits<GLsizei>::max(), -1, |
| 912 }; |
| 913 decoder_->set_unsafe_es3_apis_enabled(true); |
| 914 for (size_t ii = 0; ii < arraysize(kTests); ++ii) { |
| 915 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd); |
| 916 cmds::TransformFeedbackVaryingsBucket cmd; |
| 917 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); |
| 918 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); |
| 919 } |
| 920 } |
| 921 |
| 922 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidStringEnding) { |
| 923 const uint32 kBucketId = 123; |
| 924 const char kSource0[] = "hello"; |
| 925 const char* kSource[] = {kSource0}; |
| 926 const char kInvalidStrEnd = '*'; |
| 927 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd); |
| 928 cmds::TransformFeedbackVaryingsBucket cmd; |
| 929 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); |
| 930 decoder_->set_unsafe_es3_apis_enabled(true); |
| 931 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); |
| 932 } |
| 933 |
875 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) { | 934 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) { |
876 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); | 935 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); |
877 SpecializedSetup<cmds::Uniform1f, 0>(true); | 936 SpecializedSetup<cmds::Uniform1f, 0>(true); |
878 cmds::Uniform1f cmd; | 937 cmds::Uniform1f cmd; |
879 cmd.Init(1, 2); | 938 cmd.Init(1, 2); |
880 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 939 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
881 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 940 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
882 } | 941 } |
883 | 942 |
884 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { | 943 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1460 EXPECT_CALL(*gl_, VertexAttribI4ui(1, 2, 3, 4, 5)); | 1519 EXPECT_CALL(*gl_, VertexAttribI4ui(1, 2, 3, 4, 5)); |
1461 SpecializedSetup<cmds::VertexAttribI4ui, 0>(true); | 1520 SpecializedSetup<cmds::VertexAttribI4ui, 0>(true); |
1462 cmds::VertexAttribI4ui cmd; | 1521 cmds::VertexAttribI4ui cmd; |
1463 cmd.Init(1, 2, 3, 4, 5); | 1522 cmd.Init(1, 2, 3, 4, 5); |
1464 decoder_->set_unsafe_es3_apis_enabled(true); | 1523 decoder_->set_unsafe_es3_apis_enabled(true); |
1465 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1524 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1466 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1525 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1467 decoder_->set_unsafe_es3_apis_enabled(false); | 1526 decoder_->set_unsafe_es3_apis_enabled(false); |
1468 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); | 1527 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); |
1469 } | 1528 } |
1470 | |
1471 TEST_P(GLES2DecoderTest2, VertexAttribI4uivImmediateValidArgs) { | |
1472 cmds::VertexAttribI4uivImmediate& cmd = | |
1473 *GetImmediateAs<cmds::VertexAttribI4uivImmediate>(); | |
1474 SpecializedSetup<cmds::VertexAttribI4uivImmediate, 0>(true); | |
1475 GLuint temp[4] = { | |
1476 0, | |
1477 }; | |
1478 cmd.Init(1, &temp[0]); | |
1479 EXPECT_CALL(*gl_, VertexAttribI4uiv(1, reinterpret_cast<GLuint*>( | |
1480 ImmediateDataAddress(&cmd)))); | |
1481 decoder_->set_unsafe_es3_apis_enabled(true); | |
1482 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | |
1483 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | |
1484 decoder_->set_unsafe_es3_apis_enabled(false); | |
1485 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); | |
1486 } | |
1487 // TODO(gman): VertexAttribIPointer | |
1488 | |
1489 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 1529 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
OLD | NEW |