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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc

Issue 895853003: Update from https://crrev.com/314320 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: 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 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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" 9 #include "gpu/command_buffer/common/gles2_cmd_format.h"
10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 10 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 .Times(1) 920 .Times(1)
921 .RetiresOnSaturation(); 921 .RetiresOnSaturation();
922 EXPECT_EQ(error::kNoError, ExecuteCmd(depth_cmd)); 922 EXPECT_EQ(error::kNoError, ExecuteCmd(depth_cmd));
923 EXPECT_EQ(error::kNoError, ExecuteCmd(stencil_cmd)); 923 EXPECT_EQ(error::kNoError, ExecuteCmd(stencil_cmd));
924 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 924 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
925 } 925 }
926 #endif 926 #endif
927 927
928 TEST_P(GLES2DecoderManualInitTest, ActualAlphaMatchesRequestedAlpha) { 928 TEST_P(GLES2DecoderManualInitTest, ActualAlphaMatchesRequestedAlpha) {
929 InitState init; 929 InitState init;
930 init.gl_version = "3.0";
931 init.has_alpha = true; 930 init.has_alpha = true;
932 init.request_alpha = true; 931 init.request_alpha = true;
933 init.bind_generates_resource = true; 932 init.bind_generates_resource = true;
934 InitDecoder(init); 933 InitDecoder(init);
935 934
936 EXPECT_CALL(*gl_, GetError()) 935 EXPECT_CALL(*gl_, GetError())
937 .WillOnce(Return(GL_NO_ERROR)) 936 .WillOnce(Return(GL_NO_ERROR))
938 .WillOnce(Return(GL_NO_ERROR)) 937 .WillOnce(Return(GL_NO_ERROR))
939 .RetiresOnSaturation(); 938 .RetiresOnSaturation();
940 typedef GetIntegerv::Result Result; 939 typedef GetIntegerv::Result Result;
941 Result* result = static_cast<Result*>(shared_memory_address_); 940 Result* result = static_cast<Result*>(shared_memory_address_);
942 EXPECT_CALL(*gl_, GetIntegerv(GL_ALPHA_BITS, _)) 941 EXPECT_CALL(*gl_, GetIntegerv(GL_ALPHA_BITS, _))
943 .WillOnce(SetArgumentPointee<1>(8)) 942 .WillOnce(SetArgumentPointee<1>(8))
944 .RetiresOnSaturation(); 943 .RetiresOnSaturation();
945 result->size = 0; 944 result->size = 0;
946 GetIntegerv cmd2; 945 GetIntegerv cmd2;
947 cmd2.Init(GL_ALPHA_BITS, shared_memory_id_, shared_memory_offset_); 946 cmd2.Init(GL_ALPHA_BITS, shared_memory_id_, shared_memory_offset_);
948 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2)); 947 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
949 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_ALPHA_BITS), 948 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_ALPHA_BITS),
950 result->GetNumResults()); 949 result->GetNumResults());
951 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 950 EXPECT_EQ(GL_NO_ERROR, GetGLError());
952 EXPECT_EQ(8, result->GetData()[0]); 951 EXPECT_EQ(8, result->GetData()[0]);
953 } 952 }
954 953
955 TEST_P(GLES2DecoderManualInitTest, ActualAlphaDoesNotMatchRequestedAlpha) { 954 TEST_P(GLES2DecoderManualInitTest, ActualAlphaDoesNotMatchRequestedAlpha) {
956 InitState init; 955 InitState init;
957 init.gl_version = "3.0";
958 init.has_alpha = true; 956 init.has_alpha = true;
959 init.bind_generates_resource = true; 957 init.bind_generates_resource = true;
960 InitDecoder(init); 958 InitDecoder(init);
961 959
962 EXPECT_CALL(*gl_, GetError()) 960 EXPECT_CALL(*gl_, GetError())
963 .WillOnce(Return(GL_NO_ERROR)) 961 .WillOnce(Return(GL_NO_ERROR))
964 .WillOnce(Return(GL_NO_ERROR)) 962 .WillOnce(Return(GL_NO_ERROR))
965 .RetiresOnSaturation(); 963 .RetiresOnSaturation();
966 typedef GetIntegerv::Result Result; 964 typedef GetIntegerv::Result Result;
967 Result* result = static_cast<Result*>(shared_memory_address_); 965 Result* result = static_cast<Result*>(shared_memory_address_);
968 EXPECT_CALL(*gl_, GetIntegerv(GL_ALPHA_BITS, _)) 966 EXPECT_CALL(*gl_, GetIntegerv(GL_ALPHA_BITS, _))
969 .WillOnce(SetArgumentPointee<1>(8)) 967 .WillOnce(SetArgumentPointee<1>(8))
970 .RetiresOnSaturation(); 968 .RetiresOnSaturation();
971 result->size = 0; 969 result->size = 0;
972 GetIntegerv cmd2; 970 GetIntegerv cmd2;
973 cmd2.Init(GL_ALPHA_BITS, shared_memory_id_, shared_memory_offset_); 971 cmd2.Init(GL_ALPHA_BITS, shared_memory_id_, shared_memory_offset_);
974 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2)); 972 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
975 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_ALPHA_BITS), 973 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_ALPHA_BITS),
976 result->GetNumResults()); 974 result->GetNumResults());
977 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 975 EXPECT_EQ(GL_NO_ERROR, GetGLError());
978 EXPECT_EQ(0, result->GetData()[0]); 976 EXPECT_EQ(0, result->GetData()[0]);
979 } 977 }
980 978
981 TEST_P(GLES2DecoderManualInitTest, ActualDepthMatchesRequestedDepth) { 979 TEST_P(GLES2DecoderManualInitTest, ActualDepthMatchesRequestedDepth) {
982 InitState init; 980 InitState init;
983 init.gl_version = "3.0";
984 init.has_depth = true; 981 init.has_depth = true;
985 init.request_depth = true; 982 init.request_depth = true;
986 init.bind_generates_resource = true; 983 init.bind_generates_resource = true;
987 InitDecoder(init); 984 InitDecoder(init);
988 985
989 EXPECT_CALL(*gl_, GetError()) 986 EXPECT_CALL(*gl_, GetError())
990 .WillOnce(Return(GL_NO_ERROR)) 987 .WillOnce(Return(GL_NO_ERROR))
991 .WillOnce(Return(GL_NO_ERROR)) 988 .WillOnce(Return(GL_NO_ERROR))
992 .RetiresOnSaturation(); 989 .RetiresOnSaturation();
993 typedef GetIntegerv::Result Result; 990 typedef GetIntegerv::Result Result;
994 Result* result = static_cast<Result*>(shared_memory_address_); 991 Result* result = static_cast<Result*>(shared_memory_address_);
995 EXPECT_CALL(*gl_, GetIntegerv(GL_DEPTH_BITS, _)) 992 EXPECT_CALL(*gl_, GetIntegerv(GL_DEPTH_BITS, _))
996 .WillOnce(SetArgumentPointee<1>(24)) 993 .WillOnce(SetArgumentPointee<1>(24))
997 .RetiresOnSaturation(); 994 .RetiresOnSaturation();
998 result->size = 0; 995 result->size = 0;
999 GetIntegerv cmd2; 996 GetIntegerv cmd2;
1000 cmd2.Init(GL_DEPTH_BITS, shared_memory_id_, shared_memory_offset_); 997 cmd2.Init(GL_DEPTH_BITS, shared_memory_id_, shared_memory_offset_);
1001 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2)); 998 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
1002 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_DEPTH_BITS), 999 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_DEPTH_BITS),
1003 result->GetNumResults()); 1000 result->GetNumResults());
1004 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1001 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1005 EXPECT_EQ(24, result->GetData()[0]); 1002 EXPECT_EQ(24, result->GetData()[0]);
1006 } 1003 }
1007 1004
1008 TEST_P(GLES2DecoderManualInitTest, ActualDepthDoesNotMatchRequestedDepth) { 1005 TEST_P(GLES2DecoderManualInitTest, ActualDepthDoesNotMatchRequestedDepth) {
1009 InitState init; 1006 InitState init;
1010 init.gl_version = "3.0";
1011 init.has_depth = true; 1007 init.has_depth = true;
1012 init.bind_generates_resource = true; 1008 init.bind_generates_resource = true;
1013 InitDecoder(init); 1009 InitDecoder(init);
1014 1010
1015 EXPECT_CALL(*gl_, GetError()) 1011 EXPECT_CALL(*gl_, GetError())
1016 .WillOnce(Return(GL_NO_ERROR)) 1012 .WillOnce(Return(GL_NO_ERROR))
1017 .WillOnce(Return(GL_NO_ERROR)) 1013 .WillOnce(Return(GL_NO_ERROR))
1018 .RetiresOnSaturation(); 1014 .RetiresOnSaturation();
1019 typedef GetIntegerv::Result Result; 1015 typedef GetIntegerv::Result Result;
1020 Result* result = static_cast<Result*>(shared_memory_address_); 1016 Result* result = static_cast<Result*>(shared_memory_address_);
1021 EXPECT_CALL(*gl_, GetIntegerv(GL_DEPTH_BITS, _)) 1017 EXPECT_CALL(*gl_, GetIntegerv(GL_DEPTH_BITS, _))
1022 .WillOnce(SetArgumentPointee<1>(24)) 1018 .WillOnce(SetArgumentPointee<1>(24))
1023 .RetiresOnSaturation(); 1019 .RetiresOnSaturation();
1024 result->size = 0; 1020 result->size = 0;
1025 GetIntegerv cmd2; 1021 GetIntegerv cmd2;
1026 cmd2.Init(GL_DEPTH_BITS, shared_memory_id_, shared_memory_offset_); 1022 cmd2.Init(GL_DEPTH_BITS, shared_memory_id_, shared_memory_offset_);
1027 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2)); 1023 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
1028 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_DEPTH_BITS), 1024 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_DEPTH_BITS),
1029 result->GetNumResults()); 1025 result->GetNumResults());
1030 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1026 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1031 EXPECT_EQ(0, result->GetData()[0]); 1027 EXPECT_EQ(0, result->GetData()[0]);
1032 } 1028 }
1033 1029
1034 TEST_P(GLES2DecoderManualInitTest, ActualStencilMatchesRequestedStencil) { 1030 TEST_P(GLES2DecoderManualInitTest, ActualStencilMatchesRequestedStencil) {
1035 InitState init; 1031 InitState init;
1036 init.gl_version = "3.0";
1037 init.has_stencil = true; 1032 init.has_stencil = true;
1038 init.request_stencil = true; 1033 init.request_stencil = true;
1039 init.bind_generates_resource = true; 1034 init.bind_generates_resource = true;
1040 InitDecoder(init); 1035 InitDecoder(init);
1041 1036
1042 EXPECT_CALL(*gl_, GetError()) 1037 EXPECT_CALL(*gl_, GetError())
1043 .WillOnce(Return(GL_NO_ERROR)) 1038 .WillOnce(Return(GL_NO_ERROR))
1044 .WillOnce(Return(GL_NO_ERROR)) 1039 .WillOnce(Return(GL_NO_ERROR))
1045 .RetiresOnSaturation(); 1040 .RetiresOnSaturation();
1046 typedef GetIntegerv::Result Result; 1041 typedef GetIntegerv::Result Result;
1047 Result* result = static_cast<Result*>(shared_memory_address_); 1042 Result* result = static_cast<Result*>(shared_memory_address_);
1048 EXPECT_CALL(*gl_, GetIntegerv(GL_STENCIL_BITS, _)) 1043 EXPECT_CALL(*gl_, GetIntegerv(GL_STENCIL_BITS, _))
1049 .WillOnce(SetArgumentPointee<1>(8)) 1044 .WillOnce(SetArgumentPointee<1>(8))
1050 .RetiresOnSaturation(); 1045 .RetiresOnSaturation();
1051 result->size = 0; 1046 result->size = 0;
1052 GetIntegerv cmd2; 1047 GetIntegerv cmd2;
1053 cmd2.Init(GL_STENCIL_BITS, shared_memory_id_, shared_memory_offset_); 1048 cmd2.Init(GL_STENCIL_BITS, shared_memory_id_, shared_memory_offset_);
1054 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2)); 1049 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
1055 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_STENCIL_BITS), 1050 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_STENCIL_BITS),
1056 result->GetNumResults()); 1051 result->GetNumResults());
1057 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1052 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1058 EXPECT_EQ(8, result->GetData()[0]); 1053 EXPECT_EQ(8, result->GetData()[0]);
1059 } 1054 }
1060 1055
1061 TEST_P(GLES2DecoderManualInitTest, ActualStencilDoesNotMatchRequestedStencil) { 1056 TEST_P(GLES2DecoderManualInitTest, ActualStencilDoesNotMatchRequestedStencil) {
1062 InitState init; 1057 InitState init;
1063 init.gl_version = "3.0";
1064 init.has_stencil = true; 1058 init.has_stencil = true;
1065 init.bind_generates_resource = true; 1059 init.bind_generates_resource = true;
1066 InitDecoder(init); 1060 InitDecoder(init);
1067 1061
1068 EXPECT_CALL(*gl_, GetError()) 1062 EXPECT_CALL(*gl_, GetError())
1069 .WillOnce(Return(GL_NO_ERROR)) 1063 .WillOnce(Return(GL_NO_ERROR))
1070 .WillOnce(Return(GL_NO_ERROR)) 1064 .WillOnce(Return(GL_NO_ERROR))
1071 .RetiresOnSaturation(); 1065 .RetiresOnSaturation();
1072 typedef GetIntegerv::Result Result; 1066 typedef GetIntegerv::Result Result;
1073 Result* result = static_cast<Result*>(shared_memory_address_); 1067 Result* result = static_cast<Result*>(shared_memory_address_);
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
1397 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1391 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1398 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 1, TestHelper::kMaxRenderbufferSize + 1); 1392 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 1, TestHelper::kMaxRenderbufferSize + 1);
1399 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1393 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1400 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1394 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1401 } 1395 }
1402 1396
1403 TEST_P(GLES2DecoderManualInitTest, 1397 TEST_P(GLES2DecoderManualInitTest,
1404 RenderbufferStorageMultisampleCHROMIUMGLError) { 1398 RenderbufferStorageMultisampleCHROMIUMGLError) {
1405 InitState init; 1399 InitState init;
1406 init.extensions = "GL_EXT_framebuffer_multisample"; 1400 init.extensions = "GL_EXT_framebuffer_multisample";
1407 init.gl_version = "2.1";
1408 init.bind_generates_resource = true; 1401 init.bind_generates_resource = true;
1409 InitDecoder(init); 1402 InitDecoder(init);
1410 DoBindRenderbuffer( 1403 DoBindRenderbuffer(
1411 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); 1404 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
1412 EnsureRenderbufferBound(false); 1405 EnsureRenderbufferBound(false);
1413 EXPECT_CALL(*gl_, GetError()) 1406 EXPECT_CALL(*gl_, GetError())
1414 .WillOnce(Return(GL_NO_ERROR)) 1407 .WillOnce(Return(GL_NO_ERROR))
1415 .WillOnce(Return(GL_OUT_OF_MEMORY)) 1408 .WillOnce(Return(GL_OUT_OF_MEMORY))
1416 .RetiresOnSaturation(); 1409 .RetiresOnSaturation();
1417 EXPECT_CALL( 1410 EXPECT_CALL(
1418 *gl_, 1411 *gl_,
1419 RenderbufferStorageMultisampleEXT(GL_RENDERBUFFER, 1, GL_RGBA, 100, 50)) 1412 RenderbufferStorageMultisampleEXT(GL_RENDERBUFFER, 1, GL_RGBA, 100, 50))
1420 .Times(1) 1413 .Times(1)
1421 .RetiresOnSaturation(); 1414 .RetiresOnSaturation();
1422 RenderbufferStorageMultisampleCHROMIUM cmd; 1415 RenderbufferStorageMultisampleCHROMIUM cmd;
1423 cmd.Init(GL_RENDERBUFFER, 1, GL_RGBA4, 100, 50); 1416 cmd.Init(GL_RENDERBUFFER, 1, GL_RGBA4, 100, 50);
1424 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1417 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1425 EXPECT_EQ(GL_OUT_OF_MEMORY, GetGLError()); 1418 EXPECT_EQ(GL_OUT_OF_MEMORY, GetGLError());
1426 } 1419 }
1427 1420
1428 TEST_P(GLES2DecoderManualInitTest, 1421 TEST_P(GLES2DecoderManualInitTest,
1429 RenderbufferStorageMultisampleCHROMIUMBadArgs) { 1422 RenderbufferStorageMultisampleCHROMIUMBadArgs) {
1430 InitState init; 1423 InitState init;
1431 init.extensions = "GL_EXT_framebuffer_multisample"; 1424 init.extensions = "GL_EXT_framebuffer_multisample";
1432 init.gl_version = "2.1";
1433 init.bind_generates_resource = true; 1425 init.bind_generates_resource = true;
1434 InitDecoder(init); 1426 InitDecoder(init);
1435 DoBindRenderbuffer( 1427 DoBindRenderbuffer(
1436 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); 1428 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
1437 EXPECT_CALL(*gl_, RenderbufferStorageMultisampleEXT(_, _, _, _, _)) 1429 EXPECT_CALL(*gl_, RenderbufferStorageMultisampleEXT(_, _, _, _, _))
1438 .Times(0) 1430 .Times(0)
1439 .RetiresOnSaturation(); 1431 .RetiresOnSaturation();
1440 RenderbufferStorageMultisampleCHROMIUM cmd; 1432 RenderbufferStorageMultisampleCHROMIUM cmd;
1441 cmd.Init(GL_RENDERBUFFER, 1433 cmd.Init(GL_RENDERBUFFER,
1442 TestHelper::kMaxSamples + 1, 1434 TestHelper::kMaxSamples + 1,
(...skipping 14 matching lines...) Expand all
1457 GL_RGBA4, 1449 GL_RGBA4,
1458 1, 1450 1,
1459 TestHelper::kMaxRenderbufferSize + 1); 1451 TestHelper::kMaxRenderbufferSize + 1);
1460 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1452 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1461 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1453 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1462 } 1454 }
1463 1455
1464 TEST_P(GLES2DecoderManualInitTest, RenderbufferStorageMultisampleCHROMIUM) { 1456 TEST_P(GLES2DecoderManualInitTest, RenderbufferStorageMultisampleCHROMIUM) {
1465 InitState init; 1457 InitState init;
1466 init.extensions = "GL_EXT_framebuffer_multisample"; 1458 init.extensions = "GL_EXT_framebuffer_multisample";
1467 init.gl_version = "2.1";
1468 InitDecoder(init); 1459 InitDecoder(init);
1469 DoBindRenderbuffer( 1460 DoBindRenderbuffer(
1470 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); 1461 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
1471 InSequence sequence; 1462 InSequence sequence;
1472 EnsureRenderbufferBound(false); 1463 EnsureRenderbufferBound(false);
1473 DoRenderbufferStorageMultisampleCHROMIUM(GL_RENDERBUFFER, 1464 DoRenderbufferStorageMultisampleCHROMIUM(GL_RENDERBUFFER,
1474 TestHelper::kMaxSamples, 1465 TestHelper::kMaxSamples,
1475 GL_RGBA4, 1466 GL_RGBA4,
1476 GL_RGBA, 1467 GL_RGBA,
1477 TestHelper::kMaxRenderbufferSize, 1468 TestHelper::kMaxRenderbufferSize,
1478 1); 1469 1);
1479 } 1470 }
1480 1471
1481 TEST_P(GLES2DecoderManualInitTest, 1472 TEST_P(GLES2DecoderManualInitTest,
1482 RenderbufferStorageMultisampleCHROMIUMRebindRenderbuffer) { 1473 RenderbufferStorageMultisampleCHROMIUMRebindRenderbuffer) {
1483 InitState init; 1474 InitState init;
1484 init.extensions = "GL_EXT_framebuffer_multisample"; 1475 init.extensions = "GL_EXT_framebuffer_multisample";
1485 init.gl_version = "2.1";
1486 InitDecoder(init); 1476 InitDecoder(init);
1487 DoBindRenderbuffer( 1477 DoBindRenderbuffer(
1488 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); 1478 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
1489 RestoreRenderbufferBindings(); 1479 RestoreRenderbufferBindings();
1490 InSequence sequence; 1480 InSequence sequence;
1491 EnsureRenderbufferBound(true); 1481 EnsureRenderbufferBound(true);
1492 DoRenderbufferStorageMultisampleCHROMIUM(GL_RENDERBUFFER, 1482 DoRenderbufferStorageMultisampleCHROMIUM(GL_RENDERBUFFER,
1493 TestHelper::kMaxSamples, 1483 TestHelper::kMaxSamples,
1494 GL_RGBA4, 1484 GL_RGBA4,
1495 GL_RGBA, 1485 GL_RGBA,
1496 TestHelper::kMaxRenderbufferSize, 1486 TestHelper::kMaxRenderbufferSize,
1497 1); 1487 1);
1498 } 1488 }
1499 1489
1500 TEST_P(GLES2DecoderManualInitTest, 1490 TEST_P(GLES2DecoderManualInitTest,
1501 RenderbufferStorageMultisampleEXTNotSupported) { 1491 RenderbufferStorageMultisampleEXTNotSupported) {
1502 InitState init; 1492 InitState init;
1503 init.extensions = "GL_EXT_framebuffer_multisample"; 1493 init.extensions = "GL_EXT_framebuffer_multisample";
1504 init.gl_version = "2.1";
1505 init.bind_generates_resource = true; 1494 init.bind_generates_resource = true;
1506 InitDecoder(init); 1495 InitDecoder(init);
1507 DoBindRenderbuffer( 1496 DoBindRenderbuffer(
1508 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId); 1497 GL_RENDERBUFFER, client_renderbuffer_id_, kServiceRenderbufferId);
1509 InSequence sequence; 1498 InSequence sequence;
1510 // GL_EXT_framebuffer_multisample uses RenderbufferStorageMultisampleCHROMIUM. 1499 // GL_EXT_framebuffer_multisample uses RenderbufferStorageMultisampleCHROMIUM.
1511 RenderbufferStorageMultisampleEXT cmd; 1500 RenderbufferStorageMultisampleEXT cmd;
1512 cmd.Init(GL_RENDERBUFFER, 1501 cmd.Init(GL_RENDERBUFFER,
1513 TestHelper::kMaxSamples, 1502 TestHelper::kMaxSamples,
1514 GL_RGBA4, 1503 GL_RGBA4,
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1779 result_shm_offset, 1768 result_shm_offset,
1780 false); 1769 false);
1781 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1770 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1782 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1771 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1783 } 1772 }
1784 1773
1785 TEST_P(GLES2DecoderManualInitTest, 1774 TEST_P(GLES2DecoderManualInitTest,
1786 UnClearedAttachmentsGetClearedOnReadPixelsAndDrawBufferGetsRestored) { 1775 UnClearedAttachmentsGetClearedOnReadPixelsAndDrawBufferGetsRestored) {
1787 InitState init; 1776 InitState init;
1788 init.extensions = "GL_EXT_framebuffer_multisample"; 1777 init.extensions = "GL_EXT_framebuffer_multisample";
1789 init.gl_version = "2.1";
1790 init.bind_generates_resource = true; 1778 init.bind_generates_resource = true;
1791 InitDecoder(init); 1779 InitDecoder(init);
1792 const GLuint kFBOClientTextureId = 4100; 1780 const GLuint kFBOClientTextureId = 4100;
1793 const GLuint kFBOServiceTextureId = 4101; 1781 const GLuint kFBOServiceTextureId = 4101;
1794 1782
1795 // Register a texture id. 1783 // Register a texture id.
1796 EXPECT_CALL(*gl_, GenTextures(_, _)) 1784 EXPECT_CALL(*gl_, GenTextures(_, _))
1797 .WillOnce(SetArgumentPointee<1>(kFBOServiceTextureId)) 1785 .WillOnce(SetArgumentPointee<1>(kFBOServiceTextureId))
1798 .RetiresOnSaturation(); 1786 .RetiresOnSaturation();
1799 GenHelper<GenTexturesImmediate>(kFBOClientTextureId); 1787 GenHelper<GenTexturesImmediate>(kFBOClientTextureId);
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
2270 EXPECT_EQ(error::kNoError, 2258 EXPECT_EQ(error::kNoError,
2271 ExecuteImmediateCmd(discard_cmd, sizeof(attachments))); 2259 ExecuteImmediateCmd(discard_cmd, sizeof(attachments)));
2272 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 2260 EXPECT_EQ(GL_NO_ERROR, GetGLError());
2273 EXPECT_FALSE(framebuffer->IsCleared()); 2261 EXPECT_FALSE(framebuffer->IsCleared());
2274 EXPECT_FALSE(framebuffer_manager->IsComplete(framebuffer)); 2262 EXPECT_FALSE(framebuffer_manager->IsComplete(framebuffer));
2275 } 2263 }
2276 2264
2277 TEST_P(GLES2DecoderManualInitTest, ReadFormatExtension) { 2265 TEST_P(GLES2DecoderManualInitTest, ReadFormatExtension) {
2278 InitState init; 2266 InitState init;
2279 init.extensions = "GL_OES_read_format"; 2267 init.extensions = "GL_OES_read_format";
2280 init.gl_version = "2.1";
2281 init.bind_generates_resource = true; 2268 init.bind_generates_resource = true;
2282 InitDecoder(init); 2269 InitDecoder(init);
2283 2270
2284 EXPECT_CALL(*gl_, GetError()) 2271 EXPECT_CALL(*gl_, GetError())
2285 .WillOnce(Return(GL_NO_ERROR)) 2272 .WillOnce(Return(GL_NO_ERROR))
2286 .WillOnce(Return(GL_NO_ERROR)) 2273 .WillOnce(Return(GL_NO_ERROR))
2287 .WillOnce(Return(GL_NO_ERROR)) 2274 .WillOnce(Return(GL_NO_ERROR))
2288 .WillOnce(Return(GL_NO_ERROR)) 2275 .WillOnce(Return(GL_NO_ERROR))
2289 .RetiresOnSaturation(); 2276 .RetiresOnSaturation();
2290 EXPECT_CALL(*gl_, GetError()).Times(6).RetiresOnSaturation(); 2277 EXPECT_CALL(*gl_, GetError()).Times(6).RetiresOnSaturation();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2329 cmd.Init(GL_IMPLEMENTATION_COLOR_READ_TYPE, 2316 cmd.Init(GL_IMPLEMENTATION_COLOR_READ_TYPE,
2330 shared_memory_id_, 2317 shared_memory_id_,
2331 shared_memory_offset_); 2318 shared_memory_offset_);
2332 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 2319 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
2333 EXPECT_EQ(1, result->GetNumResults()); 2320 EXPECT_EQ(1, result->GetNumResults());
2334 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 2321 EXPECT_EQ(GL_NO_ERROR, GetGLError());
2335 } 2322 }
2336 2323
2337 TEST_P(GLES2DecoderManualInitTest, NoReadFormatExtension) { 2324 TEST_P(GLES2DecoderManualInitTest, NoReadFormatExtension) {
2338 InitState init; 2325 InitState init;
2339 init.gl_version = "2.1";
2340 init.bind_generates_resource = true; 2326 init.bind_generates_resource = true;
2341 InitDecoder(init); 2327 InitDecoder(init);
2342 2328
2343 EXPECT_CALL(*gl_, GetError()) 2329 EXPECT_CALL(*gl_, GetError())
2344 .WillOnce(Return(GL_NO_ERROR)) 2330 .WillOnce(Return(GL_NO_ERROR))
2345 .WillOnce(Return(GL_NO_ERROR)) 2331 .WillOnce(Return(GL_NO_ERROR))
2346 .WillOnce(Return(GL_NO_ERROR)) 2332 .WillOnce(Return(GL_NO_ERROR))
2347 .WillOnce(Return(GL_NO_ERROR)) 2333 .WillOnce(Return(GL_NO_ERROR))
2348 .RetiresOnSaturation(); 2334 .RetiresOnSaturation();
2349 2335
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2391 EXPECT_EQ(1, result->GetNumResults()); 2377 EXPECT_EQ(1, result->GetNumResults());
2392 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 2378 EXPECT_EQ(GL_NO_ERROR, GetGLError());
2393 } 2379 }
2394 2380
2395 // TODO(gman): PixelStorei 2381 // TODO(gman): PixelStorei
2396 2382
2397 // TODO(gman): SwapBuffers 2383 // TODO(gman): SwapBuffers
2398 2384
2399 } // namespace gles2 2385 } // namespace gles2
2400 } // namespace gpu 2386 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698