OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" | 9 #include "gpu/command_buffer/common/gles2_cmd_format.h" |
10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 using ::testing::SetArgumentPointee; | 47 using ::testing::SetArgumentPointee; |
48 using ::testing::SetArgPointee; | 48 using ::testing::SetArgPointee; |
49 using ::testing::StrEq; | 49 using ::testing::StrEq; |
50 using ::testing::StrictMock; | 50 using ::testing::StrictMock; |
51 | 51 |
52 namespace gpu { | 52 namespace gpu { |
53 namespace gles2 { | 53 namespace gles2 { |
54 | 54 |
55 using namespace cmds; | 55 using namespace cmds; |
56 | 56 |
57 TEST_F(GLES2DecoderWithShaderTest, GetVertexAttribPointervSucceeds) { | 57 TEST_P(GLES2DecoderWithShaderTest, GetVertexAttribPointervSucceeds) { |
58 const float dummy = 0; | 58 const float dummy = 0; |
59 const GLuint kOffsetToTestFor = sizeof(dummy) * 4; | 59 const GLuint kOffsetToTestFor = sizeof(dummy) * 4; |
60 const GLuint kIndexToTest = 1; | 60 const GLuint kIndexToTest = 1; |
61 GetVertexAttribPointerv::Result* result = | 61 GetVertexAttribPointerv::Result* result = |
62 static_cast<GetVertexAttribPointerv::Result*>(shared_memory_address_); | 62 static_cast<GetVertexAttribPointerv::Result*>(shared_memory_address_); |
63 result->size = 0; | 63 result->size = 0; |
64 const GLuint* result_value = result->GetData(); | 64 const GLuint* result_value = result->GetData(); |
65 // Test that initial value is 0. | 65 // Test that initial value is 0. |
66 GetVertexAttribPointerv cmd; | 66 GetVertexAttribPointerv cmd; |
67 cmd.Init(kIndexToTest, | 67 cmd.Init(kIndexToTest, |
68 GL_VERTEX_ATTRIB_ARRAY_POINTER, | 68 GL_VERTEX_ATTRIB_ARRAY_POINTER, |
69 shared_memory_id_, | 69 shared_memory_id_, |
70 shared_memory_offset_); | 70 shared_memory_offset_); |
71 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 71 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
72 EXPECT_EQ(sizeof(*result_value), result->size); | 72 EXPECT_EQ(sizeof(*result_value), result->size); |
73 EXPECT_EQ(0u, *result_value); | 73 EXPECT_EQ(0u, *result_value); |
74 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 74 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
75 | 75 |
76 // Set the value and see that we get it. | 76 // Set the value and see that we get it. |
77 SetupVertexBuffer(); | 77 SetupVertexBuffer(); |
78 DoVertexAttribPointer(kIndexToTest, 2, GL_FLOAT, 0, kOffsetToTestFor); | 78 DoVertexAttribPointer(kIndexToTest, 2, GL_FLOAT, 0, kOffsetToTestFor); |
79 result->size = 0; | 79 result->size = 0; |
80 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 80 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
81 EXPECT_EQ(sizeof(*result_value), result->size); | 81 EXPECT_EQ(sizeof(*result_value), result->size); |
82 EXPECT_EQ(kOffsetToTestFor, *result_value); | 82 EXPECT_EQ(kOffsetToTestFor, *result_value); |
83 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 83 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
84 } | 84 } |
85 | 85 |
86 TEST_F(GLES2DecoderWithShaderTest, GetVertexAttribPointervBadArgsFails) { | 86 TEST_P(GLES2DecoderWithShaderTest, GetVertexAttribPointervBadArgsFails) { |
87 const GLuint kIndexToTest = 1; | 87 const GLuint kIndexToTest = 1; |
88 GetVertexAttribPointerv::Result* result = | 88 GetVertexAttribPointerv::Result* result = |
89 static_cast<GetVertexAttribPointerv::Result*>(shared_memory_address_); | 89 static_cast<GetVertexAttribPointerv::Result*>(shared_memory_address_); |
90 result->size = 0; | 90 result->size = 0; |
91 const GLuint* result_value = result->GetData(); | 91 const GLuint* result_value = result->GetData(); |
92 // Test pname invalid fails. | 92 // Test pname invalid fails. |
93 GetVertexAttribPointerv cmd; | 93 GetVertexAttribPointerv cmd; |
94 cmd.Init(kIndexToTest, | 94 cmd.Init(kIndexToTest, |
95 GL_VERTEX_ATTRIB_ARRAY_POINTER + 1, | 95 GL_VERTEX_ATTRIB_ARRAY_POINTER + 1, |
96 shared_memory_id_, | 96 shared_memory_id_, |
(...skipping 22 matching lines...) Expand all Loading... |
119 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); | 119 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
120 | 120 |
121 // Test memory offset bad fails. | 121 // Test memory offset bad fails. |
122 cmd.Init(kIndexToTest, | 122 cmd.Init(kIndexToTest, |
123 GL_VERTEX_ATTRIB_ARRAY_POINTER, | 123 GL_VERTEX_ATTRIB_ARRAY_POINTER, |
124 shared_memory_id_, | 124 shared_memory_id_, |
125 kInvalidSharedMemoryOffset); | 125 kInvalidSharedMemoryOffset); |
126 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); | 126 EXPECT_NE(error::kNoError, ExecuteCmd(cmd)); |
127 } | 127 } |
128 | 128 |
129 TEST_F(GLES2DecoderWithShaderTest, BindBufferToDifferentTargetFails) { | 129 TEST_P(GLES2DecoderWithShaderTest, BindBufferToDifferentTargetFails) { |
130 // Bind the buffer to GL_ARRAY_BUFFER | 130 // Bind the buffer to GL_ARRAY_BUFFER |
131 DoBindBuffer(GL_ARRAY_BUFFER, client_buffer_id_, kServiceBufferId); | 131 DoBindBuffer(GL_ARRAY_BUFFER, client_buffer_id_, kServiceBufferId); |
132 // Attempt to rebind to GL_ELEMENT_ARRAY_BUFFER | 132 // Attempt to rebind to GL_ELEMENT_ARRAY_BUFFER |
133 // NOTE: Real GLES2 does not have this restriction but WebGL and we do. | 133 // NOTE: Real GLES2 does not have this restriction but WebGL and we do. |
134 // This can be restriction can be removed at runtime. | 134 // This can be restriction can be removed at runtime. |
135 EXPECT_CALL(*gl_, BindBuffer(_, _)).Times(0); | 135 EXPECT_CALL(*gl_, BindBuffer(_, _)).Times(0); |
136 BindBuffer cmd; | 136 BindBuffer cmd; |
137 cmd.Init(GL_ELEMENT_ARRAY_BUFFER, client_buffer_id_); | 137 cmd.Init(GL_ELEMENT_ARRAY_BUFFER, client_buffer_id_); |
138 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 138 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
139 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); | 139 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
140 } | 140 } |
141 | 141 |
142 TEST_F(GLES2DecoderWithShaderTest, VertexAttribPointer) { | 142 TEST_P(GLES2DecoderWithShaderTest, VertexAttribPointer) { |
143 SetupVertexBuffer(); | 143 SetupVertexBuffer(); |
144 static const GLenum types[] = { | 144 static const GLenum types[] = { |
145 GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, | 145 GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, |
146 GL_FLOAT, GL_FIXED, GL_INT, GL_UNSIGNED_INT, | 146 GL_FLOAT, GL_FIXED, GL_INT, GL_UNSIGNED_INT, |
147 }; | 147 }; |
148 static const GLsizei sizes[] = { | 148 static const GLsizei sizes[] = { |
149 1, 1, 2, 2, 4, 4, 4, 4, | 149 1, 1, 2, 2, 4, 4, 4, 4, |
150 }; | 150 }; |
151 static const GLuint indices[] = { | 151 static const GLuint indices[] = { |
152 0, 1, kNumVertexAttribs - 1, kNumVertexAttribs, | 152 0, 1, kNumVertexAttribs - 1, kNumVertexAttribs, |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 } | 378 } |
379 | 379 |
380 void BindVertexArrayOESValidArgsNewId() { | 380 void BindVertexArrayOESValidArgsNewId() { |
381 BindVertexArrayOES cmd; | 381 BindVertexArrayOES cmd; |
382 cmd.Init(kNewClientId); | 382 cmd.Init(kNewClientId); |
383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
384 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); | 384 EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); |
385 } | 385 } |
386 }; | 386 }; |
387 | 387 |
| 388 INSTANTIATE_TEST_CASE_P(Service, |
| 389 GLES2DecoderVertexArraysOESTest, |
| 390 ::testing::Bool()); |
| 391 |
388 class GLES2DecoderEmulatedVertexArraysOESTest | 392 class GLES2DecoderEmulatedVertexArraysOESTest |
389 : public GLES2DecoderVertexArraysOESTest { | 393 : public GLES2DecoderVertexArraysOESTest { |
390 public: | 394 public: |
391 GLES2DecoderEmulatedVertexArraysOESTest() {} | 395 GLES2DecoderEmulatedVertexArraysOESTest() {} |
392 | 396 |
393 virtual void SetUp() { | 397 virtual void SetUp() { |
394 InitState init; | 398 InitState init; |
395 init.gl_version = "3.0"; | 399 init.gl_version = "3.0"; |
396 init.bind_generates_resource = true; | 400 init.bind_generates_resource = true; |
397 InitDecoder(init); | 401 InitDecoder(init); |
398 SetupDefaultProgram(); | 402 SetupDefaultProgram(); |
399 | 403 |
400 AddExpectationsForGenVertexArraysOES(); | 404 AddExpectationsForGenVertexArraysOES(); |
401 GenHelper<GenVertexArraysOESImmediate>(client_vertexarray_id_); | 405 GenHelper<GenVertexArraysOESImmediate>(client_vertexarray_id_); |
402 | 406 |
403 vertex_array_deleted_manually_ = false; | 407 vertex_array_deleted_manually_ = false; |
404 } | 408 } |
405 }; | 409 }; |
406 | 410 |
| 411 INSTANTIATE_TEST_CASE_P(Service, |
| 412 GLES2DecoderEmulatedVertexArraysOESTest, |
| 413 ::testing::Bool()); |
| 414 |
407 // Test vertex array objects with native support | 415 // Test vertex array objects with native support |
408 TEST_F(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESValidArgs) { | 416 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESValidArgs) { |
409 GenVertexArraysOESValidArgs(); | 417 GenVertexArraysOESValidArgs(); |
410 } | 418 } |
411 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, GenVertexArraysOESValidArgs) { | 419 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, GenVertexArraysOESValidArgs) { |
412 GenVertexArraysOESValidArgs(); | 420 GenVertexArraysOESValidArgs(); |
413 } | 421 } |
414 | 422 |
415 TEST_F(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESInvalidArgs) { | 423 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESInvalidArgs) { |
416 GenVertexArraysOESInvalidArgs(); | 424 GenVertexArraysOESInvalidArgs(); |
417 } | 425 } |
418 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, ) { | 426 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, ) { |
419 GenVertexArraysOESInvalidArgs(); | 427 GenVertexArraysOESInvalidArgs(); |
420 } | 428 } |
421 | 429 |
422 TEST_F(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESImmediateValidArgs) { | 430 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESImmediateValidArgs) { |
423 GenVertexArraysOESImmediateValidArgs(); | 431 GenVertexArraysOESImmediateValidArgs(); |
424 } | 432 } |
425 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 433 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
426 GenVertexArraysOESImmediateValidArgs) { | 434 GenVertexArraysOESImmediateValidArgs) { |
427 GenVertexArraysOESImmediateValidArgs(); | 435 GenVertexArraysOESImmediateValidArgs(); |
428 } | 436 } |
429 | 437 |
430 TEST_F(GLES2DecoderVertexArraysOESTest, | 438 TEST_P(GLES2DecoderVertexArraysOESTest, |
431 GenVertexArraysOESImmediateInvalidArgs) { | 439 GenVertexArraysOESImmediateInvalidArgs) { |
432 GenVertexArraysOESImmediateInvalidArgs(); | 440 GenVertexArraysOESImmediateInvalidArgs(); |
433 } | 441 } |
434 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 442 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
435 GenVertexArraysOESImmediateInvalidArgs) { | 443 GenVertexArraysOESImmediateInvalidArgs) { |
436 GenVertexArraysOESImmediateInvalidArgs(); | 444 GenVertexArraysOESImmediateInvalidArgs(); |
437 } | 445 } |
438 | 446 |
439 TEST_F(GLES2DecoderVertexArraysOESTest, DeleteVertexArraysOESValidArgs) { | 447 TEST_P(GLES2DecoderVertexArraysOESTest, DeleteVertexArraysOESValidArgs) { |
440 DeleteVertexArraysOESValidArgs(); | 448 DeleteVertexArraysOESValidArgs(); |
441 } | 449 } |
442 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 450 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
443 DeleteVertexArraysOESValidArgs) { | 451 DeleteVertexArraysOESValidArgs) { |
444 DeleteVertexArraysOESValidArgs(); | 452 DeleteVertexArraysOESValidArgs(); |
445 } | 453 } |
446 | 454 |
447 TEST_F(GLES2DecoderVertexArraysOESTest, DeleteVertexArraysOESInvalidArgs) { | 455 TEST_P(GLES2DecoderVertexArraysOESTest, DeleteVertexArraysOESInvalidArgs) { |
448 DeleteVertexArraysOESInvalidArgs(); | 456 DeleteVertexArraysOESInvalidArgs(); |
449 } | 457 } |
450 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 458 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
451 DeleteVertexArraysOESInvalidArgs) { | 459 DeleteVertexArraysOESInvalidArgs) { |
452 DeleteVertexArraysOESInvalidArgs(); | 460 DeleteVertexArraysOESInvalidArgs(); |
453 } | 461 } |
454 | 462 |
455 TEST_F(GLES2DecoderVertexArraysOESTest, | 463 TEST_P(GLES2DecoderVertexArraysOESTest, |
456 DeleteVertexArraysOESImmediateValidArgs) { | 464 DeleteVertexArraysOESImmediateValidArgs) { |
457 DeleteVertexArraysOESImmediateValidArgs(); | 465 DeleteVertexArraysOESImmediateValidArgs(); |
458 } | 466 } |
459 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 467 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
460 DeleteVertexArraysOESImmediateValidArgs) { | 468 DeleteVertexArraysOESImmediateValidArgs) { |
461 DeleteVertexArraysOESImmediateValidArgs(); | 469 DeleteVertexArraysOESImmediateValidArgs(); |
462 } | 470 } |
463 | 471 |
464 TEST_F(GLES2DecoderVertexArraysOESTest, | 472 TEST_P(GLES2DecoderVertexArraysOESTest, |
465 DeleteVertexArraysOESImmediateInvalidArgs) { | 473 DeleteVertexArraysOESImmediateInvalidArgs) { |
466 DeleteVertexArraysOESImmediateInvalidArgs(); | 474 DeleteVertexArraysOESImmediateInvalidArgs(); |
467 } | 475 } |
468 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 476 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
469 DeleteVertexArraysOESImmediateInvalidArgs) { | 477 DeleteVertexArraysOESImmediateInvalidArgs) { |
470 DeleteVertexArraysOESImmediateInvalidArgs(); | 478 DeleteVertexArraysOESImmediateInvalidArgs(); |
471 } | 479 } |
472 | 480 |
473 TEST_F(GLES2DecoderVertexArraysOESTest, | 481 TEST_P(GLES2DecoderVertexArraysOESTest, |
474 DeleteBoundVertexArraysOESImmediateValidArgs) { | 482 DeleteBoundVertexArraysOESImmediateValidArgs) { |
475 DeleteBoundVertexArraysOESImmediateValidArgs(); | 483 DeleteBoundVertexArraysOESImmediateValidArgs(); |
476 } | 484 } |
477 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 485 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
478 DeleteBoundVertexArraysOESImmediateValidArgs) { | 486 DeleteBoundVertexArraysOESImmediateValidArgs) { |
479 DeleteBoundVertexArraysOESImmediateValidArgs(); | 487 DeleteBoundVertexArraysOESImmediateValidArgs(); |
480 } | 488 } |
481 | 489 |
482 TEST_F(GLES2DecoderVertexArraysOESTest, IsVertexArrayOESValidArgs) { | 490 TEST_P(GLES2DecoderVertexArraysOESTest, IsVertexArrayOESValidArgs) { |
483 IsVertexArrayOESValidArgs(); | 491 IsVertexArrayOESValidArgs(); |
484 } | 492 } |
485 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, IsVertexArrayOESValidArgs) { | 493 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, IsVertexArrayOESValidArgs) { |
486 IsVertexArrayOESValidArgs(); | 494 IsVertexArrayOESValidArgs(); |
487 } | 495 } |
488 | 496 |
489 TEST_F(GLES2DecoderVertexArraysOESTest, | 497 TEST_P(GLES2DecoderVertexArraysOESTest, |
490 IsVertexArrayOESInvalidArgsBadSharedMemoryId) { | 498 IsVertexArrayOESInvalidArgsBadSharedMemoryId) { |
491 IsVertexArrayOESInvalidArgsBadSharedMemoryId(); | 499 IsVertexArrayOESInvalidArgsBadSharedMemoryId(); |
492 } | 500 } |
493 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 501 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
494 IsVertexArrayOESInvalidArgsBadSharedMemoryId) { | 502 IsVertexArrayOESInvalidArgsBadSharedMemoryId) { |
495 IsVertexArrayOESInvalidArgsBadSharedMemoryId(); | 503 IsVertexArrayOESInvalidArgsBadSharedMemoryId(); |
496 } | 504 } |
497 | 505 |
498 TEST_F(GLES2DecoderVertexArraysOESTest, BindVertexArrayOESValidArgs) { | 506 TEST_P(GLES2DecoderVertexArraysOESTest, BindVertexArrayOESValidArgs) { |
499 BindVertexArrayOESValidArgs(); | 507 BindVertexArrayOESValidArgs(); |
500 } | 508 } |
501 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, BindVertexArrayOESValidArgs) { | 509 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, BindVertexArrayOESValidArgs) { |
502 BindVertexArrayOESValidArgs(); | 510 BindVertexArrayOESValidArgs(); |
503 } | 511 } |
504 | 512 |
505 TEST_F(GLES2DecoderVertexArraysOESTest, BindVertexArrayOESValidArgsNewId) { | 513 TEST_P(GLES2DecoderVertexArraysOESTest, BindVertexArrayOESValidArgsNewId) { |
506 BindVertexArrayOESValidArgsNewId(); | 514 BindVertexArrayOESValidArgsNewId(); |
507 } | 515 } |
508 TEST_F(GLES2DecoderEmulatedVertexArraysOESTest, | 516 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, |
509 BindVertexArrayOESValidArgsNewId) { | 517 BindVertexArrayOESValidArgsNewId) { |
510 BindVertexArrayOESValidArgsNewId(); | 518 BindVertexArrayOESValidArgsNewId(); |
511 } | 519 } |
512 | 520 |
513 TEST_F(GLES2DecoderTest, BufferDataGLError) { | 521 TEST_P(GLES2DecoderTest, BufferDataGLError) { |
514 GLenum target = GL_ARRAY_BUFFER; | 522 GLenum target = GL_ARRAY_BUFFER; |
515 GLsizeiptr size = 4; | 523 GLsizeiptr size = 4; |
516 DoBindBuffer(GL_ARRAY_BUFFER, client_buffer_id_, kServiceBufferId); | 524 DoBindBuffer(GL_ARRAY_BUFFER, client_buffer_id_, kServiceBufferId); |
517 BufferManager* manager = group().buffer_manager(); | 525 BufferManager* manager = group().buffer_manager(); |
518 Buffer* buffer = manager->GetBuffer(client_buffer_id_); | 526 Buffer* buffer = manager->GetBuffer(client_buffer_id_); |
519 ASSERT_TRUE(buffer != NULL); | 527 ASSERT_TRUE(buffer != NULL); |
520 EXPECT_EQ(0, buffer->size()); | 528 EXPECT_EQ(0, buffer->size()); |
521 EXPECT_CALL(*gl_, GetError()) | 529 EXPECT_CALL(*gl_, GetError()) |
522 .WillOnce(Return(GL_NO_ERROR)) | 530 .WillOnce(Return(GL_NO_ERROR)) |
523 .WillOnce(Return(GL_OUT_OF_MEMORY)) | 531 .WillOnce(Return(GL_OUT_OF_MEMORY)) |
(...skipping 11 matching lines...) Expand all Loading... |
535 // TODO(gman): BufferData | 543 // TODO(gman): BufferData |
536 | 544 |
537 // TODO(gman): BufferDataImmediate | 545 // TODO(gman): BufferDataImmediate |
538 | 546 |
539 // TODO(gman): BufferSubData | 547 // TODO(gman): BufferSubData |
540 | 548 |
541 // TODO(gman): BufferSubDataImmediate | 549 // TODO(gman): BufferSubDataImmediate |
542 | 550 |
543 } // namespace gles2 | 551 } // namespace gles2 |
544 } // namespace gpu | 552 } // namespace gpu |
OLD | NEW |