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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h

Issue 2444813002: Remove unsafe mode to enable es3 api by default for WebGL2 and ES3 context (Closed)
Patch Set: remove runtime flag unsafeES3APIs from blink webgl module Created 4 years, 1 month 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 // 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
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 SpecializedSetup<cmds::GetSamplerParameterfv, 0>(true); 103 SpecializedSetup<cmds::GetSamplerParameterfv, 0>(true);
104 typedef cmds::GetSamplerParameterfv::Result Result; 104 typedef cmds::GetSamplerParameterfv::Result Result;
105 Result* result = static_cast<Result*>(shared_memory_address_); 105 Result* result = static_cast<Result*>(shared_memory_address_);
106 EXPECT_CALL(*gl_, 106 EXPECT_CALL(*gl_,
107 GetSamplerParameterfv(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 107 GetSamplerParameterfv(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
108 result->GetData())); 108 result->GetData()));
109 result->size = 0; 109 result->size = 0;
110 cmds::GetSamplerParameterfv cmd; 110 cmds::GetSamplerParameterfv cmd;
111 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, shared_memory_id_, 111 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, shared_memory_id_,
112 shared_memory_offset_); 112 shared_memory_offset_);
113 decoder_->set_unsafe_es3_apis_enabled(true); 113 decoder_->set_es3_apis_enabled(true);
114 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 114 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
115 EXPECT_EQ( 115 EXPECT_EQ(
116 decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_TEXTURE_MAG_FILTER), 116 decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_TEXTURE_MAG_FILTER),
117 result->GetNumResults()); 117 result->GetNumResults());
118 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 118 EXPECT_EQ(GL_NO_ERROR, GetGLError());
119 decoder_->set_unsafe_es3_apis_enabled(false); 119 decoder_->set_es3_apis_enabled(false);
120 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 120 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
121 } 121 }
122 122
123 TEST_P(GLES2DecoderTest2, GetSamplerParameterivValidArgs) { 123 TEST_P(GLES2DecoderTest2, GetSamplerParameterivValidArgs) {
124 EXPECT_CALL(*gl_, GetError()).WillRepeatedly(Return(GL_NO_ERROR)); 124 EXPECT_CALL(*gl_, GetError()).WillRepeatedly(Return(GL_NO_ERROR));
125 SpecializedSetup<cmds::GetSamplerParameteriv, 0>(true); 125 SpecializedSetup<cmds::GetSamplerParameteriv, 0>(true);
126 typedef cmds::GetSamplerParameteriv::Result Result; 126 typedef cmds::GetSamplerParameteriv::Result Result;
127 Result* result = static_cast<Result*>(shared_memory_address_); 127 Result* result = static_cast<Result*>(shared_memory_address_);
128 EXPECT_CALL(*gl_, 128 EXPECT_CALL(*gl_,
129 GetSamplerParameteriv(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 129 GetSamplerParameteriv(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
130 result->GetData())); 130 result->GetData()));
131 result->size = 0; 131 result->size = 0;
132 cmds::GetSamplerParameteriv cmd; 132 cmds::GetSamplerParameteriv cmd;
133 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, shared_memory_id_, 133 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, shared_memory_id_,
134 shared_memory_offset_); 134 shared_memory_offset_);
135 decoder_->set_unsafe_es3_apis_enabled(true); 135 decoder_->set_es3_apis_enabled(true);
136 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 136 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
137 EXPECT_EQ( 137 EXPECT_EQ(
138 decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_TEXTURE_MAG_FILTER), 138 decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_TEXTURE_MAG_FILTER),
139 result->GetNumResults()); 139 result->GetNumResults());
140 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 140 EXPECT_EQ(GL_NO_ERROR, GetGLError());
141 decoder_->set_unsafe_es3_apis_enabled(false); 141 decoder_->set_es3_apis_enabled(false);
142 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 142 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
143 } 143 }
144 144
145 TEST_P(GLES2DecoderTest2, GetShaderivValidArgs) { 145 TEST_P(GLES2DecoderTest2, GetShaderivValidArgs) {
146 EXPECT_CALL(*gl_, GetError()).WillRepeatedly(Return(GL_NO_ERROR)); 146 EXPECT_CALL(*gl_, GetError()).WillRepeatedly(Return(GL_NO_ERROR));
147 SpecializedSetup<cmds::GetShaderiv, 0>(true); 147 SpecializedSetup<cmds::GetShaderiv, 0>(true);
148 typedef cmds::GetShaderiv::Result Result; 148 typedef cmds::GetShaderiv::Result Result;
149 Result* result = static_cast<Result*>(shared_memory_address_); 149 Result* result = static_cast<Result*>(shared_memory_address_);
150 EXPECT_CALL(*gl_, 150 EXPECT_CALL(*gl_,
151 GetShaderiv(kServiceShaderId, GL_SHADER_TYPE, result->GetData())); 151 GetShaderiv(kServiceShaderId, GL_SHADER_TYPE, result->GetData()));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 Result* result = static_cast<Result*>(shared_memory_address_); 191 Result* result = static_cast<Result*>(shared_memory_address_);
192 EXPECT_CALL( 192 EXPECT_CALL(
193 *gl_, GetSynciv(reinterpret_cast<GLsync>(kServiceSyncId), GL_SYNC_STATUS, 193 *gl_, GetSynciv(reinterpret_cast<GLsync>(kServiceSyncId), GL_SYNC_STATUS,
194 decoder_->GetGLES2Util()->GLGetNumValuesReturned( 194 decoder_->GetGLES2Util()->GLGetNumValuesReturned(
195 GL_SYNC_STATUS), 195 GL_SYNC_STATUS),
196 nullptr, result->GetData())); 196 nullptr, result->GetData()));
197 result->size = 0; 197 result->size = 0;
198 cmds::GetSynciv cmd; 198 cmds::GetSynciv cmd;
199 cmd.Init(client_sync_id_, GL_SYNC_STATUS, shared_memory_id_, 199 cmd.Init(client_sync_id_, GL_SYNC_STATUS, shared_memory_id_,
200 shared_memory_offset_); 200 shared_memory_offset_);
201 decoder_->set_unsafe_es3_apis_enabled(true); 201 decoder_->set_es3_apis_enabled(true);
202 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 202 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
203 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_SYNC_STATUS), 203 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(GL_SYNC_STATUS),
204 result->GetNumResults()); 204 result->GetNumResults());
205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 205 EXPECT_EQ(GL_NO_ERROR, GetGLError());
206 decoder_->set_unsafe_es3_apis_enabled(false); 206 decoder_->set_es3_apis_enabled(false);
207 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 207 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
208 } 208 }
209 209
210 TEST_P(GLES2DecoderTest2, GetTexParameterfvValidArgs) { 210 TEST_P(GLES2DecoderTest2, GetTexParameterfvValidArgs) {
211 EXPECT_CALL(*gl_, GetError()).WillRepeatedly(Return(GL_NO_ERROR)); 211 EXPECT_CALL(*gl_, GetError()).WillRepeatedly(Return(GL_NO_ERROR));
212 SpecializedSetup<cmds::GetTexParameterfv, 0>(true); 212 SpecializedSetup<cmds::GetTexParameterfv, 0>(true);
213 typedef cmds::GetTexParameterfv::Result Result; 213 typedef cmds::GetTexParameterfv::Result Result;
214 Result* result = static_cast<Result*>(shared_memory_address_); 214 Result* result = static_cast<Result*>(shared_memory_address_);
215 EXPECT_CALL(*gl_, GetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 215 EXPECT_CALL(*gl_, GetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
216 result->GetData())); 216 result->GetData()));
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 } 430 }
431 431
432 TEST_P(GLES2DecoderTest2, GetVertexAttribIivValidArgs) { 432 TEST_P(GLES2DecoderTest2, GetVertexAttribIivValidArgs) {
433 SpecializedSetup<cmds::GetVertexAttribIiv, 0>(true); 433 SpecializedSetup<cmds::GetVertexAttribIiv, 0>(true);
434 typedef cmds::GetVertexAttribIiv::Result Result; 434 typedef cmds::GetVertexAttribIiv::Result Result;
435 Result* result = static_cast<Result*>(shared_memory_address_); 435 Result* result = static_cast<Result*>(shared_memory_address_);
436 result->size = 0; 436 result->size = 0;
437 cmds::GetVertexAttribIiv cmd; 437 cmds::GetVertexAttribIiv cmd;
438 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, 438 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_,
439 shared_memory_offset_); 439 shared_memory_offset_);
440 decoder_->set_unsafe_es3_apis_enabled(true); 440 decoder_->set_es3_apis_enabled(true);
441 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 441 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
442 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned( 442 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(
443 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), 443 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED),
444 result->GetNumResults()); 444 result->GetNumResults());
445 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 445 EXPECT_EQ(GL_NO_ERROR, GetGLError());
446 decoder_->set_unsafe_es3_apis_enabled(false); 446 decoder_->set_es3_apis_enabled(false);
447 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 447 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
448 } 448 }
449 449
450 TEST_P(GLES2DecoderTest2, GetVertexAttribIuivValidArgs) { 450 TEST_P(GLES2DecoderTest2, GetVertexAttribIuivValidArgs) {
451 SpecializedSetup<cmds::GetVertexAttribIuiv, 0>(true); 451 SpecializedSetup<cmds::GetVertexAttribIuiv, 0>(true);
452 typedef cmds::GetVertexAttribIuiv::Result Result; 452 typedef cmds::GetVertexAttribIuiv::Result Result;
453 Result* result = static_cast<Result*>(shared_memory_address_); 453 Result* result = static_cast<Result*>(shared_memory_address_);
454 result->size = 0; 454 result->size = 0;
455 cmds::GetVertexAttribIuiv cmd; 455 cmds::GetVertexAttribIuiv cmd;
456 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, 456 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_,
457 shared_memory_offset_); 457 shared_memory_offset_);
458 decoder_->set_unsafe_es3_apis_enabled(true); 458 decoder_->set_es3_apis_enabled(true);
459 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 459 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
460 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned( 460 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned(
461 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), 461 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED),
462 result->GetNumResults()); 462 result->GetNumResults());
463 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 463 EXPECT_EQ(GL_NO_ERROR, GetGLError());
464 decoder_->set_unsafe_es3_apis_enabled(false); 464 decoder_->set_es3_apis_enabled(false);
465 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 465 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
466 } 466 }
467 467
468 TEST_P(GLES2DecoderTest2, HintValidArgs) { 468 TEST_P(GLES2DecoderTest2, HintValidArgs) {
469 EXPECT_CALL(*gl_, Hint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST)); 469 EXPECT_CALL(*gl_, Hint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST));
470 SpecializedSetup<cmds::Hint, 0>(true); 470 SpecializedSetup<cmds::Hint, 0>(true);
471 cmds::Hint cmd; 471 cmds::Hint cmd;
472 cmd.Init(GL_GENERATE_MIPMAP_HINT, GL_FASTEST); 472 cmd.Init(GL_GENERATE_MIPMAP_HINT, GL_FASTEST);
473 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 473 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
474 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 474 EXPECT_EQ(GL_NO_ERROR, GetGLError());
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 587 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
588 cmd.Init(client_renderbuffer_id_, shared_memory_id_, 588 cmd.Init(client_renderbuffer_id_, shared_memory_id_,
589 kInvalidSharedMemoryOffset); 589 kInvalidSharedMemoryOffset);
590 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 590 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
591 } 591 }
592 592
593 TEST_P(GLES2DecoderTest2, IsSamplerValidArgs) { 593 TEST_P(GLES2DecoderTest2, IsSamplerValidArgs) {
594 SpecializedSetup<cmds::IsSampler, 0>(true); 594 SpecializedSetup<cmds::IsSampler, 0>(true);
595 cmds::IsSampler cmd; 595 cmds::IsSampler cmd;
596 cmd.Init(client_sampler_id_, shared_memory_id_, shared_memory_offset_); 596 cmd.Init(client_sampler_id_, shared_memory_id_, shared_memory_offset_);
597 decoder_->set_unsafe_es3_apis_enabled(true); 597 decoder_->set_es3_apis_enabled(true);
598 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 598 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
599 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 599 EXPECT_EQ(GL_NO_ERROR, GetGLError());
600 decoder_->set_unsafe_es3_apis_enabled(false); 600 decoder_->set_es3_apis_enabled(false);
601 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 601 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
602 } 602 }
603 603
604 TEST_P(GLES2DecoderTest2, IsSamplerInvalidArgsBadSharedMemoryId) { 604 TEST_P(GLES2DecoderTest2, IsSamplerInvalidArgsBadSharedMemoryId) {
605 SpecializedSetup<cmds::IsSampler, 0>(false); 605 SpecializedSetup<cmds::IsSampler, 0>(false);
606 decoder_->set_unsafe_es3_apis_enabled(true); 606 decoder_->set_es3_apis_enabled(true);
607 cmds::IsSampler cmd; 607 cmds::IsSampler cmd;
608 cmd.Init(client_sampler_id_, kInvalidSharedMemoryId, shared_memory_offset_); 608 cmd.Init(client_sampler_id_, kInvalidSharedMemoryId, shared_memory_offset_);
609 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 609 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
610 cmd.Init(client_sampler_id_, shared_memory_id_, kInvalidSharedMemoryOffset); 610 cmd.Init(client_sampler_id_, shared_memory_id_, kInvalidSharedMemoryOffset);
611 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 611 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
612 decoder_->set_unsafe_es3_apis_enabled(true); 612 decoder_->set_es3_apis_enabled(true);
613 } 613 }
614 614
615 TEST_P(GLES2DecoderTest2, IsShaderValidArgs) { 615 TEST_P(GLES2DecoderTest2, IsShaderValidArgs) {
616 SpecializedSetup<cmds::IsShader, 0>(true); 616 SpecializedSetup<cmds::IsShader, 0>(true);
617 cmds::IsShader cmd; 617 cmds::IsShader cmd;
618 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); 618 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_);
619 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 619 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
620 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 620 EXPECT_EQ(GL_NO_ERROR, GetGLError());
621 } 621 }
622 622
623 TEST_P(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { 623 TEST_P(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) {
624 SpecializedSetup<cmds::IsShader, 0>(false); 624 SpecializedSetup<cmds::IsShader, 0>(false);
625 cmds::IsShader cmd; 625 cmds::IsShader cmd;
626 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); 626 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_);
627 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 627 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
628 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); 628 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset);
629 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 629 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
630 } 630 }
631 631
632 TEST_P(GLES2DecoderTest2, IsSyncValidArgs) { 632 TEST_P(GLES2DecoderTest2, IsSyncValidArgs) {
633 SpecializedSetup<cmds::IsSync, 0>(true); 633 SpecializedSetup<cmds::IsSync, 0>(true);
634 cmds::IsSync cmd; 634 cmds::IsSync cmd;
635 cmd.Init(client_sync_id_, shared_memory_id_, shared_memory_offset_); 635 cmd.Init(client_sync_id_, shared_memory_id_, shared_memory_offset_);
636 decoder_->set_unsafe_es3_apis_enabled(true); 636 decoder_->set_es3_apis_enabled(true);
637 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 637 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
638 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 638 EXPECT_EQ(GL_NO_ERROR, GetGLError());
639 decoder_->set_unsafe_es3_apis_enabled(false); 639 decoder_->set_es3_apis_enabled(false);
640 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 640 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
641 } 641 }
642 642
643 TEST_P(GLES2DecoderTest2, IsSyncInvalidArgsBadSharedMemoryId) { 643 TEST_P(GLES2DecoderTest2, IsSyncInvalidArgsBadSharedMemoryId) {
644 SpecializedSetup<cmds::IsSync, 0>(false); 644 SpecializedSetup<cmds::IsSync, 0>(false);
645 decoder_->set_unsafe_es3_apis_enabled(true); 645 decoder_->set_es3_apis_enabled(true);
646 cmds::IsSync cmd; 646 cmds::IsSync cmd;
647 cmd.Init(client_sync_id_, kInvalidSharedMemoryId, shared_memory_offset_); 647 cmd.Init(client_sync_id_, kInvalidSharedMemoryId, shared_memory_offset_);
648 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 648 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
649 cmd.Init(client_sync_id_, shared_memory_id_, kInvalidSharedMemoryOffset); 649 cmd.Init(client_sync_id_, shared_memory_id_, kInvalidSharedMemoryOffset);
650 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 650 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
651 decoder_->set_unsafe_es3_apis_enabled(true); 651 decoder_->set_es3_apis_enabled(true);
652 } 652 }
653 653
654 TEST_P(GLES2DecoderTest2, IsTextureValidArgs) { 654 TEST_P(GLES2DecoderTest2, IsTextureValidArgs) {
655 SpecializedSetup<cmds::IsTexture, 0>(true); 655 SpecializedSetup<cmds::IsTexture, 0>(true);
656 cmds::IsTexture cmd; 656 cmds::IsTexture cmd;
657 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); 657 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_);
658 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 658 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
659 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 659 EXPECT_EQ(GL_NO_ERROR, GetGLError());
660 } 660 }
661 661
662 TEST_P(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { 662 TEST_P(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) {
663 SpecializedSetup<cmds::IsTexture, 0>(false); 663 SpecializedSetup<cmds::IsTexture, 0>(false);
664 cmds::IsTexture cmd; 664 cmds::IsTexture cmd;
665 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); 665 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_);
666 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 666 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
667 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); 667 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset);
668 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 668 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
669 } 669 }
670 670
671 TEST_P(GLES2DecoderTest2, IsTransformFeedbackValidArgs) { 671 TEST_P(GLES2DecoderTest2, IsTransformFeedbackValidArgs) {
672 SpecializedSetup<cmds::IsTransformFeedback, 0>(true); 672 SpecializedSetup<cmds::IsTransformFeedback, 0>(true);
673 cmds::IsTransformFeedback cmd; 673 cmds::IsTransformFeedback cmd;
674 cmd.Init(client_transformfeedback_id_, shared_memory_id_, 674 cmd.Init(client_transformfeedback_id_, shared_memory_id_,
675 shared_memory_offset_); 675 shared_memory_offset_);
676 decoder_->set_unsafe_es3_apis_enabled(true); 676 decoder_->set_es3_apis_enabled(true);
677 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 677 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
678 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 678 EXPECT_EQ(GL_NO_ERROR, GetGLError());
679 decoder_->set_unsafe_es3_apis_enabled(false); 679 decoder_->set_es3_apis_enabled(false);
680 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 680 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
681 } 681 }
682 682
683 TEST_P(GLES2DecoderTest2, IsTransformFeedbackInvalidArgsBadSharedMemoryId) { 683 TEST_P(GLES2DecoderTest2, IsTransformFeedbackInvalidArgsBadSharedMemoryId) {
684 SpecializedSetup<cmds::IsTransformFeedback, 0>(false); 684 SpecializedSetup<cmds::IsTransformFeedback, 0>(false);
685 decoder_->set_unsafe_es3_apis_enabled(true); 685 decoder_->set_es3_apis_enabled(true);
686 cmds::IsTransformFeedback cmd; 686 cmds::IsTransformFeedback cmd;
687 cmd.Init(client_transformfeedback_id_, kInvalidSharedMemoryId, 687 cmd.Init(client_transformfeedback_id_, kInvalidSharedMemoryId,
688 shared_memory_offset_); 688 shared_memory_offset_);
689 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 689 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
690 cmd.Init(client_transformfeedback_id_, shared_memory_id_, 690 cmd.Init(client_transformfeedback_id_, shared_memory_id_,
691 kInvalidSharedMemoryOffset); 691 kInvalidSharedMemoryOffset);
692 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); 692 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd));
693 decoder_->set_unsafe_es3_apis_enabled(true); 693 decoder_->set_es3_apis_enabled(true);
694 } 694 }
695 695
696 TEST_P(GLES2DecoderTest2, LineWidthValidArgs) { 696 TEST_P(GLES2DecoderTest2, LineWidthValidArgs) {
697 EXPECT_CALL(*gl_, LineWidth(2.0f)); 697 EXPECT_CALL(*gl_, LineWidth(2.0f));
698 SpecializedSetup<cmds::LineWidth, 0>(true); 698 SpecializedSetup<cmds::LineWidth, 0>(true);
699 cmds::LineWidth cmd; 699 cmds::LineWidth cmd;
700 cmd.Init(2.0f); 700 cmd.Init(2.0f);
701 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 701 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
702 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 702 EXPECT_EQ(GL_NO_ERROR, GetGLError());
703 } 703 }
(...skipping 30 matching lines...) Expand all
734 cmd.Init(1, 2); 734 cmd.Init(1, 2);
735 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 735 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
736 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 736 EXPECT_EQ(GL_NO_ERROR, GetGLError());
737 } 737 }
738 738
739 TEST_P(GLES2DecoderTest2, ReadBufferValidArgs) { 739 TEST_P(GLES2DecoderTest2, ReadBufferValidArgs) {
740 EXPECT_CALL(*gl_, ReadBuffer(GL_NONE)); 740 EXPECT_CALL(*gl_, ReadBuffer(GL_NONE));
741 SpecializedSetup<cmds::ReadBuffer, 0>(true); 741 SpecializedSetup<cmds::ReadBuffer, 0>(true);
742 cmds::ReadBuffer cmd; 742 cmds::ReadBuffer cmd;
743 cmd.Init(GL_NONE); 743 cmd.Init(GL_NONE);
744 decoder_->set_unsafe_es3_apis_enabled(true); 744 decoder_->set_es3_apis_enabled(true);
745 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 745 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
746 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 746 EXPECT_EQ(GL_NO_ERROR, GetGLError());
747 decoder_->set_unsafe_es3_apis_enabled(false); 747 decoder_->set_es3_apis_enabled(false);
748 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 748 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
749 } 749 }
750 750
751 TEST_P(GLES2DecoderTest2, RenderbufferStorageValidArgs) { 751 TEST_P(GLES2DecoderTest2, RenderbufferStorageValidArgs) {
752 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); 752 SpecializedSetup<cmds::RenderbufferStorage, 0>(true);
753 cmds::RenderbufferStorage cmd; 753 cmds::RenderbufferStorage cmd;
754 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); 754 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4);
755 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 755 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
756 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 756 EXPECT_EQ(GL_NO_ERROR, GetGLError());
757 } 757 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 791 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
792 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 792 EXPECT_EQ(GL_NO_ERROR, GetGLError());
793 } 793 }
794 794
795 TEST_P(GLES2DecoderTest2, SamplerParameterfValidArgs) { 795 TEST_P(GLES2DecoderTest2, SamplerParameterfValidArgs) {
796 EXPECT_CALL(*gl_, SamplerParameterf(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 796 EXPECT_CALL(*gl_, SamplerParameterf(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
797 GL_NEAREST)); 797 GL_NEAREST));
798 SpecializedSetup<cmds::SamplerParameterf, 0>(true); 798 SpecializedSetup<cmds::SamplerParameterf, 0>(true);
799 cmds::SamplerParameterf cmd; 799 cmds::SamplerParameterf cmd;
800 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 800 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
801 decoder_->set_unsafe_es3_apis_enabled(true); 801 decoder_->set_es3_apis_enabled(true);
802 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 802 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
803 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 803 EXPECT_EQ(GL_NO_ERROR, GetGLError());
804 decoder_->set_unsafe_es3_apis_enabled(false); 804 decoder_->set_es3_apis_enabled(false);
805 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 805 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
806 } 806 }
807 807
808 TEST_P(GLES2DecoderTest2, SamplerParameterfvImmediateValidArgs) { 808 TEST_P(GLES2DecoderTest2, SamplerParameterfvImmediateValidArgs) {
809 cmds::SamplerParameterfvImmediate& cmd = 809 cmds::SamplerParameterfvImmediate& cmd =
810 *GetImmediateAs<cmds::SamplerParameterfvImmediate>(); 810 *GetImmediateAs<cmds::SamplerParameterfvImmediate>();
811 SpecializedSetup<cmds::SamplerParameterfvImmediate, 0>(true); 811 SpecializedSetup<cmds::SamplerParameterfvImmediate, 0>(true);
812 GLfloat temp[1] = { 812 GLfloat temp[1] = {
813 GL_NEAREST, 813 GL_NEAREST,
814 }; 814 };
815 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]); 815 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]);
816 EXPECT_CALL(*gl_, SamplerParameterf(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 816 EXPECT_CALL(*gl_, SamplerParameterf(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
817 temp[0])); 817 temp[0]));
818 decoder_->set_unsafe_es3_apis_enabled(true); 818 decoder_->set_es3_apis_enabled(true);
819 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 819 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
820 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 820 EXPECT_EQ(GL_NO_ERROR, GetGLError());
821 decoder_->set_unsafe_es3_apis_enabled(false); 821 decoder_->set_es3_apis_enabled(false);
822 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); 822 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp)));
823 } 823 }
824 824
825 TEST_P(GLES2DecoderTest2, SamplerParameteriValidArgs) { 825 TEST_P(GLES2DecoderTest2, SamplerParameteriValidArgs) {
826 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 826 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
827 GL_NEAREST)); 827 GL_NEAREST));
828 SpecializedSetup<cmds::SamplerParameteri, 0>(true); 828 SpecializedSetup<cmds::SamplerParameteri, 0>(true);
829 cmds::SamplerParameteri cmd; 829 cmds::SamplerParameteri cmd;
830 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 830 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
831 decoder_->set_unsafe_es3_apis_enabled(true); 831 decoder_->set_es3_apis_enabled(true);
832 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 832 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
833 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 833 EXPECT_EQ(GL_NO_ERROR, GetGLError());
834 decoder_->set_unsafe_es3_apis_enabled(false); 834 decoder_->set_es3_apis_enabled(false);
835 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 835 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
836 } 836 }
837 837
838 TEST_P(GLES2DecoderTest2, SamplerParameterivImmediateValidArgs) { 838 TEST_P(GLES2DecoderTest2, SamplerParameterivImmediateValidArgs) {
839 cmds::SamplerParameterivImmediate& cmd = 839 cmds::SamplerParameterivImmediate& cmd =
840 *GetImmediateAs<cmds::SamplerParameterivImmediate>(); 840 *GetImmediateAs<cmds::SamplerParameterivImmediate>();
841 SpecializedSetup<cmds::SamplerParameterivImmediate, 0>(true); 841 SpecializedSetup<cmds::SamplerParameterivImmediate, 0>(true);
842 GLint temp[1] = { 842 GLint temp[1] = {
843 GL_NEAREST, 843 GL_NEAREST,
844 }; 844 };
845 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]); 845 cmd.Init(client_sampler_id_, GL_TEXTURE_MAG_FILTER, &temp[0]);
846 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER, 846 EXPECT_CALL(*gl_, SamplerParameteri(kServiceSamplerId, GL_TEXTURE_MAG_FILTER,
847 temp[0])); 847 temp[0]));
848 decoder_->set_unsafe_es3_apis_enabled(true); 848 decoder_->set_es3_apis_enabled(true);
849 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 849 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
850 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 850 EXPECT_EQ(GL_NO_ERROR, GetGLError());
851 decoder_->set_unsafe_es3_apis_enabled(false); 851 decoder_->set_es3_apis_enabled(false);
852 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); 852 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp)));
853 } 853 }
854 854
855 TEST_P(GLES2DecoderTest2, ScissorValidArgs) { 855 TEST_P(GLES2DecoderTest2, ScissorValidArgs) {
856 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); 856 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4));
857 SpecializedSetup<cmds::Scissor, 0>(true); 857 SpecializedSetup<cmds::Scissor, 0>(true);
858 cmds::Scissor cmd; 858 cmds::Scissor cmd;
859 cmd.Init(1, 2, 3, 4); 859 cmd.Init(1, 2, 3, 4);
860 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 860 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
861 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 861 EXPECT_EQ(GL_NO_ERROR, GetGLError());
(...skipping 18 matching lines...) Expand all
880 } 880 }
881 881
882 TEST_P(GLES2DecoderTest2, ShaderSourceBucketValidArgs) { 882 TEST_P(GLES2DecoderTest2, ShaderSourceBucketValidArgs) {
883 const uint32_t kBucketId = 123; 883 const uint32_t kBucketId = 123;
884 const char kSource0[] = "hello"; 884 const char kSource0[] = "hello";
885 const char* kSource[] = {kSource0}; 885 const char* kSource[] = {kSource0};
886 const char kValidStrEnd = 0; 886 const char kValidStrEnd = 0;
887 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd); 887 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd);
888 cmds::ShaderSourceBucket cmd; 888 cmds::ShaderSourceBucket cmd;
889 cmd.Init(client_shader_id_, kBucketId); 889 cmd.Init(client_shader_id_, kBucketId);
890 decoder_->set_unsafe_es3_apis_enabled(true); 890 decoder_->set_es3_apis_enabled(true);
891 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 891 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
892 } 892 }
893 893
894 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidArgs) { 894 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidArgs) {
895 const uint32_t kBucketId = 123; 895 const uint32_t kBucketId = 123;
896 const char kSource0[] = "hello"; 896 const char kSource0[] = "hello";
897 const char* kSource[] = {kSource0}; 897 const char* kSource[] = {kSource0};
898 const char kValidStrEnd = 0; 898 const char kValidStrEnd = 0;
899 decoder_->set_unsafe_es3_apis_enabled(true); 899 decoder_->set_es3_apis_enabled(true);
900 cmds::ShaderSourceBucket cmd; 900 cmds::ShaderSourceBucket cmd;
901 // Test no bucket. 901 // Test no bucket.
902 cmd.Init(client_shader_id_, kBucketId); 902 cmd.Init(client_shader_id_, kBucketId);
903 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); 903 EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
904 // Test invalid client. 904 // Test invalid client.
905 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd); 905 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd);
906 cmd.Init(kInvalidClientId, kBucketId); 906 cmd.Init(kInvalidClientId, kBucketId);
907 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 907 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
908 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 908 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
909 } 909 }
910 910
911 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidHeader) { 911 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidHeader) {
912 const uint32_t kBucketId = 123; 912 const uint32_t kBucketId = 123;
913 const char kSource0[] = "hello"; 913 const char kSource0[] = "hello";
914 const char* kSource[] = {kSource0}; 914 const char* kSource[] = {kSource0};
915 const char kValidStrEnd = 0; 915 const char kValidStrEnd = 0;
916 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource)); 916 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource));
917 const GLsizei kTests[] = { 917 const GLsizei kTests[] = {
918 kCount + 1, 0, std::numeric_limits<GLsizei>::max(), -1, 918 kCount + 1, 0, std::numeric_limits<GLsizei>::max(), -1,
919 }; 919 };
920 decoder_->set_unsafe_es3_apis_enabled(true); 920 decoder_->set_es3_apis_enabled(true);
921 for (size_t ii = 0; ii < arraysize(kTests); ++ii) { 921 for (size_t ii = 0; ii < arraysize(kTests); ++ii) {
922 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd); 922 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd);
923 cmds::ShaderSourceBucket cmd; 923 cmds::ShaderSourceBucket cmd;
924 cmd.Init(client_shader_id_, kBucketId); 924 cmd.Init(client_shader_id_, kBucketId);
925 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); 925 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
926 } 926 }
927 } 927 }
928 928
929 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidStringEnding) { 929 TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidStringEnding) {
930 const uint32_t kBucketId = 123; 930 const uint32_t kBucketId = 123;
931 const char kSource0[] = "hello"; 931 const char kSource0[] = "hello";
932 const char* kSource[] = {kSource0}; 932 const char* kSource[] = {kSource0};
933 const char kInvalidStrEnd = '*'; 933 const char kInvalidStrEnd = '*';
934 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd); 934 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd);
935 cmds::ShaderSourceBucket cmd; 935 cmds::ShaderSourceBucket cmd;
936 cmd.Init(client_shader_id_, kBucketId); 936 cmd.Init(client_shader_id_, kBucketId);
937 decoder_->set_unsafe_es3_apis_enabled(true); 937 decoder_->set_es3_apis_enabled(true);
938 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); 938 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
939 } 939 }
940 940
941 TEST_P(GLES2DecoderTest2, StencilFuncValidArgs) { 941 TEST_P(GLES2DecoderTest2, StencilFuncValidArgs) {
942 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); 942 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3));
943 SpecializedSetup<cmds::StencilFunc, 0>(true); 943 SpecializedSetup<cmds::StencilFunc, 0>(true);
944 cmds::StencilFunc cmd; 944 cmds::StencilFunc cmd;
945 cmd.Init(GL_NEVER, 2, 3); 945 cmd.Init(GL_NEVER, 2, 3);
946 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 946 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
947 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 947 EXPECT_EQ(GL_NO_ERROR, GetGLError());
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1183 } 1183 }
1184 1184
1185 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketValidArgs) { 1185 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketValidArgs) {
1186 const uint32_t kBucketId = 123; 1186 const uint32_t kBucketId = 123;
1187 const char kSource0[] = "hello"; 1187 const char kSource0[] = "hello";
1188 const char* kSource[] = {kSource0}; 1188 const char* kSource[] = {kSource0};
1189 const char kValidStrEnd = 0; 1189 const char kValidStrEnd = 0;
1190 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd); 1190 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd);
1191 cmds::TransformFeedbackVaryingsBucket cmd; 1191 cmds::TransformFeedbackVaryingsBucket cmd;
1192 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); 1192 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS);
1193 decoder_->set_unsafe_es3_apis_enabled(true); 1193 decoder_->set_es3_apis_enabled(true);
1194 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1194 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1195 decoder_->set_unsafe_es3_apis_enabled(false); 1195 decoder_->set_es3_apis_enabled(false);
1196 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 1196 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
1197 } 1197 }
1198 1198
1199 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidArgs) { 1199 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidArgs) {
1200 const uint32_t kBucketId = 123; 1200 const uint32_t kBucketId = 123;
1201 const char kSource0[] = "hello"; 1201 const char kSource0[] = "hello";
1202 const char* kSource[] = {kSource0}; 1202 const char* kSource[] = {kSource0};
1203 const char kValidStrEnd = 0; 1203 const char kValidStrEnd = 0;
1204 decoder_->set_unsafe_es3_apis_enabled(true); 1204 decoder_->set_es3_apis_enabled(true);
1205 cmds::TransformFeedbackVaryingsBucket cmd; 1205 cmds::TransformFeedbackVaryingsBucket cmd;
1206 // Test no bucket. 1206 // Test no bucket.
1207 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); 1207 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS);
1208 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); 1208 EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
1209 // Test invalid client. 1209 // Test invalid client.
1210 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd); 1210 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd);
1211 cmd.Init(kInvalidClientId, kBucketId, GL_INTERLEAVED_ATTRIBS); 1211 cmd.Init(kInvalidClientId, kBucketId, GL_INTERLEAVED_ATTRIBS);
1212 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1212 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1213 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); 1213 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
1214 } 1214 }
1215 1215
1216 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidHeader) { 1216 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidHeader) {
1217 const uint32_t kBucketId = 123; 1217 const uint32_t kBucketId = 123;
1218 const char kSource0[] = "hello"; 1218 const char kSource0[] = "hello";
1219 const char* kSource[] = {kSource0}; 1219 const char* kSource[] = {kSource0};
1220 const char kValidStrEnd = 0; 1220 const char kValidStrEnd = 0;
1221 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource)); 1221 const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource));
1222 const GLsizei kTests[] = { 1222 const GLsizei kTests[] = {
1223 kCount + 1, 0, std::numeric_limits<GLsizei>::max(), -1, 1223 kCount + 1, 0, std::numeric_limits<GLsizei>::max(), -1,
1224 }; 1224 };
1225 decoder_->set_unsafe_es3_apis_enabled(true); 1225 decoder_->set_es3_apis_enabled(true);
1226 for (size_t ii = 0; ii < arraysize(kTests); ++ii) { 1226 for (size_t ii = 0; ii < arraysize(kTests); ++ii) {
1227 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd); 1227 SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd);
1228 cmds::TransformFeedbackVaryingsBucket cmd; 1228 cmds::TransformFeedbackVaryingsBucket cmd;
1229 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); 1229 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS);
1230 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); 1230 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
1231 } 1231 }
1232 } 1232 }
1233 1233
1234 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidStringEnding) { 1234 TEST_P(GLES2DecoderTest2, TransformFeedbackVaryingsBucketInvalidStringEnding) {
1235 const uint32_t kBucketId = 123; 1235 const uint32_t kBucketId = 123;
1236 const char kSource0[] = "hello"; 1236 const char kSource0[] = "hello";
1237 const char* kSource[] = {kSource0}; 1237 const char* kSource[] = {kSource0};
1238 const char kInvalidStrEnd = '*'; 1238 const char kInvalidStrEnd = '*';
1239 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd); 1239 SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd);
1240 cmds::TransformFeedbackVaryingsBucket cmd; 1240 cmds::TransformFeedbackVaryingsBucket cmd;
1241 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS); 1241 cmd.Init(client_program_id_, kBucketId, GL_INTERLEAVED_ATTRIBS);
1242 decoder_->set_unsafe_es3_apis_enabled(true); 1242 decoder_->set_es3_apis_enabled(true);
1243 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd)); 1243 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
1244 } 1244 }
1245 1245
1246 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) { 1246 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) {
1247 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); 1247 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _));
1248 SpecializedSetup<cmds::Uniform1f, 0>(true); 1248 SpecializedSetup<cmds::Uniform1f, 0>(true);
1249 cmds::Uniform1f cmd; 1249 cmds::Uniform1f cmd;
1250 cmd.Init(1, 2); 1250 cmd.Init(1, 2);
1251 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1251 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1252 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1252 EXPECT_EQ(GL_NO_ERROR, GetGLError());
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1392 1392
1393 TEST_P(GLES2DecoderTest2, UniformMatrix2x3fvImmediateValidArgs) { 1393 TEST_P(GLES2DecoderTest2, UniformMatrix2x3fvImmediateValidArgs) {
1394 cmds::UniformMatrix2x3fvImmediate& cmd = 1394 cmds::UniformMatrix2x3fvImmediate& cmd =
1395 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>(); 1395 *GetImmediateAs<cmds::UniformMatrix2x3fvImmediate>();
1396 SpecializedSetup<cmds::UniformMatrix2x3fvImmediate, 0>(true); 1396 SpecializedSetup<cmds::UniformMatrix2x3fvImmediate, 0>(true);
1397 GLfloat temp[6 * 2] = { 1397 GLfloat temp[6 * 2] = {
1398 0, 1398 0,
1399 }; 1399 };
1400 EXPECT_CALL(*gl_, UniformMatrix2x3fv(1, 2, true, PointsToArray(temp, 6))); 1400 EXPECT_CALL(*gl_, UniformMatrix2x3fv(1, 2, true, PointsToArray(temp, 6)));
1401 cmd.Init(1, 2, true, &temp[0]); 1401 cmd.Init(1, 2, true, &temp[0]);
1402 decoder_->set_unsafe_es3_apis_enabled(true); 1402 decoder_->set_es3_apis_enabled(true);
1403 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); 1403 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp)));
1404 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 1404 EXPECT_EQ(GL_NO_ERROR, GetGLError());
1405 decoder_->set_unsafe_es3_apis_enabled(false); 1405 decoder_->set_es3_apis_enabled(false);
1406 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp))); 1406 EXPECT_EQ(error::kUnknownCommand, ExecuteImmediateCmd(cmd, sizeof(temp)));
1407 } 1407 }
1408 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ 1408 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698