OLD | NEW |
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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "gpu/command_buffer/service/buffer_manager.h" | 10 #include "gpu/command_buffer/service/buffer_manager.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 Buffer* buffer, GLenum target, GLsizeiptr size, GLenum usage, | 54 Buffer* buffer, GLenum target, GLsizeiptr size, GLenum usage, |
55 const GLvoid* data, GLenum error) { | 55 const GLvoid* data, GLenum error) { |
56 TestHelper::DoBufferData( | 56 TestHelper::DoBufferData( |
57 gl_.get(), error_state_.get(), manager_.get(), | 57 gl_.get(), error_state_.get(), manager_.get(), |
58 buffer, target, size, usage, data, error); | 58 buffer, target, size, usage, data, error); |
59 } | 59 } |
60 | 60 |
61 bool DoBufferSubData( | 61 bool DoBufferSubData( |
62 Buffer* buffer, GLenum target, GLintptr offset, GLsizeiptr size, | 62 Buffer* buffer, GLenum target, GLintptr offset, GLsizeiptr size, |
63 const GLvoid* data) { | 63 const GLvoid* data) { |
| 64 bool success = true; |
64 if (!buffer->CheckRange(offset, size)) { | 65 if (!buffer->CheckRange(offset, size)) { |
65 return false; | 66 EXPECT_CALL(*error_state_, SetGLError(_, _, GL_INVALID_VALUE, _, _)) |
66 } | 67 .Times(1) |
67 if (!buffer->IsClientSideArray()) { | 68 .RetiresOnSaturation(); |
| 69 success = false; |
| 70 } else if (!buffer->IsClientSideArray()) { |
68 EXPECT_CALL(*gl_, BufferSubData(target, offset, size, _)) | 71 EXPECT_CALL(*gl_, BufferSubData(target, offset, size, _)) |
69 .Times(1) | 72 .Times(1) |
70 .RetiresOnSaturation(); | 73 .RetiresOnSaturation(); |
71 } | 74 } |
72 manager_->DoBufferSubData(buffer, target, offset, size, data); | 75 manager_->DoBufferSubData( |
73 return true; | 76 error_state_.get(), buffer, target, offset, size, data); |
| 77 return success; |
74 } | 78 } |
75 | 79 |
76 void RunGetMaxValueForRangeUint8Test(bool enable_primitive_restart) | 80 void RunGetMaxValueForRangeUint8Test(bool enable_primitive_restart) |
77 { | 81 { |
78 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; | 82 const GLenum kTarget = GL_ELEMENT_ARRAY_BUFFER; |
79 const GLuint kClientBufferId = 1; | 83 const GLuint kClientBufferId = 1; |
80 const GLuint kServiceBufferId = 11; | 84 const GLuint kServiceBufferId = 11; |
81 const uint8_t data[] = {10, 9, 8, 7, 6, 0xFFu, 4, 3, 2, 1}; | 85 const uint8_t data[] = {10, 9, 8, 7, 6, 0xFFu, 4, 3, 2, 1}; |
82 const uint8_t new_data[] = {100, 120, 110}; | 86 const uint8_t new_data[] = {100, 120, 110}; |
83 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); | 87 manager_->CreateBuffer(kClientBufferId, kServiceBufferId); |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 // Removing buffers after MarkContextLost cause no GL calls. | 582 // Removing buffers after MarkContextLost cause no GL calls. |
579 manager_->RemoveBuffer(kClient1Id); | 583 manager_->RemoveBuffer(kClient1Id); |
580 manager_->Destroy(); | 584 manager_->Destroy(); |
581 // Check the resources were released. | 585 // Check the resources were released. |
582 buffer1 = manager_->GetBuffer(kClient1Id); | 586 buffer1 = manager_->GetBuffer(kClient1Id); |
583 ASSERT_TRUE(buffer1 == nullptr); | 587 ASSERT_TRUE(buffer1 == nullptr); |
584 } | 588 } |
585 | 589 |
586 } // namespace gles2 | 590 } // namespace gles2 |
587 } // namespace gpu | 591 } // namespace gpu |
| 592 |
| 593 |
OLD | NEW |