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

Side by Side Diff: gpu/command_buffer/client/gles2_implementation_unittest.cc

Issue 885443002: Roll Chrome into Mojo. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Rebase to ToT mojo Created 5 years, 10 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 (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 // Tests for GLES2Implementation. 5 // Tests for GLES2Implementation.
6 6
7 #include "gpu/command_buffer/client/gles2_implementation.h" 7 #include "gpu/command_buffer/client/gles2_implementation.h"
8 8
9 #include <limits> 9 #include <limits>
10 10
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 GLint precision4 = 0; 889 GLint precision4 = 0;
890 gl_->GetShaderPrecisionFormat(GL_FRAGMENT_SHADER, GL_MEDIUM_FLOAT, range4, 890 gl_->GetShaderPrecisionFormat(GL_FRAGMENT_SHADER, GL_MEDIUM_FLOAT, range4,
891 &precision4); 891 &precision4);
892 const void* commands5 = GetPut(); 892 const void* commands5 = GetPut();
893 EXPECT_EQ(commands4, commands5); 893 EXPECT_EQ(commands4, commands5);
894 EXPECT_EQ(range4[0], 3); 894 EXPECT_EQ(range4[0], 3);
895 EXPECT_EQ(range4[1], 5); 895 EXPECT_EQ(range4[1], 5);
896 EXPECT_EQ(precision4, 7); 896 EXPECT_EQ(precision4, 7);
897 } 897 }
898 898
899 TEST_F(GLES2ImplementationTest, ShaderSource) {
900 const uint32 kBucketId = GLES2Implementation::kResultBucketId;
901 const GLuint kShaderId = 456;
902 const char* kString1 = "foobar";
903 const char* kString2 = "barfoo";
904 const size_t kString1Size = strlen(kString1) + 1;
905 const size_t kString2Size = strlen(kString2) + 1;
906 const size_t kHeaderSize = sizeof(GLint) * 3;
907 const size_t kSourceSize = kHeaderSize + kString1Size + kString2Size;
908 const size_t kPaddedHeaderSize =
909 transfer_buffer_->RoundToAlignment(kHeaderSize);
910 const size_t kPaddedString1Size =
911 transfer_buffer_->RoundToAlignment(kString1Size);
912 const size_t kPaddedString2Size =
913 transfer_buffer_->RoundToAlignment(kString2Size);
914 struct Cmds {
915 cmd::SetBucketSize set_bucket_size;
916 cmd::SetBucketData set_bucket_header;
917 cmd::SetToken set_token1;
918 cmd::SetBucketData set_bucket_data1;
919 cmd::SetToken set_token2;
920 cmd::SetBucketData set_bucket_data2;
921 cmd::SetToken set_token3;
922 cmds::ShaderSourceBucket shader_source_bucket;
923 cmd::SetBucketSize clear_bucket_size;
924 };
925
926 ExpectedMemoryInfo mem0 = GetExpectedMemory(kPaddedHeaderSize);
927 ExpectedMemoryInfo mem1 = GetExpectedMemory(kPaddedString1Size);
928 ExpectedMemoryInfo mem2 = GetExpectedMemory(kPaddedString2Size);
929
930 Cmds expected;
931 expected.set_bucket_size.Init(kBucketId, kSourceSize);
932 expected.set_bucket_header.Init(
933 kBucketId, 0, kHeaderSize, mem0.id, mem0.offset);
934 expected.set_token1.Init(GetNextToken());
935 expected.set_bucket_data1.Init(
936 kBucketId, kHeaderSize, kString1Size, mem1.id, mem1.offset);
937 expected.set_token2.Init(GetNextToken());
938 expected.set_bucket_data2.Init(
939 kBucketId, kHeaderSize + kString1Size, kString2Size, mem2.id,
940 mem2.offset);
941 expected.set_token3.Init(GetNextToken());
942 expected.shader_source_bucket.Init(kShaderId, kBucketId);
943 expected.clear_bucket_size.Init(kBucketId, 0);
944 const char* kStrings[] = {
945 kString1,
946 kString2,
947 };
948 gl_->ShaderSource(kShaderId, 2, kStrings, NULL);
949 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
950 }
951
952 TEST_F(GLES2ImplementationTest, ShaderSourceWithLength) {
953 const uint32 kBucketId = GLES2Implementation::kResultBucketId;
954 const GLuint kShaderId = 456;
955 const char* kString = "foobar******";
956 const size_t kStringSize = 6; // We only need "foobar".
957 const size_t kHeaderSize = sizeof(GLint) * 2;
958 const size_t kSourceSize = kHeaderSize + kStringSize + 1;
959 const size_t kPaddedHeaderSize =
960 transfer_buffer_->RoundToAlignment(kHeaderSize);
961 const size_t kPaddedStringSize =
962 transfer_buffer_->RoundToAlignment(kStringSize + 1);
963
964 struct Cmds {
965 cmd::SetBucketSize set_bucket_size;
966 cmd::SetBucketData set_bucket_header;
967 cmd::SetToken set_token1;
968 cmd::SetBucketData set_bucket_data;
969 cmd::SetToken set_token2;
970 cmds::ShaderSourceBucket shader_source_bucket;
971 cmd::SetBucketSize clear_bucket_size;
972 };
973
974 ExpectedMemoryInfo mem0 = GetExpectedMemory(kPaddedHeaderSize);
975 ExpectedMemoryInfo mem1 = GetExpectedMemory(kPaddedStringSize);
976
977 Cmds expected;
978 expected.set_bucket_size.Init(kBucketId, kSourceSize);
979 expected.set_bucket_header.Init(
980 kBucketId, 0, kHeaderSize, mem0.id, mem0.offset);
981 expected.set_token1.Init(GetNextToken());
982 expected.set_bucket_data.Init(
983 kBucketId, kHeaderSize, kStringSize + 1, mem1.id, mem1.offset);
984 expected.set_token2.Init(GetNextToken());
985 expected.shader_source_bucket.Init(kShaderId, kBucketId);
986 expected.clear_bucket_size.Init(kBucketId, 0);
987 const char* kStrings[] = { kString };
988 const GLint kLength[] = { kStringSize };
989 gl_->ShaderSource(kShaderId, 1, kStrings, kLength);
990 EXPECT_EQ(0, memcmp(&expected, commands_, sizeof(expected)));
991 }
992
993 TEST_F(GLES2ImplementationTest, GetShaderSource) { 899 TEST_F(GLES2ImplementationTest, GetShaderSource) {
994 const uint32 kBucketId = GLES2Implementation::kResultBucketId; 900 const uint32 kBucketId = GLES2Implementation::kResultBucketId;
995 const GLuint kShaderId = 456; 901 const GLuint kShaderId = 456;
996 const Str7 kString = {"foobar"}; 902 const Str7 kString = {"foobar"};
997 const char kBad = 0x12; 903 const char kBad = 0x12;
998 struct Cmds { 904 struct Cmds {
999 cmd::SetBucketSize set_bucket_size1; 905 cmd::SetBucketSize set_bucket_size1;
1000 cmds::GetShaderSource get_shader_source; 906 cmds::GetShaderSource get_shader_source;
1001 cmd::GetBucketStart get_bucket_start; 907 cmd::GetBucketStart get_bucket_start;
1002 cmd::SetToken set_token1; 908 cmd::SetToken set_token1;
(...skipping 2627 matching lines...) Expand 10 before | Expand all | Expand 10 after
3630 TEST_F(GLES2ImplementationManualInitTest, FailInitOnTransferBufferFail) { 3536 TEST_F(GLES2ImplementationManualInitTest, FailInitOnTransferBufferFail) {
3631 ContextInitOptions init_options; 3537 ContextInitOptions init_options;
3632 init_options.transfer_buffer_initialize_fail = true; 3538 init_options.transfer_buffer_initialize_fail = true;
3633 EXPECT_FALSE(Initialize(init_options)); 3539 EXPECT_FALSE(Initialize(init_options));
3634 } 3540 }
3635 3541
3636 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" 3542 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h"
3637 3543
3638 } // namespace gles2 3544 } // namespace gles2
3639 } // namespace gpu 3545 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698