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 |