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

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

Issue 7099007: Enforce RGB even on buggy drivers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add checks for reading GL_ALPHA_BITS etc. Created 9 years, 6 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_
7 7
8 #include "gpu/command_buffer/common/gl_mock.h" 8 #include "gpu/command_buffer/common/gl_mock.h"
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" 9 #include "gpu/command_buffer/common/gles2_cmd_format.h"
10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 10 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 155
156 ProgramManager::ProgramInfo* GetProgramInfo(GLuint service_id) { 156 ProgramManager::ProgramInfo* GetProgramInfo(GLuint service_id) {
157 return group_->program_manager()->GetProgramInfo(service_id); 157 return group_->program_manager()->GetProgramInfo(service_id);
158 } 158 }
159 159
160 void DoCreateProgram(GLuint client_id, GLuint service_id); 160 void DoCreateProgram(GLuint client_id, GLuint service_id);
161 void DoCreateShader(GLenum shader_type, GLuint client_id, GLuint service_id); 161 void DoCreateShader(GLenum shader_type, GLuint client_id, GLuint service_id);
162 162
163 void SetBucketAsCString(uint32 bucket_id, const char* str); 163 void SetBucketAsCString(uint32 bucket_id, const char* str);
164 164
165 void InitDecoder(const char* extensions, bool has_alpha_backbuffer); 165 void InitDecoder(
166 const char* extensions,
167 bool has_alpha,
168 bool has_depth,
169 bool has_stencil,
170 bool request_alpha,
171 bool request_depth,
172 bool request_stencil);
166 173
167 const ContextGroup& group() const { 174 const ContextGroup& group() const {
168 return *group_.get(); 175 return *group_.get();
169 } 176 }
170 177
171 struct AttribInfo { 178 struct AttribInfo {
172 const char* name; 179 const char* name;
173 GLint size; 180 GLint size;
174 GLenum type; 181 GLenum type;
175 GLint location; 182 GLint location;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 uint32 shared_memory_id, uint32 shared_memory_offset); 232 uint32 shared_memory_id, uint32 shared_memory_offset);
226 void DoVertexAttribPointer( 233 void DoVertexAttribPointer(
227 GLuint index, GLint size, GLenum type, GLsizei stride, GLuint offset); 234 GLuint index, GLint size, GLenum type, GLsizei stride, GLuint offset);
228 235
229 void SetupExpectationsForFramebufferAttachment( 236 void SetupExpectationsForFramebufferAttachment(
230 GLuint clear_bits, 237 GLuint clear_bits,
231 GLclampf restore_red, 238 GLclampf restore_red,
232 GLclampf restore_green, 239 GLclampf restore_green,
233 GLclampf restore_blue, 240 GLclampf restore_blue,
234 GLclampf restore_alpha, 241 GLclampf restore_alpha,
235 GLuint restore_color_mask,
236 GLuint restore_stencil, 242 GLuint restore_stencil,
237 GLuint restore_stencil_front_mask,
238 GLuint restore_stencil_back_mask,
239 GLclampf restore_depth, 243 GLclampf restore_depth,
240 GLboolean restore_depth_mask,
241 bool restore_scissor_test); 244 bool restore_scissor_test);
242 245
246 void SetupExpectationsForApplyingDirtyState(
247 bool framebuffer_is_rgb,
248 bool framebuffer_has_depth,
249 bool framebuffer_has_stencil,
250 GLuint color_bits, // NOTE! bits are 0x1000, 0x0100, 0x0010, and 0x0001
251 bool depth_mask,
252 GLuint front_stencil_mask,
253 GLuint back_stencil_mask);
254
255 void SetupExpectationsForApplyingDefaultDirtyState();
256
243 GLvoid* BufferOffset(unsigned i) { 257 GLvoid* BufferOffset(unsigned i) {
244 return static_cast<int8 *>(NULL)+(i); 258 return static_cast<int8 *>(NULL)+(i);
245 } 259 }
246 260
247 template <typename Command, typename Result> 261 template <typename Command, typename Result>
248 bool IsObjectHelper(GLuint client_id) { 262 bool IsObjectHelper(GLuint client_id) {
249 Result* result = static_cast<Result*>(shared_memory_address_); 263 Result* result = static_cast<Result*>(shared_memory_address_);
250 Command cmd; 264 Command cmd;
251 cmd.Init(client_id, kSharedMemoryId, kSharedMemoryOffset); 265 cmd.Init(client_id, kSharedMemoryId, kSharedMemoryOffset);
252 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 266 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 static const GLenum kUniform1Type = GL_SAMPLER_2D; 389 static const GLenum kUniform1Type = GL_SAMPLER_2D;
376 static const GLenum kUniform2Type = GL_INT_VEC2; 390 static const GLenum kUniform2Type = GL_INT_VEC2;
377 static const GLenum kUniform3Type = GL_FLOAT_VEC3; 391 static const GLenum kUniform3Type = GL_FLOAT_VEC3;
378 static const GLint kInvalidUniformLocation = 30; 392 static const GLint kInvalidUniformLocation = 30;
379 static const GLint kBadUniformIndex = 1000; 393 static const GLint kBadUniformIndex = 1000;
380 394
381 protected: 395 protected:
382 virtual void SetUp(); 396 virtual void SetUp();
383 virtual void TearDown(); 397 virtual void TearDown();
384 398
399 void SetupDefaultProgram();
385 void SetupTexture(); 400 void SetupTexture();
386 401
387 void DoEnableVertexAttribArray(GLint index); 402 void DoEnableVertexAttribArray(GLint index);
388 403
389 void DoBufferData(GLenum target, GLsizei size); 404 void DoBufferData(GLenum target, GLsizei size);
390 405
391 void DoBufferSubData( 406 void DoBufferSubData(
392 GLenum target, GLint offset, GLsizei size, const void* data); 407 GLenum target, GLint offset, GLsizei size, const void* data);
393 408
394 void SetupVertexBuffer(); 409 void SetupVertexBuffer();
395 410
396 void SetupIndexBuffer(); 411 void SetupIndexBuffer();
397 412
398 void DeleteVertexBuffer(); 413 void DeleteVertexBuffer();
399 414
400 void DeleteIndexBuffer(); 415 void DeleteIndexBuffer();
401 416
402 GLuint client_vertex_shader_id_; 417 GLuint client_vertex_shader_id_;
403 GLuint client_fragment_shader_id_; 418 GLuint client_fragment_shader_id_;
404 }; 419 };
405 420
406 } // namespace gles2 421 } // namespace gles2
407 } // namespace gpu 422 } // namespace gpu
408 423
409 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_ 424 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_BASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698