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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc

Issue 2446773002: Always use Desktop GL 4.1 or less BindBufferRange behavior. (Closed)
Patch Set: fix comments Created 4 years, 1 month 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
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | gpu/command_buffer/service/indexed_buffer_binding_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698