| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 7 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| 8 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest.h" | 8 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest.h" |
| 9 | 9 |
| 10 using ::gl::MockGLInterface; | 10 using ::gl::MockGLInterface; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 EXPECT_CALL(*gl_, GenBuffersARB(1, _)) | 37 EXPECT_CALL(*gl_, GenBuffersARB(1, _)) |
| 38 .WillOnce(SetArgPointee<1>(kNewServiceId)); | 38 .WillOnce(SetArgPointee<1>(kNewServiceId)); |
| 39 SpecializedSetup<BindBufferBase, 0>(true); | 39 SpecializedSetup<BindBufferBase, 0>(true); |
| 40 BindBufferBase cmd; | 40 BindBufferBase cmd; |
| 41 cmd.Init(GL_TRANSFORM_FEEDBACK_BUFFER, 2, kNewClientId); | 41 cmd.Init(GL_TRANSFORM_FEEDBACK_BUFFER, 2, kNewClientId); |
| 42 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 42 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 43 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 43 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 44 EXPECT_TRUE(GetBuffer(kNewClientId) != NULL); | 44 EXPECT_TRUE(GetBuffer(kNewClientId) != NULL); |
| 45 } | 45 } |
| 46 | 46 |
| 47 | |
| 48 TEST_P(GLES3DecoderTest, BindBufferRangeValidArgs) { | 47 TEST_P(GLES3DecoderTest, BindBufferRangeValidArgs) { |
| 49 EXPECT_CALL(*gl_, BindBufferRange(GL_TRANSFORM_FEEDBACK_BUFFER, 2, | 48 const GLenum kTarget = GL_TRANSFORM_FEEDBACK_BUFFER; |
| 50 kServiceBufferId, 4, 4)); | 49 const GLintptr kRangeOffset = 4; |
| 50 const GLsizeiptr kRangeSize = 8; |
| 51 const GLsizeiptr kBufferSize = kRangeOffset + kRangeSize; |
| 52 DoBindBuffer(kTarget, client_buffer_id_, kServiceBufferId); |
| 53 DoBufferData(kTarget, kBufferSize); |
| 54 EXPECT_CALL(*gl_, BindBufferRange(kTarget, 2, kServiceBufferId, |
| 55 kRangeOffset, kRangeSize)); |
| 51 SpecializedSetup<BindBufferRange, 0>(true); | 56 SpecializedSetup<BindBufferRange, 0>(true); |
| 52 BindBufferRange cmd; | 57 BindBufferRange cmd; |
| 53 cmd.Init(GL_TRANSFORM_FEEDBACK_BUFFER, 2, client_buffer_id_, 4, 4); | 58 cmd.Init(kTarget, 2, client_buffer_id_, kRangeOffset, kRangeSize); |
| 59 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 60 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 61 } |
| 62 |
| 63 TEST_P(GLES3DecoderTest, BindBufferRangeValidArgsWithNoData) { |
| 64 const GLenum kTarget = GL_TRANSFORM_FEEDBACK_BUFFER; |
| 65 const GLintptr kRangeOffset = 4; |
| 66 const GLsizeiptr kRangeSize = 8; |
| 67 DoBindBuffer(kTarget, client_buffer_id_, kServiceBufferId); |
| 68 EXPECT_CALL(*gl_, BindBufferBase(kTarget, 2, kServiceBufferId)); |
| 69 SpecializedSetup<BindBufferRange, 0>(true); |
| 70 BindBufferRange cmd; |
| 71 cmd.Init(kTarget, 2, client_buffer_id_, kRangeOffset, kRangeSize); |
| 72 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 73 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 74 } |
| 75 |
| 76 TEST_P(GLES3DecoderTest, BindBufferRangeValidArgsWithLessData) { |
| 77 const GLenum kTarget = GL_TRANSFORM_FEEDBACK_BUFFER; |
| 78 const GLintptr kRangeOffset = 4; |
| 79 const GLsizeiptr kRangeSize = 8; |
| 80 const GLsizeiptr kBufferSize = kRangeOffset + kRangeSize - 4; |
| 81 DoBindBuffer(kTarget, client_buffer_id_, kServiceBufferId); |
| 82 DoBufferData(kTarget, kBufferSize); |
| 83 EXPECT_CALL(*gl_, BindBufferRange(kTarget, 2, kServiceBufferId, |
| 84 kRangeOffset, kRangeSize - 4)); |
| 85 SpecializedSetup<BindBufferRange, 0>(true); |
| 86 BindBufferRange cmd; |
| 87 cmd.Init(kTarget, 2, client_buffer_id_, kRangeOffset, kRangeSize); |
| 54 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 88 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 55 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 89 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 56 } | 90 } |
| 57 | 91 |
| 58 TEST_P(GLES3DecoderTest, BindBufferRangeValidArgsNewId) { | 92 TEST_P(GLES3DecoderTest, BindBufferRangeValidArgsNewId) { |
| 59 EXPECT_CALL(*gl_, BindBufferRange(GL_TRANSFORM_FEEDBACK_BUFFER, 2, | 93 EXPECT_CALL(*gl_, BindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 2, |
| 60 kNewServiceId, 4, 4)); | 94 kNewServiceId)); |
| 61 EXPECT_CALL(*gl_, GenBuffersARB(1, _)) | 95 EXPECT_CALL(*gl_, GenBuffersARB(1, _)) |
| 62 .WillOnce(SetArgPointee<1>(kNewServiceId)); | 96 .WillOnce(SetArgPointee<1>(kNewServiceId)); |
| 63 SpecializedSetup<BindBufferRange, 0>(true); | 97 SpecializedSetup<BindBufferRange, 0>(true); |
| 64 BindBufferRange cmd; | 98 BindBufferRange cmd; |
| 65 cmd.Init(GL_TRANSFORM_FEEDBACK_BUFFER, 2, kNewClientId, 4, 4); | 99 cmd.Init(GL_TRANSFORM_FEEDBACK_BUFFER, 2, kNewClientId, 4, 4); |
| 66 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 100 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
| 67 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 101 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
| 68 EXPECT_TRUE(GetBuffer(kNewClientId) != NULL); | 102 EXPECT_TRUE(GetBuffer(kNewClientId) != NULL); |
| 69 } | 103 } |
| 70 | 104 |
| (...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 744 if (ii >= kWriteOffset && ii < kWriteOffset + kCopySize) { | 778 if (ii >= kWriteOffset && ii < kWriteOffset + kCopySize) { |
| 745 EXPECT_EQ(kValue0, shadow_data[ii]); | 779 EXPECT_EQ(kValue0, shadow_data[ii]); |
| 746 } else { | 780 } else { |
| 747 EXPECT_EQ(kValue1, shadow_data[ii]); | 781 EXPECT_EQ(kValue1, shadow_data[ii]); |
| 748 } | 782 } |
| 749 } | 783 } |
| 750 } | 784 } |
| 751 | 785 |
| 752 } // namespace gles2 | 786 } // namespace gles2 |
| 753 } // namespace gpu | 787 } // namespace gpu |
| OLD | NEW |