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

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

Issue 9968113: Addition of GL_CHROMIUM_copy_texture extension. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Correcting glEnableVertexAttribArray state. 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;
29 using ::testing::SetArgumentPointee; 30 using ::testing::SetArgumentPointee;
30 using ::testing::StrEq; 31 using ::testing::StrEq;
31 using ::testing::StrictMock; 32 using ::testing::StrictMock;
32 33
33 namespace gpu { 34 namespace gpu {
34 namespace gles2 { 35 namespace gles2 {
35 36
36 GLES2DecoderTestBase::GLES2DecoderTestBase() 37 GLES2DecoderTestBase::GLES2DecoderTestBase()
37 : surface_(NULL), 38 : surface_(NULL),
38 context_(NULL), 39 context_(NULL),
(...skipping 17 matching lines...) Expand all
56 "", // extensions 57 "", // extensions
57 true, // has alpha 58 true, // has alpha
58 true, // has depth 59 true, // has depth
59 false, // has stencil 60 false, // has stencil
60 true, // request alpha 61 true, // request alpha
61 true, // request depth 62 true, // request depth
62 false, // request stencil 63 false, // request stencil
63 true); // bind generates resource 64 true); // bind generates resource
64 } 65 }
65 66
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_, LinkProgram(
152 kServiceCopyTextureChromiumProgramId + program))
153 .Times(1)
154 .RetiresOnSaturation();
155
156 #ifndef NDEBUG
157 EXPECT_CALL(*gl_, GetProgramiv(
158 kServiceCopyTextureChromiumProgramId + program, GL_LINK_STATUS, _))
159 .WillOnce(SetArgPointee<2>(true))
160 .RetiresOnSaturation();
161 #endif
162
163 EXPECT_CALL(*gl_, BindAttribLocation(
164 kServiceCopyTextureChromiumProgramId + program, 0, _))
165 .Times(1)
166 .RetiresOnSaturation();
167
168 EXPECT_CALL(*gl_, BindAttribLocation(
169 kServiceCopyTextureChromiumProgramId + program, 1, _))
170 .Times(1)
171 .RetiresOnSaturation();
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
66 void GLES2DecoderTestBase::InitDecoder( 186 void GLES2DecoderTestBase::InitDecoder(
67 const char* extensions, 187 const char* extensions,
68 bool has_alpha, 188 bool has_alpha,
69 bool has_depth, 189 bool has_depth,
70 bool has_stencil, 190 bool has_stencil,
71 bool request_alpha, 191 bool request_alpha,
72 bool request_depth, 192 bool request_depth,
73 bool request_stencil, 193 bool request_stencil,
74 bool bind_generates_resource) { 194 bool bind_generates_resource) {
75 gl_.reset(new StrictMock<MockGLInterface>()); 195 gl_.reset(new StrictMock<MockGLInterface>());
76 ::gfx::GLInterface::SetGLInterface(gl_.get()); 196 ::gfx::GLInterface::SetGLInterface(gl_.get());
77 group_ = ContextGroup::Ref(new ContextGroup(bind_generates_resource)); 197 group_ = ContextGroup::Ref(new ContextGroup(bind_generates_resource));
78 198
79 InSequence sequence; 199 InSequence sequence;
80 200
81 TestHelper::SetupContextGroupInitExpectations(gl_.get(), 201 TestHelper::SetupContextGroupInitExpectations(gl_.get(),
82 DisallowedFeatures(), extensions); 202 DisallowedFeatures(), extensions);
83 203
84 EXPECT_TRUE(group_->Initialize(DisallowedFeatures(), NULL)); 204 EXPECT_TRUE(group_->Initialize(DisallowedFeatures(), NULL));
85 205
206 AddExpectationsForCopyTextureCHROMIUM();
207
86 EXPECT_CALL(*gl_, EnableVertexAttribArray(0)) 208 EXPECT_CALL(*gl_, EnableVertexAttribArray(0))
87 .Times(1) 209 .Times(1)
88 .RetiresOnSaturation(); 210 .RetiresOnSaturation();
89 static GLuint attrib_0_id[] = { 211 static GLuint attrib_0_id[] = {
90 kServiceAttrib0BufferId, 212 kServiceAttrib0BufferId,
91 }; 213 };
92 static GLuint fixed_attrib_buffer_id[] = { 214 static GLuint fixed_attrib_buffer_id[] = {
93 kServiceFixedAttribBufferId, 215 kServiceFixedAttribBufferId,
94 }; 216 };
95 EXPECT_CALL(*gl_, GenBuffersARB(arraysize(attrib_0_id), _)) 217 EXPECT_CALL(*gl_, GenBuffersARB(arraysize(attrib_0_id), _))
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 EXPECT_CALL(*gl_, Enable(GL_POINT_SPRITE)) 286 EXPECT_CALL(*gl_, Enable(GL_POINT_SPRITE))
165 .Times(1) 287 .Times(1)
166 .RetiresOnSaturation(); 288 .RetiresOnSaturation();
167 289
168 #if defined(OS_MACOSX) 290 #if defined(OS_MACOSX)
169 EXPECT_CALL(*gl_, GetString(GL_VENDOR)) 291 EXPECT_CALL(*gl_, GetString(GL_VENDOR))
170 .Times(1) 292 .Times(1)
171 .RetiresOnSaturation(); 293 .RetiresOnSaturation();
172 #endif 294 #endif
173 295
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
174 engine_.reset(new StrictMock<MockCommandBufferEngine>()); 316 engine_.reset(new StrictMock<MockCommandBufferEngine>());
175 Buffer buffer = engine_->GetSharedMemoryBuffer(kSharedMemoryId); 317 Buffer buffer = engine_->GetSharedMemoryBuffer(kSharedMemoryId);
176 shared_memory_offset_ = kSharedMemoryOffset; 318 shared_memory_offset_ = kSharedMemoryOffset;
177 shared_memory_address_ = reinterpret_cast<int8*>(buffer.ptr) + 319 shared_memory_address_ = reinterpret_cast<int8*>(buffer.ptr) +
178 shared_memory_offset_; 320 shared_memory_offset_;
179 shared_memory_id_ = kSharedMemoryId; 321 shared_memory_id_ = kSharedMemoryId;
180 shared_memory_base_ = buffer.ptr; 322 shared_memory_base_ = buffer.ptr;
181 323
182 surface_ = new gfx::GLSurfaceStub; 324 surface_ = new gfx::GLSurfaceStub;
183 surface_->SetSize(gfx::Size(kBackBufferWidth, kBackBufferHeight)); 325 surface_->SetSize(gfx::Size(kBackBufferWidth, kBackBufferHeight));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 .RetiresOnSaturation(); 366 .RetiresOnSaturation();
225 GenHelper<GenBuffersImmediate>(client_element_buffer_id_); 367 GenHelper<GenBuffersImmediate>(client_element_buffer_id_);
226 368
227 DoCreateProgram(client_program_id_, kServiceProgramId); 369 DoCreateProgram(client_program_id_, kServiceProgramId);
228 DoCreateShader(GL_VERTEX_SHADER, client_shader_id_, kServiceShaderId); 370 DoCreateShader(GL_VERTEX_SHADER, client_shader_id_, kServiceShaderId);
229 371
230 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 372 EXPECT_EQ(GL_NO_ERROR, GetGLError());
231 } 373 }
232 374
233 void GLES2DecoderTestBase::TearDown() { 375 void GLES2DecoderTestBase::TearDown() {
376 InSequence sequence;
377
234 // All Tests should have read all their GLErrors before getting here. 378 // All Tests should have read all their GLErrors before getting here.
235 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 379 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
236 EXPECT_CALL(*gl_, DeleteBuffersARB(1, _)) 393 EXPECT_CALL(*gl_, DeleteBuffersARB(1, _))
237 .Times(2) 394 .Times(2)
238 .RetiresOnSaturation(); 395 .RetiresOnSaturation();
396
239 decoder_->Destroy(); 397 decoder_->Destroy();
240 decoder_.reset(); 398 decoder_.reset();
241 group_->Destroy(false); 399 group_->Destroy(false);
242 engine_.reset(); 400 engine_.reset();
243 ::gfx::GLInterface::SetGLInterface(NULL); 401 ::gfx::GLInterface::SetGLInterface(NULL);
244 gl_.reset(); 402 gl_.reset();
245 } 403 }
246 404
247 GLint GLES2DecoderTestBase::GetGLError() { 405 GLint GLES2DecoderTestBase::GetGLError() {
248 EXPECT_CALL(*gl_, GetError()) 406 EXPECT_CALL(*gl_, GetError())
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 656
499 void GLES2DecoderTestBase::SetupExpectationsForApplyingDirtyState( 657 void GLES2DecoderTestBase::SetupExpectationsForApplyingDirtyState(
500 bool framebuffer_is_rgb, 658 bool framebuffer_is_rgb,
501 bool framebuffer_has_depth, 659 bool framebuffer_has_depth,
502 bool framebuffer_has_stencil, 660 bool framebuffer_has_stencil,
503 GLuint color_bits, 661 GLuint color_bits,
504 bool depth_mask, 662 bool depth_mask,
505 bool depth_enabled, 663 bool depth_enabled,
506 GLuint front_stencil_mask, 664 GLuint front_stencil_mask,
507 GLuint back_stencil_mask, 665 GLuint back_stencil_mask,
508 bool stencil_enabled) { 666 bool stencil_enabled,
667 bool cull_face_enabled,
668 bool scissor_test_enabled) {
509 EXPECT_CALL(*gl_, ColorMask( 669 EXPECT_CALL(*gl_, ColorMask(
510 (color_bits & 0x1000) != 0, 670 (color_bits & 0x1000) != 0,
511 (color_bits & 0x0100) != 0, 671 (color_bits & 0x0100) != 0,
512 (color_bits & 0x0010) != 0, 672 (color_bits & 0x0010) != 0,
513 (color_bits & 0x0001) && !framebuffer_is_rgb)) 673 (color_bits & 0x0001) && !framebuffer_is_rgb))
514 .Times(1) 674 .Times(1)
515 .RetiresOnSaturation(); 675 .RetiresOnSaturation();
516 EXPECT_CALL(*gl_, DepthMask(depth_mask)) 676 EXPECT_CALL(*gl_, DepthMask(depth_mask))
517 .Times(1) 677 .Times(1)
518 .RetiresOnSaturation(); 678 .RetiresOnSaturation();
(...skipping 14 matching lines...) Expand all
533 .RetiresOnSaturation(); 693 .RetiresOnSaturation();
534 if (framebuffer_has_stencil && stencil_enabled) { 694 if (framebuffer_has_stencil && stencil_enabled) {
535 EXPECT_CALL(*gl_, Enable(GL_STENCIL_TEST)) 695 EXPECT_CALL(*gl_, Enable(GL_STENCIL_TEST))
536 .Times(1) 696 .Times(1)
537 .RetiresOnSaturation(); 697 .RetiresOnSaturation();
538 } else { 698 } else {
539 EXPECT_CALL(*gl_, Disable(GL_STENCIL_TEST)) 699 EXPECT_CALL(*gl_, Disable(GL_STENCIL_TEST))
540 .Times(1) 700 .Times(1)
541 .RetiresOnSaturation(); 701 .RetiresOnSaturation();
542 } 702 }
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 }
543 } 721 }
544 722
545 void GLES2DecoderTestBase::SetupExpectationsForApplyingDefaultDirtyState() { 723 void GLES2DecoderTestBase::SetupExpectationsForApplyingDefaultDirtyState() {
546 SetupExpectationsForApplyingDirtyState( 724 SetupExpectationsForApplyingDirtyState(
547 false, // Framebuffer is RGB 725 false, // Framebuffer is RGB
548 false, // Framebuffer has depth 726 false, // Framebuffer has depth
549 false, // Framebuffer has stencil 727 false, // Framebuffer has stencil
550 0x1111, // color bits 728 0x1111, // color bits
551 true, // depth mask 729 true, // depth mask
552 false, // depth enabled 730 false, // depth enabled
553 0, // front stencil mask 731 0, // front stencil mask
554 0, // back stencil mask 732 0, // back stencil mask
555 false); // stencil enabled 733 false, // stencil enabled
734 false, // cull_face_enabled
735 false); // scissor_test_enabled
556 } 736 }
557 737
558 void GLES2DecoderTestBase::DoBindFramebuffer( 738 void GLES2DecoderTestBase::DoBindFramebuffer(
559 GLenum target, GLuint client_id, GLuint service_id) { 739 GLenum target, GLuint client_id, GLuint service_id) {
560 EXPECT_CALL(*gl_, BindFramebufferEXT(target, service_id)) 740 EXPECT_CALL(*gl_, BindFramebufferEXT(target, service_id))
561 .Times(1) 741 .Times(1)
562 .RetiresOnSaturation(); 742 .RetiresOnSaturation();
563 BindFramebuffer cmd; 743 BindFramebuffer cmd;
564 cmd.Init(target, client_id); 744 cmd.Init(target, client_id);
565 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 745 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 VertexAttribDivisorANGLE(index, divisor)) 949 VertexAttribDivisorANGLE(index, divisor))
770 .Times(1) 950 .Times(1)
771 .RetiresOnSaturation(); 951 .RetiresOnSaturation();
772 VertexAttribDivisorANGLE cmd; 952 VertexAttribDivisorANGLE cmd;
773 cmd.Init(index, divisor); 953 cmd.Init(index, divisor);
774 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 954 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
775 } 955 }
776 956
777 // GCC requires these declarations, but MSVC requires they not be present 957 // GCC requires these declarations, but MSVC requires they not be present
778 #ifndef COMPILER_MSVC 958 #ifndef COMPILER_MSVC
959 const int GLES2DecoderTestBase::kBackBufferWidth;
960 const int GLES2DecoderTestBase::kBackBufferHeight;
961
779 const GLint GLES2DecoderTestBase::kMaxTextureSize; 962 const GLint GLES2DecoderTestBase::kMaxTextureSize;
780 const GLint GLES2DecoderTestBase::kMaxCubeMapTextureSize; 963 const GLint GLES2DecoderTestBase::kMaxCubeMapTextureSize;
781 const GLint GLES2DecoderTestBase::kNumVertexAttribs; 964 const GLint GLES2DecoderTestBase::kNumVertexAttribs;
782 const GLint GLES2DecoderTestBase::kNumTextureUnits; 965 const GLint GLES2DecoderTestBase::kNumTextureUnits;
783 const GLint GLES2DecoderTestBase::kMaxTextureImageUnits; 966 const GLint GLES2DecoderTestBase::kMaxTextureImageUnits;
784 const GLint GLES2DecoderTestBase::kMaxVertexTextureImageUnits; 967 const GLint GLES2DecoderTestBase::kMaxVertexTextureImageUnits;
785 const GLint GLES2DecoderTestBase::kMaxFragmentUniformVectors; 968 const GLint GLES2DecoderTestBase::kMaxFragmentUniformVectors;
786 const GLint GLES2DecoderTestBase::kMaxVaryingVectors; 969 const GLint GLES2DecoderTestBase::kMaxVaryingVectors;
787 const GLint GLES2DecoderTestBase::kMaxVertexUniformVectors; 970 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;
788 978
789 const GLuint GLES2DecoderTestBase::kServiceAttrib0BufferId; 979 const GLuint GLES2DecoderTestBase::kServiceAttrib0BufferId;
790 const GLuint GLES2DecoderTestBase::kServiceFixedAttribBufferId; 980 const GLuint GLES2DecoderTestBase::kServiceFixedAttribBufferId;
791 981
792 const GLuint GLES2DecoderTestBase::kServiceBufferId; 982 const GLuint GLES2DecoderTestBase::kServiceBufferId;
793 const GLuint GLES2DecoderTestBase::kServiceFramebufferId; 983 const GLuint GLES2DecoderTestBase::kServiceFramebufferId;
794 const GLuint GLES2DecoderTestBase::kServiceRenderbufferId; 984 const GLuint GLES2DecoderTestBase::kServiceRenderbufferId;
795 const GLuint GLES2DecoderTestBase::kServiceTextureId; 985 const GLuint GLES2DecoderTestBase::kServiceTextureId;
796 const GLuint GLES2DecoderTestBase::kServiceProgramId; 986 const GLuint GLES2DecoderTestBase::kServiceProgramId;
797 const GLuint GLES2DecoderTestBase::kServiceShaderId; 987 const GLuint GLES2DecoderTestBase::kServiceShaderId;
798 const GLuint GLES2DecoderTestBase::kServiceElementBufferId; 988 const GLuint GLES2DecoderTestBase::kServiceElementBufferId;
799 const GLuint GLES2DecoderTestBase::kServiceQueryId; 989 const GLuint GLES2DecoderTestBase::kServiceQueryId;
800 990
801 const int32 GLES2DecoderTestBase::kSharedMemoryId; 991 const int32 GLES2DecoderTestBase::kSharedMemoryId;
802 const size_t GLES2DecoderTestBase::kSharedBufferSize; 992 const size_t GLES2DecoderTestBase::kSharedBufferSize;
803 const uint32 GLES2DecoderTestBase::kSharedMemoryOffset; 993 const uint32 GLES2DecoderTestBase::kSharedMemoryOffset;
804 const int32 GLES2DecoderTestBase::kInvalidSharedMemoryId; 994 const int32 GLES2DecoderTestBase::kInvalidSharedMemoryId;
805 const uint32 GLES2DecoderTestBase::kInvalidSharedMemoryOffset; 995 const uint32 GLES2DecoderTestBase::kInvalidSharedMemoryOffset;
806 const uint32 GLES2DecoderTestBase::kInitialResult; 996 const uint32 GLES2DecoderTestBase::kInitialResult;
807 const uint8 GLES2DecoderTestBase::kInitialMemoryValue; 997 const uint8 GLES2DecoderTestBase::kInitialMemoryValue;
808 998
809 const uint32 GLES2DecoderTestBase::kNewClientId; 999 const uint32 GLES2DecoderTestBase::kNewClientId;
810 const uint32 GLES2DecoderTestBase::kNewServiceId; 1000 const uint32 GLES2DecoderTestBase::kNewServiceId;
811 const uint32 GLES2DecoderTestBase::kInvalidClientId; 1001 const uint32 GLES2DecoderTestBase::kInvalidClientId;
812 1002
813 const int GLES2DecoderTestBase::kBackBufferWidth;
814 const int GLES2DecoderTestBase::kBackBufferHeight;
815
816 const GLuint GLES2DecoderTestBase::kServiceVertexShaderId; 1003 const GLuint GLES2DecoderTestBase::kServiceVertexShaderId;
817 const GLuint GLES2DecoderTestBase::kServiceFragmentShaderId; 1004 const GLuint GLES2DecoderTestBase::kServiceFragmentShaderId;
818 1005
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
819 const GLsizei GLES2DecoderTestBase::kNumVertices; 1016 const GLsizei GLES2DecoderTestBase::kNumVertices;
820 const GLsizei GLES2DecoderTestBase::kNumIndices; 1017 const GLsizei GLES2DecoderTestBase::kNumIndices;
821 const int GLES2DecoderTestBase::kValidIndexRangeStart; 1018 const int GLES2DecoderTestBase::kValidIndexRangeStart;
822 const int GLES2DecoderTestBase::kValidIndexRangeCount; 1019 const int GLES2DecoderTestBase::kValidIndexRangeCount;
823 const int GLES2DecoderTestBase::kInvalidIndexRangeStart; 1020 const int GLES2DecoderTestBase::kInvalidIndexRangeStart;
824 const int GLES2DecoderTestBase::kInvalidIndexRangeCount; 1021 const int GLES2DecoderTestBase::kInvalidIndexRangeCount;
825 const int GLES2DecoderTestBase::kOutOfRangeIndexRangeEnd; 1022 const int GLES2DecoderTestBase::kOutOfRangeIndexRangeEnd;
826 const GLuint GLES2DecoderTestBase::kMaxValidIndex; 1023 const GLuint GLES2DecoderTestBase::kMaxValidIndex;
827 1024
828 const GLint GLES2DecoderTestBase::kMaxAttribLength; 1025 const GLint GLES2DecoderTestBase::kMaxAttribLength;
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 .RetiresOnSaturation(); 1364 .RetiresOnSaturation();
1168 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, 0)) 1365 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, 0))
1169 .Times(1) 1366 .Times(1)
1170 .RetiresOnSaturation(); 1367 .RetiresOnSaturation();
1171 EXPECT_CALL(*gl_, VertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, NULL)) 1368 EXPECT_CALL(*gl_, VertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, NULL))
1172 .Times(1) 1369 .Times(1)
1173 .RetiresOnSaturation(); 1370 .RetiresOnSaturation();
1174 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, buffer_id)) 1371 EXPECT_CALL(*gl_, BindBuffer(GL_ARRAY_BUFFER, buffer_id))
1175 .Times(1) 1372 .Times(1)
1176 .RetiresOnSaturation(); 1373 .RetiresOnSaturation();
1374
1375 EXPECT_CALL(*gl_, DisableVertexAttribArray(0))
1376 .Times(1)
1377 .RetiresOnSaturation();
1177 } 1378 }
1178 } 1379 }
1179 1380
1180 void GLES2DecoderTestBase::AddExpectationsForSimulatedAttrib0( 1381 void GLES2DecoderTestBase::AddExpectationsForSimulatedAttrib0(
1181 GLsizei num_vertices, GLuint buffer_id) { 1382 GLsizei num_vertices, GLuint buffer_id) {
1182 AddExpectationsForSimulatedAttrib0WithError( 1383 AddExpectationsForSimulatedAttrib0WithError(
1183 num_vertices, buffer_id, GL_NO_ERROR); 1384 num_vertices, buffer_id, GL_NO_ERROR);
1184 } 1385 }
1185 1386
1186 void GLES2DecoderWithShaderTestBase::SetUp() { 1387 void GLES2DecoderWithShaderTestBase::SetUp() {
1187 GLES2DecoderTestBase::SetUp(); 1388 GLES2DecoderTestBase::SetUp();
1188 SetupDefaultProgram(); 1389 SetupDefaultProgram();
1189 } 1390 }
1190 1391
1191 } // namespace gles2 1392 } // namespace gles2
1192 } // namespace gpu 1393 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698