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

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

Issue 10078006: Revert 132934 - this change seems to break many webgl related layout tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 8 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 | Annotate | Revision Log
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 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
11 #include "gpu/command_buffer/common/gl_mock.h" 11 #include "gpu/command_buffer/common/gl_mock.h"
12 #include "gpu/command_buffer/common/gles2_cmd_format.h" 12 #include "gpu/command_buffer/common/gles2_cmd_format.h"
13 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 13 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
14 #include "gpu/command_buffer/service/cmd_buffer_engine.h" 14 #include "gpu/command_buffer/service/cmd_buffer_engine.h"
15 #include "gpu/command_buffer/service/context_group.h" 15 #include "gpu/command_buffer/service/context_group.h"
16 #include "gpu/command_buffer/service/program_manager.h" 16 #include "gpu/command_buffer/service/program_manager.h"
17 #include "gpu/command_buffer/service/test_helper.h" 17 #include "gpu/command_buffer/service/test_helper.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 #include "ui/gfx/gl/gl_implementation.h" 19 #include "ui/gfx/gl/gl_implementation.h"
20 20
21 using ::gfx::MockGLInterface; 21 using ::gfx::MockGLInterface;
22 using ::testing::_; 22 using ::testing::_;
23 using ::testing::DoAll; 23 using ::testing::DoAll;
24 using ::testing::InSequence; 24 using ::testing::InSequence;
25 using ::testing::MatcherCast; 25 using ::testing::MatcherCast;
26 using ::testing::Pointee; 26 using ::testing::Pointee;
27 using ::testing::Return; 27 using ::testing::Return;
28 using ::testing::SetArrayArgument; 28 using ::testing::SetArrayArgument;
29 using ::testing::SetArgPointee;
30 using ::testing::SetArgumentPointee; 29 using ::testing::SetArgumentPointee;
31 using ::testing::StrEq; 30 using ::testing::StrEq;
32 using ::testing::StrictMock; 31 using ::testing::StrictMock;
33 32
34 namespace gpu { 33 namespace gpu {
35 namespace gles2 { 34 namespace gles2 {
36 35
37 GLES2DecoderTestBase::GLES2DecoderTestBase() 36 GLES2DecoderTestBase::GLES2DecoderTestBase()
38 : surface_(NULL), 37 : surface_(NULL),
39 context_(NULL), 38 context_(NULL),
(...skipping 17 matching lines...) Expand all
57 "", // extensions 56 "", // extensions
58 true, // has alpha 57 true, // has alpha
59 true, // has depth 58 true, // has depth
60 false, // has stencil 59 false, // has stencil
61 true, // request alpha 60 true, // request alpha
62 true, // request depth 61 true, // request depth
63 false, // request stencil 62 false, // request stencil
64 true); // bind generates resource 63 true); // bind generates resource
65 } 64 }
66 65
67 // Setup the expectations required for the inialiazation of the resources
68 // used by the GL_CHROMIUM_copy_texture extension.
69 void GLES2DecoderTestBase::AddExpectationsForCopyTextureCHROMIUM() {
70 static GLuint copy_texture_chromium_buffer_ids[] = {
71 kServiceCopyTextureChromiumVertexBufferId,
72 kServiceCopyTextureChromiumTextureBufferId
73 };
74 EXPECT_CALL(*gl_, GenBuffersARB(arraysize(copy_texture_chromium_buffer_ids),
75 _))
76 .WillOnce(SetArrayArgument<1>(copy_texture_chromium_buffer_ids,
77 copy_texture_chromium_buffer_ids + arraysize(
78 copy_texture_chromium_buffer_ids)))
79 .RetiresOnSaturation();
80
81 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER,
82 kServiceCopyTextureChromiumVertexBufferId))
83 .Times(1)
84 .RetiresOnSaturation();
85
86 EXPECT_CALL(*gl_, BufferData(GL_ARRAY_BUFFER, 16 * sizeof(GLfloat), _,
87 GL_STATIC_DRAW))
88 .Times(1)
89 .RetiresOnSaturation();
90
91 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER,
92 kServiceCopyTextureChromiumTextureBufferId))
93 .Times(1)
94 .RetiresOnSaturation();
95
96 EXPECT_CALL(*gl_, BufferData(GL_ARRAY_BUFFER, 8 * sizeof(GLfloat), _,
97 GL_STATIC_DRAW))
98 .Times(1)
99 .RetiresOnSaturation();
100
101 static GLuint copy_texture_chromium_fbo_ids[] = {
102 kServiceCopyTextureChromiumFBOId
103 };
104 EXPECT_CALL(*gl_, GenFramebuffersEXT(arraysize(copy_texture_chromium_fbo_ids),
105 _))
106 .WillOnce(SetArrayArgument<1>(copy_texture_chromium_fbo_ids,
107 copy_texture_chromium_fbo_ids + arraysize(
108 copy_texture_chromium_fbo_ids)))
109 .RetiresOnSaturation();
110
111 for (int shader = 0; shader < 5; ++shader) {
112 EXPECT_CALL(*gl_, CreateShader(
113 shader == 0 ? GL_VERTEX_SHADER : GL_FRAGMENT_SHADER))
114 .WillOnce(Return(kServiceCopyTextureChromiumShaderId + shader))
115 .RetiresOnSaturation();
116
117 EXPECT_CALL(*gl_, ShaderSource(kServiceCopyTextureChromiumShaderId + shader,
118 1, _, 0))
119 .Times(1)
120 .RetiresOnSaturation();
121
122 EXPECT_CALL(*gl_, CompileShader(
123 kServiceCopyTextureChromiumShaderId + shader))
124 .Times(1)
125 .RetiresOnSaturation();
126 #ifndef NDEBUG
127 EXPECT_CALL(*gl_, GetShaderiv(kServiceCopyTextureChromiumShaderId + shader,
128 GL_COMPILE_STATUS, _))
129 .WillOnce(SetArgPointee<2>(GL_TRUE))
130 .RetiresOnSaturation();
131 #endif
132 }
133
134 for (int program = 0; program < 4; ++program) {
135 EXPECT_CALL(*gl_, CreateProgram())
136 .WillOnce(Return(kServiceCopyTextureChromiumProgramId + program))
137 .RetiresOnSaturation();
138
139 EXPECT_CALL(*gl_, AttachShader(
140 kServiceCopyTextureChromiumProgramId + program,
141 kServiceCopyTextureChromiumShaderId))
142 .Times(1)
143 .RetiresOnSaturation();
144
145 EXPECT_CALL(*gl_, AttachShader(
146 kServiceCopyTextureChromiumProgramId + program,
147 kServiceCopyTextureChromiumShaderId + program + 1))
148 .Times(1)
149 .RetiresOnSaturation();
150
151 EXPECT_CALL(*gl_, BindAttribLocation(
152 kServiceCopyTextureChromiumProgramId + program, 0, _))
153 .Times(1)
154 .RetiresOnSaturation();
155
156 EXPECT_CALL(*gl_, BindAttribLocation(
157 kServiceCopyTextureChromiumProgramId + program, 1, _))
158 .Times(1)
159 .RetiresOnSaturation();
160
161 EXPECT_CALL(*gl_, LinkProgram(
162 kServiceCopyTextureChromiumProgramId + program))
163 .Times(1)
164 .RetiresOnSaturation();
165
166 #ifndef NDEBUG
167 EXPECT_CALL(*gl_, GetProgramiv(
168 kServiceCopyTextureChromiumProgramId + program, GL_LINK_STATUS, _))
169 .WillOnce(SetArgPointee<2>(true))
170 .RetiresOnSaturation();
171 #endif
172
173 EXPECT_CALL(*gl_, GetUniformLocation(
174 kServiceCopyTextureChromiumProgramId + program, _))
175 .WillOnce(Return(kServiceCopyTextureChromiumSamplerLocation))
176 .RetiresOnSaturation();
177 }
178
179 for (int shader = 0; shader < 5; ++shader)
180 EXPECT_CALL(*gl_,
181 DeleteShader(kServiceCopyTextureChromiumShaderId + shader))
182 .Times(1)
183 .RetiresOnSaturation();
184 }
185
186 void GLES2DecoderTestBase::InitDecoder( 66 void GLES2DecoderTestBase::InitDecoder(
187 const char* extensions, 67 const char* extensions,
188 bool has_alpha, 68 bool has_alpha,
189 bool has_depth, 69 bool has_depth,
190 bool has_stencil, 70 bool has_stencil,
191 bool request_alpha, 71 bool request_alpha,
192 bool request_depth, 72 bool request_depth,
193 bool request_stencil, 73 bool request_stencil,
194 bool bind_generates_resource) { 74 bool bind_generates_resource) {
195 gl_.reset(new StrictMock<MockGLInterface>()); 75 gl_.reset(new StrictMock<MockGLInterface>());
196 ::gfx::GLInterface::SetGLInterface(gl_.get()); 76 ::gfx::GLInterface::SetGLInterface(gl_.get());
197 group_ = ContextGroup::Ref(new ContextGroup(bind_generates_resource)); 77 group_ = ContextGroup::Ref(new ContextGroup(bind_generates_resource));
198 78
199 InSequence sequence; 79 InSequence sequence;
200 80
201 TestHelper::SetupContextGroupInitExpectations(gl_.get(), 81 TestHelper::SetupContextGroupInitExpectations(gl_.get(),
202 DisallowedFeatures(), extensions); 82 DisallowedFeatures(), extensions);
203 83
204 EXPECT_TRUE(group_->Initialize(DisallowedFeatures(), NULL)); 84 EXPECT_TRUE(group_->Initialize(DisallowedFeatures(), NULL));
205 85
206 AddExpectationsForCopyTextureCHROMIUM();
207
208 EXPECT_CALL(*gl_, EnableVertexAttribArray(0)) 86 EXPECT_CALL(*gl_, EnableVertexAttribArray(0))
209 .Times(1) 87 .Times(1)
210 .RetiresOnSaturation(); 88 .RetiresOnSaturation();
211 static GLuint attrib_0_id[] = { 89 static GLuint attrib_0_id[] = {
212 kServiceAttrib0BufferId, 90 kServiceAttrib0BufferId,
213 }; 91 };
214 static GLuint fixed_attrib_buffer_id[] = { 92 static GLuint fixed_attrib_buffer_id[] = {
215 kServiceFixedAttribBufferId, 93 kServiceFixedAttribBufferId,
216 }; 94 };
217 EXPECT_CALL(*gl_, GenBuffersARB(arraysize(attrib_0_id), _)) 95 EXPECT_CALL(*gl_, GenBuffersARB(arraysize(attrib_0_id), _))
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 EXPECT_CALL(*gl_, Enable(GL_POINT_SPRITE)) 164 EXPECT_CALL(*gl_, Enable(GL_POINT_SPRITE))
287 .Times(1) 165 .Times(1)
288 .RetiresOnSaturation(); 166 .RetiresOnSaturation();
289 167
290 #if defined(OS_MACOSX) 168 #if defined(OS_MACOSX)
291 EXPECT_CALL(*gl_, GetString(GL_VENDOR)) 169 EXPECT_CALL(*gl_, GetString(GL_VENDOR))
292 .Times(1) 170 .Times(1)
293 .RetiresOnSaturation(); 171 .RetiresOnSaturation();
294 #endif 172 #endif
295 173
296 static GLint viewport_dims[] = {
297 kViewportX,
298 kViewportY,
299 kViewportWidth,
300 kViewportHeight,
301 };
302 EXPECT_CALL(*gl_, GetIntegerv(GL_VIEWPORT, _))
303 .WillOnce(SetArrayArgument<1>(viewport_dims,
304 viewport_dims + arraysize(viewport_dims)))
305 .RetiresOnSaturation();
306
307 static GLint max_viewport_dims[] = {
308 kMaxViewportWidth,
309 kMaxViewportHeight
310 };
311 EXPECT_CALL(*gl_, GetIntegerv(GL_MAX_VIEWPORT_DIMS, _))
312 .WillOnce(SetArrayArgument<1>(
313 max_viewport_dims, max_viewport_dims + arraysize(max_viewport_dims)))
314 .RetiresOnSaturation();
315
316 engine_.reset(new StrictMock<MockCommandBufferEngine>()); 174 engine_.reset(new StrictMock<MockCommandBufferEngine>());
317 Buffer buffer = engine_->GetSharedMemoryBuffer(kSharedMemoryId); 175 Buffer buffer = engine_->GetSharedMemoryBuffer(kSharedMemoryId);
318 shared_memory_offset_ = kSharedMemoryOffset; 176 shared_memory_offset_ = kSharedMemoryOffset;
319 shared_memory_address_ = reinterpret_cast<int8*>(buffer.ptr) + 177 shared_memory_address_ = reinterpret_cast<int8*>(buffer.ptr) +
320 shared_memory_offset_; 178 shared_memory_offset_;
321 shared_memory_id_ = kSharedMemoryId; 179 shared_memory_id_ = kSharedMemoryId;
322 shared_memory_base_ = buffer.ptr; 180 shared_memory_base_ = buffer.ptr;
323 181
324 surface_ = new gfx::GLSurfaceStub; 182 surface_ = new gfx::GLSurfaceStub;
325 surface_->SetSize(gfx::Size(kBackBufferWidth, kBackBufferHeight)); 183 surface_->SetSize(gfx::Size(kBackBufferWidth, kBackBufferHeight));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 .RetiresOnSaturation(); 224 .RetiresOnSaturation();
367 GenHelper<GenBuffersImmediate>(client_element_buffer_id_); 225 GenHelper<GenBuffersImmediate>(client_element_buffer_id_);
368 226
369 DoCreateProgram(client_program_id_, kServiceProgramId); 227 DoCreateProgram(client_program_id_, kServiceProgramId);
370 DoCreateShader(GL_VERTEX_SHADER, client_shader_id_, kServiceShaderId); 228 DoCreateShader(GL_VERTEX_SHADER, client_shader_id_, kServiceShaderId);
371 229
372 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 230 EXPECT_EQ(GL_NO_ERROR, GetGLError());
373 } 231 }
374 232
375 void GLES2DecoderTestBase::TearDown() { 233 void GLES2DecoderTestBase::TearDown() {
376 InSequence sequence;
377
378 // All Tests should have read all their GLErrors before getting here. 234 // All Tests should have read all their GLErrors before getting here.
379 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 235 EXPECT_EQ(GL_NO_ERROR, GetGLError());
380 EXPECT_CALL(*gl_, DeleteFramebuffersEXT(1,
381 Pointee(kServiceCopyTextureChromiumFBOId)))
382 .Times(1)
383 .RetiresOnSaturation();
384
385 EXPECT_CALL(*gl_, DeleteProgram(_))
386 .Times(4)
387 .RetiresOnSaturation();
388
389 EXPECT_CALL(*gl_, DeleteBuffersARB(2, _))
390 .Times(1)
391 .RetiresOnSaturation();
392
393 EXPECT_CALL(*gl_, DeleteBuffersARB(1, _)) 236 EXPECT_CALL(*gl_, DeleteBuffersARB(1, _))
394 .Times(2) 237 .Times(2)
395 .RetiresOnSaturation(); 238 .RetiresOnSaturation();
396
397 decoder_->Destroy(); 239 decoder_->Destroy();
398 decoder_.reset(); 240 decoder_.reset();
399 group_->Destroy(false); 241 group_->Destroy(false);
400 engine_.reset(); 242 engine_.reset();
401 ::gfx::GLInterface::SetGLInterface(NULL); 243 ::gfx::GLInterface::SetGLInterface(NULL);
402 gl_.reset(); 244 gl_.reset();
403 } 245 }
404 246
405 GLint GLES2DecoderTestBase::GetGLError() { 247 GLint GLES2DecoderTestBase::GetGLError() {
406 EXPECT_CALL(*gl_, GetError()) 248 EXPECT_CALL(*gl_, GetError())
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 498
657 void GLES2DecoderTestBase::SetupExpectationsForApplyingDirtyState( 499 void GLES2DecoderTestBase::SetupExpectationsForApplyingDirtyState(
658 bool framebuffer_is_rgb, 500 bool framebuffer_is_rgb,
659 bool framebuffer_has_depth, 501 bool framebuffer_has_depth,
660 bool framebuffer_has_stencil, 502 bool framebuffer_has_stencil,
661 GLuint color_bits, 503 GLuint color_bits,
662 bool depth_mask, 504 bool depth_mask,
663 bool depth_enabled, 505 bool depth_enabled,
664 GLuint front_stencil_mask, 506 GLuint front_stencil_mask,
665 GLuint back_stencil_mask, 507 GLuint back_stencil_mask,
666 bool stencil_enabled, 508 bool stencil_enabled) {
667 bool cull_face_enabled,
668 bool scissor_test_enabled) {
669 EXPECT_CALL(*gl_, ColorMask( 509 EXPECT_CALL(*gl_, ColorMask(
670 (color_bits & 0x1000) != 0, 510 (color_bits & 0x1000) != 0,
671 (color_bits & 0x0100) != 0, 511 (color_bits & 0x0100) != 0,
672 (color_bits & 0x0010) != 0, 512 (color_bits & 0x0010) != 0,
673 (color_bits & 0x0001) && !framebuffer_is_rgb)) 513 (color_bits & 0x0001) && !framebuffer_is_rgb))
674 .Times(1) 514 .Times(1)
675 .RetiresOnSaturation(); 515 .RetiresOnSaturation();
676 EXPECT_CALL(*gl_, DepthMask(depth_mask)) 516 EXPECT_CALL(*gl_, DepthMask(depth_mask))
677 .Times(1) 517 .Times(1)
678 .RetiresOnSaturation(); 518 .RetiresOnSaturation();
(...skipping 14 matching lines...) Expand all
693 .RetiresOnSaturation(); 533 .RetiresOnSaturation();
694 if (framebuffer_has_stencil && stencil_enabled) { 534 if (framebuffer_has_stencil && stencil_enabled) {
695 EXPECT_CALL(*gl_, Enable(GL_STENCIL_TEST)) 535 EXPECT_CALL(*gl_, Enable(GL_STENCIL_TEST))
696 .Times(1) 536 .Times(1)
697 .RetiresOnSaturation(); 537 .RetiresOnSaturation();
698 } else { 538 } else {
699 EXPECT_CALL(*gl_, Disable(GL_STENCIL_TEST)) 539 EXPECT_CALL(*gl_, Disable(GL_STENCIL_TEST))
700 .Times(1) 540 .Times(1)
701 .RetiresOnSaturation(); 541 .RetiresOnSaturation();
702 } 542 }
703 if (cull_face_enabled) {
704 EXPECT_CALL(*gl_, Enable(GL_CULL_FACE))
705 .Times(1)
706 .RetiresOnSaturation();
707 } else {
708 EXPECT_CALL(*gl_, Disable(GL_CULL_FACE))
709 .Times(1)
710 .RetiresOnSaturation();
711 }
712 if (scissor_test_enabled) {
713 EXPECT_CALL(*gl_, Enable(GL_SCISSOR_TEST))
714 .Times(1)
715 .RetiresOnSaturation();
716 } else {
717 EXPECT_CALL(*gl_, Disable(GL_SCISSOR_TEST))
718 .Times(1)
719 .RetiresOnSaturation();
720 }
721 } 543 }
722 544
723 void GLES2DecoderTestBase::SetupExpectationsForApplyingDefaultDirtyState() { 545 void GLES2DecoderTestBase::SetupExpectationsForApplyingDefaultDirtyState() {
724 SetupExpectationsForApplyingDirtyState( 546 SetupExpectationsForApplyingDirtyState(
725 false, // Framebuffer is RGB 547 false, // Framebuffer is RGB
726 false, // Framebuffer has depth 548 false, // Framebuffer has depth
727 false, // Framebuffer has stencil 549 false, // Framebuffer has stencil
728 0x1111, // color bits 550 0x1111, // color bits
729 true, // depth mask 551 true, // depth mask
730 false, // depth enabled 552 false, // depth enabled
731 0, // front stencil mask 553 0, // front stencil mask
732 0, // back stencil mask 554 0, // back stencil mask
733 false, // stencil enabled 555 false); // stencil enabled
734 false, // cull_face_enabled
735 false); // scissor_test_enabled
736 } 556 }
737 557
738 void GLES2DecoderTestBase::DoBindFramebuffer( 558 void GLES2DecoderTestBase::DoBindFramebuffer(
739 GLenum target, GLuint client_id, GLuint service_id) { 559 GLenum target, GLuint client_id, GLuint service_id) {
740 EXPECT_CALL(*gl_, BindFramebufferEXT(target, service_id)) 560 EXPECT_CALL(*gl_, BindFramebufferEXT(target, service_id))
741 .Times(1) 561 .Times(1)
742 .RetiresOnSaturation(); 562 .RetiresOnSaturation();
743 BindFramebuffer cmd; 563 BindFramebuffer cmd;
744 cmd.Init(target, client_id); 564 cmd.Init(target, client_id);
745 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 565 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 VertexAttribDivisorANGLE(index, divisor)) 769 VertexAttribDivisorANGLE(index, divisor))
950 .Times(1) 770 .Times(1)
951 .RetiresOnSaturation(); 771 .RetiresOnSaturation();
952 VertexAttribDivisorANGLE cmd; 772 VertexAttribDivisorANGLE cmd;
953 cmd.Init(index, divisor); 773 cmd.Init(index, divisor);
954 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 774 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
955 } 775 }
956 776
957 // GCC requires these declarations, but MSVC requires they not be present 777 // GCC requires these declarations, but MSVC requires they not be present
958 #ifndef COMPILER_MSVC 778 #ifndef COMPILER_MSVC
959 const int GLES2DecoderTestBase::kBackBufferWidth;
960 const int GLES2DecoderTestBase::kBackBufferHeight;
961
962 const GLint GLES2DecoderTestBase::kMaxTextureSize; 779 const GLint GLES2DecoderTestBase::kMaxTextureSize;
963 const GLint GLES2DecoderTestBase::kMaxCubeMapTextureSize; 780 const GLint GLES2DecoderTestBase::kMaxCubeMapTextureSize;
964 const GLint GLES2DecoderTestBase::kNumVertexAttribs; 781 const GLint GLES2DecoderTestBase::kNumVertexAttribs;
965 const GLint GLES2DecoderTestBase::kNumTextureUnits; 782 const GLint GLES2DecoderTestBase::kNumTextureUnits;
966 const GLint GLES2DecoderTestBase::kMaxTextureImageUnits; 783 const GLint GLES2DecoderTestBase::kMaxTextureImageUnits;
967 const GLint GLES2DecoderTestBase::kMaxVertexTextureImageUnits; 784 const GLint GLES2DecoderTestBase::kMaxVertexTextureImageUnits;
968 const GLint GLES2DecoderTestBase::kMaxFragmentUniformVectors; 785 const GLint GLES2DecoderTestBase::kMaxFragmentUniformVectors;
969 const GLint GLES2DecoderTestBase::kMaxVaryingVectors; 786 const GLint GLES2DecoderTestBase::kMaxVaryingVectors;
970 const GLint GLES2DecoderTestBase::kMaxVertexUniformVectors; 787 const GLint GLES2DecoderTestBase::kMaxVertexUniformVectors;
971 const GLint GLES2DecoderTestBase::kMaxViewportWidth;
972 const GLint GLES2DecoderTestBase::kMaxViewportHeight;
973
974 const GLint GLES2DecoderTestBase::kViewportX;
975 const GLint GLES2DecoderTestBase::kViewportY;
976 const GLint GLES2DecoderTestBase::kViewportWidth;
977 const GLint GLES2DecoderTestBase::kViewportHeight;
978 788
979 const GLuint GLES2DecoderTestBase::kServiceAttrib0BufferId; 789 const GLuint GLES2DecoderTestBase::kServiceAttrib0BufferId;
980 const GLuint GLES2DecoderTestBase::kServiceFixedAttribBufferId; 790 const GLuint GLES2DecoderTestBase::kServiceFixedAttribBufferId;
981 791
982 const GLuint GLES2DecoderTestBase::kServiceBufferId; 792 const GLuint GLES2DecoderTestBase::kServiceBufferId;
983 const GLuint GLES2DecoderTestBase::kServiceFramebufferId; 793 const GLuint GLES2DecoderTestBase::kServiceFramebufferId;
984 const GLuint GLES2DecoderTestBase::kServiceRenderbufferId; 794 const GLuint GLES2DecoderTestBase::kServiceRenderbufferId;
985 const GLuint GLES2DecoderTestBase::kServiceTextureId; 795 const GLuint GLES2DecoderTestBase::kServiceTextureId;
986 const GLuint GLES2DecoderTestBase::kServiceProgramId; 796 const GLuint GLES2DecoderTestBase::kServiceProgramId;
987 const GLuint GLES2DecoderTestBase::kServiceShaderId; 797 const GLuint GLES2DecoderTestBase::kServiceShaderId;
988 const GLuint GLES2DecoderTestBase::kServiceElementBufferId; 798 const GLuint GLES2DecoderTestBase::kServiceElementBufferId;
989 const GLuint GLES2DecoderTestBase::kServiceQueryId; 799 const GLuint GLES2DecoderTestBase::kServiceQueryId;
990 800
991 const int32 GLES2DecoderTestBase::kSharedMemoryId; 801 const int32 GLES2DecoderTestBase::kSharedMemoryId;
992 const size_t GLES2DecoderTestBase::kSharedBufferSize; 802 const size_t GLES2DecoderTestBase::kSharedBufferSize;
993 const uint32 GLES2DecoderTestBase::kSharedMemoryOffset; 803 const uint32 GLES2DecoderTestBase::kSharedMemoryOffset;
994 const int32 GLES2DecoderTestBase::kInvalidSharedMemoryId; 804 const int32 GLES2DecoderTestBase::kInvalidSharedMemoryId;
995 const uint32 GLES2DecoderTestBase::kInvalidSharedMemoryOffset; 805 const uint32 GLES2DecoderTestBase::kInvalidSharedMemoryOffset;
996 const uint32 GLES2DecoderTestBase::kInitialResult; 806 const uint32 GLES2DecoderTestBase::kInitialResult;
997 const uint8 GLES2DecoderTestBase::kInitialMemoryValue; 807 const uint8 GLES2DecoderTestBase::kInitialMemoryValue;
998 808
999 const uint32 GLES2DecoderTestBase::kNewClientId; 809 const uint32 GLES2DecoderTestBase::kNewClientId;
1000 const uint32 GLES2DecoderTestBase::kNewServiceId; 810 const uint32 GLES2DecoderTestBase::kNewServiceId;
1001 const uint32 GLES2DecoderTestBase::kInvalidClientId; 811 const uint32 GLES2DecoderTestBase::kInvalidClientId;
1002 812
813 const int GLES2DecoderTestBase::kBackBufferWidth;
814 const int GLES2DecoderTestBase::kBackBufferHeight;
815
1003 const GLuint GLES2DecoderTestBase::kServiceVertexShaderId; 816 const GLuint GLES2DecoderTestBase::kServiceVertexShaderId;
1004 const GLuint GLES2DecoderTestBase::kServiceFragmentShaderId; 817 const GLuint GLES2DecoderTestBase::kServiceFragmentShaderId;
1005 818
1006 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumShaderId;
1007 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumProgramId;
1008
1009 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumTextureBufferId;
1010 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumVertexBufferId;
1011 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumFBOId;
1012 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumPositionAttrib;
1013 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumTexAttrib;
1014 const GLuint GLES2DecoderTestBase::kServiceCopyTextureChromiumSamplerLocation;
1015
1016 const GLsizei GLES2DecoderTestBase::kNumVertices; 819 const GLsizei GLES2DecoderTestBase::kNumVertices;
1017 const GLsizei GLES2DecoderTestBase::kNumIndices; 820 const GLsizei GLES2DecoderTestBase::kNumIndices;
1018 const int GLES2DecoderTestBase::kValidIndexRangeStart; 821 const int GLES2DecoderTestBase::kValidIndexRangeStart;
1019 const int GLES2DecoderTestBase::kValidIndexRangeCount; 822 const int GLES2DecoderTestBase::kValidIndexRangeCount;
1020 const int GLES2DecoderTestBase::kInvalidIndexRangeStart; 823 const int GLES2DecoderTestBase::kInvalidIndexRangeStart;
1021 const int GLES2DecoderTestBase::kInvalidIndexRangeCount; 824 const int GLES2DecoderTestBase::kInvalidIndexRangeCount;
1022 const int GLES2DecoderTestBase::kOutOfRangeIndexRangeEnd; 825 const int GLES2DecoderTestBase::kOutOfRangeIndexRangeEnd;
1023 const GLuint GLES2DecoderTestBase::kMaxValidIndex; 826 const GLuint GLES2DecoderTestBase::kMaxValidIndex;
1024 827
1025 const GLint GLES2DecoderTestBase::kMaxAttribLength; 828 const GLint GLES2DecoderTestBase::kMaxAttribLength;
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1364 .RetiresOnSaturation(); 1167 .RetiresOnSaturation();
1365 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, 0)) 1168 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, 0))
1366 .Times(1) 1169 .Times(1)
1367 .RetiresOnSaturation(); 1170 .RetiresOnSaturation();
1368 EXPECT_CALL(*gl_, VertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, NULL)) 1171 EXPECT_CALL(*gl_, VertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, NULL))
1369 .Times(1) 1172 .Times(1)
1370 .RetiresOnSaturation(); 1173 .RetiresOnSaturation();
1371 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, buffer_id)) 1174 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, buffer_id))
1372 .Times(1) 1175 .Times(1)
1373 .RetiresOnSaturation(); 1176 .RetiresOnSaturation();
1374
1375 EXPECT_CALL(*gl_, DisableVertexAttribArray(0))
1376 .Times(1)
1377 .RetiresOnSaturation();
1378 } 1177 }
1379 } 1178 }
1380 1179
1381 void GLES2DecoderTestBase::AddExpectationsForSimulatedAttrib0( 1180 void GLES2DecoderTestBase::AddExpectationsForSimulatedAttrib0(
1382 GLsizei num_vertices, GLuint buffer_id) { 1181 GLsizei num_vertices, GLuint buffer_id) {
1383 AddExpectationsForSimulatedAttrib0WithError( 1182 AddExpectationsForSimulatedAttrib0WithError(
1384 num_vertices, buffer_id, GL_NO_ERROR); 1183 num_vertices, buffer_id, GL_NO_ERROR);
1385 } 1184 }
1386 1185
1387 void GLES2DecoderWithShaderTestBase::SetUp() { 1186 void GLES2DecoderWithShaderTestBase::SetUp() {
1388 GLES2DecoderTestBase::SetUp(); 1187 GLES2DecoderTestBase::SetUp();
1389 SetupDefaultProgram(); 1188 SetupDefaultProgram();
1390 } 1189 }
1391 1190
1392 } // namespace gles2 1191 } // namespace gles2
1393 } // namespace gpu 1192 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698