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 // This file is auto-generated from | 5 // This file is auto-generated from |
6 // gpu/command_buffer/build_gles2_cmd_buffer.py | 6 // gpu/command_buffer/build_gles2_cmd_buffer.py |
7 // DO NOT EDIT! | 7 // DO NOT EDIT! |
8 | 8 |
9 // It is included by gles2_cmd_decoder_unittest_2.cc | 9 // It is included by gles2_cmd_decoder_unittest_2.cc |
10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 10 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
11 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 11 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
12 | 12 |
13 | 13 |
14 TEST_F(GLES2DecoderTest2, GetVertexAttribivValidArgs) { | 14 TEST_F(GLES2DecoderTest2, GetVertexAttribivValidArgs) { |
15 SpecializedSetup<GetVertexAttribiv, 0>(true); | 15 SpecializedSetup<cmds::GetVertexAttribiv, 0>(true); |
16 typedef GetVertexAttribiv::Result Result; | 16 typedef cmds::GetVertexAttribiv::Result Result; |
17 Result* result = static_cast<Result*>(shared_memory_address_); | 17 Result* result = static_cast<Result*>(shared_memory_address_); |
18 result->size = 0; | 18 result->size = 0; |
19 GetVertexAttribiv cmd; | 19 cmds::GetVertexAttribiv cmd; |
20 cmd.Init( | 20 cmd.Init( |
21 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, | 21 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, |
22 shared_memory_offset_); | 22 shared_memory_offset_); |
23 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 23 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
24 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned( | 24 EXPECT_EQ(decoder_->GetGLES2Util()->GLGetNumValuesReturned( |
25 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), | 25 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), |
26 result->GetNumResults()); | 26 result->GetNumResults()); |
27 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 27 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
28 } | 28 } |
29 | 29 |
30 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_0) { | 30 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_0) { |
31 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); | 31 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); |
32 SpecializedSetup<GetVertexAttribiv, 0>(false); | 32 SpecializedSetup<cmds::GetVertexAttribiv, 0>(false); |
33 GetVertexAttribiv::Result* result = | 33 cmds::GetVertexAttribiv::Result* result = |
34 static_cast<GetVertexAttribiv::Result*>(shared_memory_address_); | 34 static_cast<cmds::GetVertexAttribiv::Result*>(shared_memory_address_); |
35 result->size = 0; | 35 result->size = 0; |
36 GetVertexAttribiv cmd; | 36 cmds::GetVertexAttribiv cmd; |
37 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, kInvalidSharedMemoryId, 0); | 37 cmd.Init(1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, kInvalidSharedMemoryId, 0); |
38 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 38 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
39 EXPECT_EQ(0u, result->size); | 39 EXPECT_EQ(0u, result->size); |
40 } | 40 } |
41 | 41 |
42 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_1) { | 42 TEST_F(GLES2DecoderTest2, GetVertexAttribivInvalidArgs2_1) { |
43 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); | 43 EXPECT_CALL(*gl_, GetVertexAttribiv(_, _, _)).Times(0); |
44 SpecializedSetup<GetVertexAttribiv, 0>(false); | 44 SpecializedSetup<cmds::GetVertexAttribiv, 0>(false); |
45 GetVertexAttribiv::Result* result = | 45 cmds::GetVertexAttribiv::Result* result = |
46 static_cast<GetVertexAttribiv::Result*>(shared_memory_address_); | 46 static_cast<cmds::GetVertexAttribiv::Result*>(shared_memory_address_); |
47 result->size = 0; | 47 result->size = 0; |
48 GetVertexAttribiv cmd; | 48 cmds::GetVertexAttribiv cmd; |
49 cmd.Init( | 49 cmd.Init( |
50 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, | 50 1, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, shared_memory_id_, |
51 kInvalidSharedMemoryOffset); | 51 kInvalidSharedMemoryOffset); |
52 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 52 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
53 EXPECT_EQ(0u, result->size); | 53 EXPECT_EQ(0u, result->size); |
54 } | 54 } |
55 // TODO(gman): GetVertexAttribPointerv | 55 // TODO(gman): GetVertexAttribPointerv |
56 | 56 |
57 | 57 |
58 TEST_F(GLES2DecoderTest2, HintValidArgs) { | 58 TEST_F(GLES2DecoderTest2, HintValidArgs) { |
59 EXPECT_CALL(*gl_, Hint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST)); | 59 EXPECT_CALL(*gl_, Hint(GL_GENERATE_MIPMAP_HINT, GL_FASTEST)); |
60 SpecializedSetup<Hint, 0>(true); | 60 SpecializedSetup<cmds::Hint, 0>(true); |
61 Hint cmd; | 61 cmds::Hint cmd; |
62 cmd.Init(GL_GENERATE_MIPMAP_HINT, GL_FASTEST); | 62 cmd.Init(GL_GENERATE_MIPMAP_HINT, GL_FASTEST); |
63 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 63 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
64 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 64 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
65 } | 65 } |
66 | 66 |
67 TEST_F(GLES2DecoderTest2, HintInvalidArgs0_0) { | 67 TEST_F(GLES2DecoderTest2, HintInvalidArgs0_0) { |
68 EXPECT_CALL(*gl_, Hint(_, _)).Times(0); | 68 EXPECT_CALL(*gl_, Hint(_, _)).Times(0); |
69 SpecializedSetup<Hint, 0>(false); | 69 SpecializedSetup<cmds::Hint, 0>(false); |
70 Hint cmd; | 70 cmds::Hint cmd; |
71 cmd.Init(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); | 71 cmd.Init(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST); |
72 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 72 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
73 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 73 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
74 } | 74 } |
75 | 75 |
76 TEST_F(GLES2DecoderTest2, IsBufferValidArgs) { | 76 TEST_F(GLES2DecoderTest2, IsBufferValidArgs) { |
77 SpecializedSetup<IsBuffer, 0>(true); | 77 SpecializedSetup<cmds::IsBuffer, 0>(true); |
78 IsBuffer cmd; | 78 cmds::IsBuffer cmd; |
79 cmd.Init(client_buffer_id_, shared_memory_id_, shared_memory_offset_); | 79 cmd.Init(client_buffer_id_, shared_memory_id_, shared_memory_offset_); |
80 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 80 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
81 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 81 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
82 } | 82 } |
83 | 83 |
84 TEST_F(GLES2DecoderTest2, IsBufferInvalidArgsBadSharedMemoryId) { | 84 TEST_F(GLES2DecoderTest2, IsBufferInvalidArgsBadSharedMemoryId) { |
85 SpecializedSetup<IsBuffer, 0>(false); | 85 SpecializedSetup<cmds::IsBuffer, 0>(false); |
86 IsBuffer cmd; | 86 cmds::IsBuffer cmd; |
87 cmd.Init(client_buffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 87 cmd.Init(client_buffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
88 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 88 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
89 cmd.Init(client_buffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 89 cmd.Init(client_buffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
90 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 90 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
91 } | 91 } |
92 | 92 |
93 TEST_F(GLES2DecoderTest2, IsEnabledValidArgs) { | 93 TEST_F(GLES2DecoderTest2, IsEnabledValidArgs) { |
94 SpecializedSetup<IsEnabled, 0>(true); | 94 SpecializedSetup<cmds::IsEnabled, 0>(true); |
95 IsEnabled cmd; | 95 cmds::IsEnabled cmd; |
96 cmd.Init(GL_BLEND, shared_memory_id_, shared_memory_offset_); | 96 cmd.Init(GL_BLEND, shared_memory_id_, shared_memory_offset_); |
97 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 97 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
98 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 98 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
99 } | 99 } |
100 | 100 |
101 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_0) { | 101 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_0) { |
102 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); | 102 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); |
103 SpecializedSetup<IsEnabled, 0>(false); | 103 SpecializedSetup<cmds::IsEnabled, 0>(false); |
104 IsEnabled cmd; | 104 cmds::IsEnabled cmd; |
105 cmd.Init(GL_CLIP_PLANE0, shared_memory_id_, shared_memory_offset_); | 105 cmd.Init(GL_CLIP_PLANE0, shared_memory_id_, shared_memory_offset_); |
106 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 106 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
107 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 107 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
108 } | 108 } |
109 | 109 |
110 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_1) { | 110 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgs0_1) { |
111 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); | 111 EXPECT_CALL(*gl_, IsEnabled(_)).Times(0); |
112 SpecializedSetup<IsEnabled, 0>(false); | 112 SpecializedSetup<cmds::IsEnabled, 0>(false); |
113 IsEnabled cmd; | 113 cmds::IsEnabled cmd; |
114 cmd.Init(GL_POINT_SPRITE, shared_memory_id_, shared_memory_offset_); | 114 cmd.Init(GL_POINT_SPRITE, shared_memory_id_, shared_memory_offset_); |
115 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 115 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
116 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 116 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
117 } | 117 } |
118 | 118 |
119 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgsBadSharedMemoryId) { | 119 TEST_F(GLES2DecoderTest2, IsEnabledInvalidArgsBadSharedMemoryId) { |
120 SpecializedSetup<IsEnabled, 0>(false); | 120 SpecializedSetup<cmds::IsEnabled, 0>(false); |
121 IsEnabled cmd; | 121 cmds::IsEnabled cmd; |
122 cmd.Init(GL_BLEND, kInvalidSharedMemoryId, shared_memory_offset_); | 122 cmd.Init(GL_BLEND, kInvalidSharedMemoryId, shared_memory_offset_); |
123 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 123 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
124 cmd.Init(GL_BLEND, shared_memory_id_, kInvalidSharedMemoryOffset); | 124 cmd.Init(GL_BLEND, shared_memory_id_, kInvalidSharedMemoryOffset); |
125 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 125 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
126 } | 126 } |
127 | 127 |
128 TEST_F(GLES2DecoderTest2, IsFramebufferValidArgs) { | 128 TEST_F(GLES2DecoderTest2, IsFramebufferValidArgs) { |
129 SpecializedSetup<IsFramebuffer, 0>(true); | 129 SpecializedSetup<cmds::IsFramebuffer, 0>(true); |
130 IsFramebuffer cmd; | 130 cmds::IsFramebuffer cmd; |
131 cmd.Init(client_framebuffer_id_, shared_memory_id_, shared_memory_offset_); | 131 cmd.Init(client_framebuffer_id_, shared_memory_id_, shared_memory_offset_); |
132 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 132 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
133 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 133 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
134 } | 134 } |
135 | 135 |
136 TEST_F(GLES2DecoderTest2, IsFramebufferInvalidArgsBadSharedMemoryId) { | 136 TEST_F(GLES2DecoderTest2, IsFramebufferInvalidArgsBadSharedMemoryId) { |
137 SpecializedSetup<IsFramebuffer, 0>(false); | 137 SpecializedSetup<cmds::IsFramebuffer, 0>(false); |
138 IsFramebuffer cmd; | 138 cmds::IsFramebuffer cmd; |
139 cmd.Init( | 139 cmd.Init( |
140 client_framebuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 140 client_framebuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
141 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 141 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
142 cmd.Init( | 142 cmd.Init( |
143 client_framebuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 143 client_framebuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
144 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 144 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
145 } | 145 } |
146 | 146 |
147 TEST_F(GLES2DecoderTest2, IsProgramValidArgs) { | 147 TEST_F(GLES2DecoderTest2, IsProgramValidArgs) { |
148 SpecializedSetup<IsProgram, 0>(true); | 148 SpecializedSetup<cmds::IsProgram, 0>(true); |
149 IsProgram cmd; | 149 cmds::IsProgram cmd; |
150 cmd.Init(client_program_id_, shared_memory_id_, shared_memory_offset_); | 150 cmd.Init(client_program_id_, shared_memory_id_, shared_memory_offset_); |
151 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 151 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
152 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 152 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
153 } | 153 } |
154 | 154 |
155 TEST_F(GLES2DecoderTest2, IsProgramInvalidArgsBadSharedMemoryId) { | 155 TEST_F(GLES2DecoderTest2, IsProgramInvalidArgsBadSharedMemoryId) { |
156 SpecializedSetup<IsProgram, 0>(false); | 156 SpecializedSetup<cmds::IsProgram, 0>(false); |
157 IsProgram cmd; | 157 cmds::IsProgram cmd; |
158 cmd.Init(client_program_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 158 cmd.Init(client_program_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
159 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 159 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
160 cmd.Init(client_program_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 160 cmd.Init(client_program_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
161 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 161 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
162 } | 162 } |
163 | 163 |
164 TEST_F(GLES2DecoderTest2, IsRenderbufferValidArgs) { | 164 TEST_F(GLES2DecoderTest2, IsRenderbufferValidArgs) { |
165 SpecializedSetup<IsRenderbuffer, 0>(true); | 165 SpecializedSetup<cmds::IsRenderbuffer, 0>(true); |
166 IsRenderbuffer cmd; | 166 cmds::IsRenderbuffer cmd; |
167 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); | 167 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); |
168 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 168 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
169 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 169 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
170 } | 170 } |
171 | 171 |
172 TEST_F(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { | 172 TEST_F(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { |
173 SpecializedSetup<IsRenderbuffer, 0>(false); | 173 SpecializedSetup<cmds::IsRenderbuffer, 0>(false); |
174 IsRenderbuffer cmd; | 174 cmds::IsRenderbuffer cmd; |
175 cmd.Init( | 175 cmd.Init( |
176 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 176 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
177 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 177 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
178 cmd.Init( | 178 cmd.Init( |
179 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 179 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
180 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 180 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
181 } | 181 } |
182 | 182 |
183 TEST_F(GLES2DecoderTest2, IsShaderValidArgs) { | 183 TEST_F(GLES2DecoderTest2, IsShaderValidArgs) { |
184 SpecializedSetup<IsShader, 0>(true); | 184 SpecializedSetup<cmds::IsShader, 0>(true); |
185 IsShader cmd; | 185 cmds::IsShader cmd; |
186 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); | 186 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); |
187 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 187 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
188 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 188 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
189 } | 189 } |
190 | 190 |
191 TEST_F(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { | 191 TEST_F(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { |
192 SpecializedSetup<IsShader, 0>(false); | 192 SpecializedSetup<cmds::IsShader, 0>(false); |
193 IsShader cmd; | 193 cmds::IsShader cmd; |
194 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 194 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
195 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 195 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
196 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 196 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
197 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 197 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
198 } | 198 } |
199 | 199 |
200 TEST_F(GLES2DecoderTest2, IsTextureValidArgs) { | 200 TEST_F(GLES2DecoderTest2, IsTextureValidArgs) { |
201 SpecializedSetup<IsTexture, 0>(true); | 201 SpecializedSetup<cmds::IsTexture, 0>(true); |
202 IsTexture cmd; | 202 cmds::IsTexture cmd; |
203 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); | 203 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); |
204 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 204 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
206 } | 206 } |
207 | 207 |
208 TEST_F(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { | 208 TEST_F(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { |
209 SpecializedSetup<IsTexture, 0>(false); | 209 SpecializedSetup<cmds::IsTexture, 0>(false); |
210 IsTexture cmd; | 210 cmds::IsTexture cmd; |
211 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 211 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
212 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 212 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
213 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 213 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
214 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 214 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
215 } | 215 } |
216 | 216 |
217 TEST_F(GLES2DecoderTest2, LineWidthValidArgs) { | 217 TEST_F(GLES2DecoderTest2, LineWidthValidArgs) { |
218 EXPECT_CALL(*gl_, LineWidth(0.5f)); | 218 EXPECT_CALL(*gl_, LineWidth(0.5f)); |
219 SpecializedSetup<LineWidth, 0>(true); | 219 SpecializedSetup<cmds::LineWidth, 0>(true); |
220 LineWidth cmd; | 220 cmds::LineWidth cmd; |
221 cmd.Init(0.5f); | 221 cmd.Init(0.5f); |
222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
223 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 223 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
224 } | 224 } |
225 | 225 |
226 TEST_F(GLES2DecoderTest2, LineWidthInvalidValue0_0) { | 226 TEST_F(GLES2DecoderTest2, LineWidthInvalidValue0_0) { |
227 SpecializedSetup<LineWidth, 0>(false); | 227 SpecializedSetup<cmds::LineWidth, 0>(false); |
228 LineWidth cmd; | 228 cmds::LineWidth cmd; |
229 cmd.Init(0.0f); | 229 cmd.Init(0.0f); |
230 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 230 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
231 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 231 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
232 } | 232 } |
233 | 233 |
234 TEST_F(GLES2DecoderTest2, LinkProgramValidArgs) { | 234 TEST_F(GLES2DecoderTest2, LinkProgramValidArgs) { |
235 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); | 235 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); |
236 SpecializedSetup<LinkProgram, 0>(true); | 236 SpecializedSetup<cmds::LinkProgram, 0>(true); |
237 LinkProgram cmd; | 237 cmds::LinkProgram cmd; |
238 cmd.Init(client_program_id_); | 238 cmd.Init(client_program_id_); |
239 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 239 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
240 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 240 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
241 } | 241 } |
242 // TODO(gman): PixelStorei | 242 // TODO(gman): PixelStorei |
243 | 243 |
244 | 244 |
245 TEST_F(GLES2DecoderTest2, PolygonOffsetValidArgs) { | 245 TEST_F(GLES2DecoderTest2, PolygonOffsetValidArgs) { |
246 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); | 246 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); |
247 SpecializedSetup<PolygonOffset, 0>(true); | 247 SpecializedSetup<cmds::PolygonOffset, 0>(true); |
248 PolygonOffset cmd; | 248 cmds::PolygonOffset cmd; |
249 cmd.Init(1, 2); | 249 cmd.Init(1, 2); |
250 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 250 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
251 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 251 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
252 } | 252 } |
253 // TODO(gman): ReadPixels | 253 // TODO(gman): ReadPixels |
254 | 254 |
255 // TODO(gman): ReleaseShaderCompiler | 255 // TODO(gman): ReleaseShaderCompiler |
256 | 256 |
257 TEST_F(GLES2DecoderTest2, RenderbufferStorageValidArgs) { | 257 TEST_F(GLES2DecoderTest2, RenderbufferStorageValidArgs) { |
258 SpecializedSetup<RenderbufferStorage, 0>(true); | 258 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); |
259 RenderbufferStorage cmd; | 259 cmds::RenderbufferStorage cmd; |
260 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); | 260 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); |
261 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 261 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
262 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 262 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
263 } | 263 } |
264 | 264 |
265 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs0_0) { | 265 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs0_0) { |
266 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 266 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
267 SpecializedSetup<RenderbufferStorage, 0>(false); | 267 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
268 RenderbufferStorage cmd; | 268 cmds::RenderbufferStorage cmd; |
269 cmd.Init(GL_FRAMEBUFFER, GL_RGBA4, 3, 4); | 269 cmd.Init(GL_FRAMEBUFFER, GL_RGBA4, 3, 4); |
270 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 270 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
271 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 271 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
272 } | 272 } |
273 | 273 |
274 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs2_0) { | 274 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs2_0) { |
275 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 275 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
276 SpecializedSetup<RenderbufferStorage, 0>(false); | 276 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
277 RenderbufferStorage cmd; | 277 cmds::RenderbufferStorage cmd; |
278 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, -1, 4); | 278 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, -1, 4); |
279 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 279 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
280 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 280 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
281 } | 281 } |
282 | 282 |
283 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs3_0) { | 283 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs3_0) { |
284 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 284 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
285 SpecializedSetup<RenderbufferStorage, 0>(false); | 285 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
286 RenderbufferStorage cmd; | 286 cmds::RenderbufferStorage cmd; |
287 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, -1); | 287 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, -1); |
288 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 288 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
289 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 289 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
290 } | 290 } |
291 | 291 |
292 TEST_F(GLES2DecoderTest2, SampleCoverageValidArgs) { | 292 TEST_F(GLES2DecoderTest2, SampleCoverageValidArgs) { |
293 EXPECT_CALL(*gl_, SampleCoverage(1, true)); | 293 EXPECT_CALL(*gl_, SampleCoverage(1, true)); |
294 SpecializedSetup<SampleCoverage, 0>(true); | 294 SpecializedSetup<cmds::SampleCoverage, 0>(true); |
295 SampleCoverage cmd; | 295 cmds::SampleCoverage cmd; |
296 cmd.Init(1, true); | 296 cmd.Init(1, true); |
297 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 297 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
298 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 298 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
299 } | 299 } |
300 | 300 |
301 TEST_F(GLES2DecoderTest2, ScissorValidArgs) { | 301 TEST_F(GLES2DecoderTest2, ScissorValidArgs) { |
302 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); | 302 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); |
303 SpecializedSetup<Scissor, 0>(true); | 303 SpecializedSetup<cmds::Scissor, 0>(true); |
304 Scissor cmd; | 304 cmds::Scissor cmd; |
305 cmd.Init(1, 2, 3, 4); | 305 cmd.Init(1, 2, 3, 4); |
306 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 306 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
307 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 307 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
308 } | 308 } |
309 | 309 |
310 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs2_0) { | 310 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs2_0) { |
311 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); | 311 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); |
312 SpecializedSetup<Scissor, 0>(false); | 312 SpecializedSetup<cmds::Scissor, 0>(false); |
313 Scissor cmd; | 313 cmds::Scissor cmd; |
314 cmd.Init(1, 2, -1, 4); | 314 cmd.Init(1, 2, -1, 4); |
315 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 315 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
316 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 316 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
317 } | 317 } |
318 | 318 |
319 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs3_0) { | 319 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs3_0) { |
320 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); | 320 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); |
321 SpecializedSetup<Scissor, 0>(false); | 321 SpecializedSetup<cmds::Scissor, 0>(false); |
322 Scissor cmd; | 322 cmds::Scissor cmd; |
323 cmd.Init(1, 2, 3, -1); | 323 cmd.Init(1, 2, 3, -1); |
324 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 324 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
325 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 325 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
326 } | 326 } |
327 // TODO(gman): ShaderBinary | 327 // TODO(gman): ShaderBinary |
328 | 328 |
329 // TODO(gman): ShaderSource | 329 // TODO(gman): ShaderSource |
330 | 330 |
331 // TODO(gman): ShaderSourceImmediate | 331 // TODO(gman): ShaderSourceImmediate |
332 | 332 |
333 // TODO(gman): ShaderSourceBucket | 333 // TODO(gman): ShaderSourceBucket |
334 | 334 |
335 TEST_F(GLES2DecoderTest2, StencilFuncValidArgs) { | 335 TEST_F(GLES2DecoderTest2, StencilFuncValidArgs) { |
336 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); | 336 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); |
337 SpecializedSetup<StencilFunc, 0>(true); | 337 SpecializedSetup<cmds::StencilFunc, 0>(true); |
338 StencilFunc cmd; | 338 cmds::StencilFunc cmd; |
339 cmd.Init(GL_NEVER, 2, 3); | 339 cmd.Init(GL_NEVER, 2, 3); |
340 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 340 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
341 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 341 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
342 } | 342 } |
343 | 343 |
344 TEST_F(GLES2DecoderTest2, StencilFuncSeparateValidArgs) { | 344 TEST_F(GLES2DecoderTest2, StencilFuncSeparateValidArgs) { |
345 EXPECT_CALL(*gl_, StencilFuncSeparate(GL_FRONT, GL_NEVER, 3, 4)); | 345 EXPECT_CALL(*gl_, StencilFuncSeparate(GL_FRONT, GL_NEVER, 3, 4)); |
346 SpecializedSetup<StencilFuncSeparate, 0>(true); | 346 SpecializedSetup<cmds::StencilFuncSeparate, 0>(true); |
347 StencilFuncSeparate cmd; | 347 cmds::StencilFuncSeparate cmd; |
348 cmd.Init(GL_FRONT, GL_NEVER, 3, 4); | 348 cmd.Init(GL_FRONT, GL_NEVER, 3, 4); |
349 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 349 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
350 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 350 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
351 } | 351 } |
352 | 352 |
353 TEST_F(GLES2DecoderTest2, StencilMaskValidArgs) { | 353 TEST_F(GLES2DecoderTest2, StencilMaskValidArgs) { |
354 SpecializedSetup<StencilMask, 0>(true); | 354 SpecializedSetup<cmds::StencilMask, 0>(true); |
355 StencilMask cmd; | 355 cmds::StencilMask cmd; |
356 cmd.Init(1); | 356 cmd.Init(1); |
357 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 357 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
358 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 358 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
359 } | 359 } |
360 | 360 |
361 TEST_F(GLES2DecoderTest2, StencilMaskSeparateValidArgs) { | 361 TEST_F(GLES2DecoderTest2, StencilMaskSeparateValidArgs) { |
362 SpecializedSetup<StencilMaskSeparate, 0>(true); | 362 SpecializedSetup<cmds::StencilMaskSeparate, 0>(true); |
363 StencilMaskSeparate cmd; | 363 cmds::StencilMaskSeparate cmd; |
364 cmd.Init(GL_FRONT, 2); | 364 cmd.Init(GL_FRONT, 2); |
365 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 365 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
366 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 366 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
367 } | 367 } |
368 | 368 |
369 TEST_F(GLES2DecoderTest2, StencilOpValidArgs) { | 369 TEST_F(GLES2DecoderTest2, StencilOpValidArgs) { |
370 EXPECT_CALL(*gl_, StencilOp(GL_KEEP, GL_INCR, GL_KEEP)); | 370 EXPECT_CALL(*gl_, StencilOp(GL_KEEP, GL_INCR, GL_KEEP)); |
371 SpecializedSetup<StencilOp, 0>(true); | 371 SpecializedSetup<cmds::StencilOp, 0>(true); |
372 StencilOp cmd; | 372 cmds::StencilOp cmd; |
373 cmd.Init(GL_KEEP, GL_INCR, GL_KEEP); | 373 cmd.Init(GL_KEEP, GL_INCR, GL_KEEP); |
374 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 374 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
375 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 375 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
376 } | 376 } |
377 | 377 |
378 TEST_F(GLES2DecoderTest2, StencilOpSeparateValidArgs) { | 378 TEST_F(GLES2DecoderTest2, StencilOpSeparateValidArgs) { |
379 EXPECT_CALL(*gl_, StencilOpSeparate(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP)); | 379 EXPECT_CALL(*gl_, StencilOpSeparate(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP)); |
380 SpecializedSetup<StencilOpSeparate, 0>(true); | 380 SpecializedSetup<cmds::StencilOpSeparate, 0>(true); |
381 StencilOpSeparate cmd; | 381 cmds::StencilOpSeparate cmd; |
382 cmd.Init(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP); | 382 cmd.Init(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP); |
383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 383 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
384 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 384 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
385 } | 385 } |
386 // TODO(gman): TexImage2D | 386 // TODO(gman): TexImage2D |
387 | 387 |
388 // TODO(gman): TexImage2DImmediate | 388 // TODO(gman): TexImage2DImmediate |
389 | 389 |
390 | 390 |
391 TEST_F(GLES2DecoderTest2, TexParameterfValidArgs) { | 391 TEST_F(GLES2DecoderTest2, TexParameterfValidArgs) { |
392 EXPECT_CALL( | 392 EXPECT_CALL( |
393 *gl_, TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); | 393 *gl_, TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
394 SpecializedSetup<TexParameterf, 0>(true); | 394 SpecializedSetup<cmds::TexParameterf, 0>(true); |
395 TexParameterf cmd; | 395 cmds::TexParameterf cmd; |
396 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 396 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
397 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 397 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
398 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 398 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
399 } | 399 } |
400 | 400 |
401 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_0) { | 401 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_0) { |
402 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 402 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
403 SpecializedSetup<TexParameterf, 0>(false); | 403 SpecializedSetup<cmds::TexParameterf, 0>(false); |
404 TexParameterf cmd; | 404 cmds::TexParameterf cmd; |
405 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 405 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
406 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 406 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
407 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 407 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
408 } | 408 } |
409 | 409 |
410 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_1) { | 410 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_1) { |
411 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 411 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
412 SpecializedSetup<TexParameterf, 0>(false); | 412 SpecializedSetup<cmds::TexParameterf, 0>(false); |
413 TexParameterf cmd; | 413 cmds::TexParameterf cmd; |
414 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 414 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
415 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 415 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
416 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 416 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
417 } | 417 } |
418 | 418 |
419 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { | 419 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { |
420 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 420 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
421 SpecializedSetup<TexParameterf, 0>(false); | 421 SpecializedSetup<cmds::TexParameterf, 0>(false); |
422 TexParameterf cmd; | 422 cmds::TexParameterf cmd; |
423 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 423 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
424 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 424 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
425 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 425 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
426 } | 426 } |
427 | 427 |
428 TEST_F(GLES2DecoderTest2, TexParameterfvValidArgs) { | 428 TEST_F(GLES2DecoderTest2, TexParameterfvValidArgs) { |
429 EXPECT_CALL( | 429 EXPECT_CALL( |
430 *gl_, TexParameterfv( | 430 *gl_, TexParameterfv( |
431 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, | 431 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, |
432 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 432 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
433 SpecializedSetup<TexParameterfv, 0>(true); | 433 SpecializedSetup<cmds::TexParameterfv, 0>(true); |
434 TexParameterfv cmd; | 434 cmds::TexParameterfv cmd; |
435 cmd.Init( | 435 cmd.Init( |
436 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 436 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
437 shared_memory_offset_); | 437 shared_memory_offset_); |
438 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 438 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
440 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 440 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
441 } | 441 } |
442 | 442 |
443 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { | 443 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { |
444 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 444 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
445 SpecializedSetup<TexParameterfv, 0>(false); | 445 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
446 TexParameterfv cmd; | 446 cmds::TexParameterfv cmd; |
447 cmd.Init( | 447 cmd.Init( |
448 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 448 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
449 shared_memory_offset_); | 449 shared_memory_offset_); |
450 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 450 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
451 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 451 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
452 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 452 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
453 } | 453 } |
454 | 454 |
455 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { | 455 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { |
456 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 456 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
457 SpecializedSetup<TexParameterfv, 0>(false); | 457 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
458 TexParameterfv cmd; | 458 cmds::TexParameterfv cmd; |
459 cmd.Init( | 459 cmd.Init( |
460 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 460 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
461 shared_memory_offset_); | 461 shared_memory_offset_); |
462 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 462 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
463 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 463 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
464 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 464 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
465 } | 465 } |
466 | 466 |
467 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { | 467 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { |
468 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 468 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
469 SpecializedSetup<TexParameterfv, 0>(false); | 469 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
470 TexParameterfv cmd; | 470 cmds::TexParameterfv cmd; |
471 cmd.Init( | 471 cmd.Init( |
472 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, | 472 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, |
473 shared_memory_offset_); | 473 shared_memory_offset_); |
474 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 474 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
475 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 475 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
476 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 476 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
477 } | 477 } |
478 | 478 |
479 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { | 479 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { |
480 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 480 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
481 SpecializedSetup<TexParameterfv, 0>(false); | 481 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
482 TexParameterfv cmd; | 482 cmds::TexParameterfv cmd; |
483 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | 483 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); |
484 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 484 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
485 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 485 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
486 } | 486 } |
487 | 487 |
488 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { | 488 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { |
489 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 489 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
490 SpecializedSetup<TexParameterfv, 0>(false); | 490 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
491 TexParameterfv cmd; | 491 cmds::TexParameterfv cmd; |
492 cmd.Init( | 492 cmd.Init( |
493 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 493 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
494 kInvalidSharedMemoryOffset); | 494 kInvalidSharedMemoryOffset); |
495 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 495 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
496 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 496 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
497 } | 497 } |
498 | 498 |
499 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { | 499 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { |
500 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 500 cmds::TexParameterfvImmediate& cmd = |
| 501 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
501 EXPECT_CALL( | 502 EXPECT_CALL( |
502 *gl_, | 503 *gl_, |
503 TexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, | 504 TexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, |
504 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 505 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
505 SpecializedSetup<TexParameterfvImmediate, 0>(true); | 506 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); |
506 GLfloat temp[1] = { GL_NEAREST, }; | 507 GLfloat temp[1] = { GL_NEAREST, }; |
507 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 508 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
508 EXPECT_EQ(error::kNoError, | 509 EXPECT_EQ(error::kNoError, |
509 ExecuteImmediateCmd(cmd, sizeof(temp))); | 510 ExecuteImmediateCmd(cmd, sizeof(temp))); |
510 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 511 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
511 } | 512 } |
512 | 513 |
513 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { | 514 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { |
514 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 515 cmds::TexParameterfvImmediate& cmd = |
| 516 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
515 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 517 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
516 SpecializedSetup<TexParameterfvImmediate, 0>(false); | 518 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
517 GLfloat temp[1] = { GL_NEAREST, }; | 519 GLfloat temp[1] = { GL_NEAREST, }; |
518 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 520 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
519 EXPECT_EQ(error::kNoError, | 521 EXPECT_EQ(error::kNoError, |
520 ExecuteImmediateCmd(cmd, sizeof(temp))); | 522 ExecuteImmediateCmd(cmd, sizeof(temp))); |
521 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 523 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
522 } | 524 } |
523 | 525 |
524 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_1) { | 526 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_1) { |
525 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 527 cmds::TexParameterfvImmediate& cmd = |
| 528 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
526 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 529 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
527 SpecializedSetup<TexParameterfvImmediate, 0>(false); | 530 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
528 GLfloat temp[1] = { GL_NEAREST, }; | 531 GLfloat temp[1] = { GL_NEAREST, }; |
529 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 532 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
530 EXPECT_EQ(error::kNoError, | 533 EXPECT_EQ(error::kNoError, |
531 ExecuteImmediateCmd(cmd, sizeof(temp))); | 534 ExecuteImmediateCmd(cmd, sizeof(temp))); |
532 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 535 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
533 } | 536 } |
534 | 537 |
535 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs1_0) { | 538 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs1_0) { |
536 TexParameterfvImmediate& cmd = *GetImmediateAs<TexParameterfvImmediate>(); | 539 cmds::TexParameterfvImmediate& cmd = |
| 540 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
537 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); | 541 EXPECT_CALL(*gl_, TexParameterfv(_, _, _)).Times(0); |
538 SpecializedSetup<TexParameterfvImmediate, 0>(false); | 542 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
539 GLfloat temp[1] = { GL_NEAREST, }; | 543 GLfloat temp[1] = { GL_NEAREST, }; |
540 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); | 544 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); |
541 EXPECT_EQ(error::kNoError, | 545 EXPECT_EQ(error::kNoError, |
542 ExecuteImmediateCmd(cmd, sizeof(temp))); | 546 ExecuteImmediateCmd(cmd, sizeof(temp))); |
543 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 547 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
544 } | 548 } |
545 | 549 |
546 TEST_F(GLES2DecoderTest2, TexParameteriValidArgs) { | 550 TEST_F(GLES2DecoderTest2, TexParameteriValidArgs) { |
547 EXPECT_CALL( | 551 EXPECT_CALL( |
548 *gl_, TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); | 552 *gl_, TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
549 SpecializedSetup<TexParameteri, 0>(true); | 553 SpecializedSetup<cmds::TexParameteri, 0>(true); |
550 TexParameteri cmd; | 554 cmds::TexParameteri cmd; |
551 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 555 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
552 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 556 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
553 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 557 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
554 } | 558 } |
555 | 559 |
556 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_0) { | 560 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_0) { |
557 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 561 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
558 SpecializedSetup<TexParameteri, 0>(false); | 562 SpecializedSetup<cmds::TexParameteri, 0>(false); |
559 TexParameteri cmd; | 563 cmds::TexParameteri cmd; |
560 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 564 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
561 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 565 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
562 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 566 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
563 } | 567 } |
564 | 568 |
565 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_1) { | 569 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_1) { |
566 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 570 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
567 SpecializedSetup<TexParameteri, 0>(false); | 571 SpecializedSetup<cmds::TexParameteri, 0>(false); |
568 TexParameteri cmd; | 572 cmds::TexParameteri cmd; |
569 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 573 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
570 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 574 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
571 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 575 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
572 } | 576 } |
573 | 577 |
574 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { | 578 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { |
575 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 579 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
576 SpecializedSetup<TexParameteri, 0>(false); | 580 SpecializedSetup<cmds::TexParameteri, 0>(false); |
577 TexParameteri cmd; | 581 cmds::TexParameteri cmd; |
578 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 582 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
579 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 583 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
580 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 584 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
581 } | 585 } |
582 | 586 |
583 TEST_F(GLES2DecoderTest2, TexParameterivValidArgs) { | 587 TEST_F(GLES2DecoderTest2, TexParameterivValidArgs) { |
584 EXPECT_CALL( | 588 EXPECT_CALL( |
585 *gl_, TexParameteriv( | 589 *gl_, TexParameteriv( |
586 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, reinterpret_cast<const GLint*>( | 590 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, reinterpret_cast<const GLint*>( |
587 shared_memory_address_))); | 591 shared_memory_address_))); |
588 SpecializedSetup<TexParameteriv, 0>(true); | 592 SpecializedSetup<cmds::TexParameteriv, 0>(true); |
589 TexParameteriv cmd; | 593 cmds::TexParameteriv cmd; |
590 cmd.Init( | 594 cmd.Init( |
591 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 595 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
592 shared_memory_offset_); | 596 shared_memory_offset_); |
593 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 597 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 598 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 599 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
596 } | 600 } |
597 | 601 |
598 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { | 602 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { |
599 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 603 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
600 SpecializedSetup<TexParameteriv, 0>(false); | 604 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
601 TexParameteriv cmd; | 605 cmds::TexParameteriv cmd; |
602 cmd.Init( | 606 cmd.Init( |
603 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 607 GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
604 shared_memory_offset_); | 608 shared_memory_offset_); |
605 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 609 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
606 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 610 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
607 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 611 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
608 } | 612 } |
609 | 613 |
610 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { | 614 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { |
611 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 615 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
612 SpecializedSetup<TexParameteriv, 0>(false); | 616 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
613 TexParameteriv cmd; | 617 cmds::TexParameteriv cmd; |
614 cmd.Init( | 618 cmd.Init( |
615 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 619 GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
616 shared_memory_offset_); | 620 shared_memory_offset_); |
617 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 621 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
618 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 622 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
619 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 623 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
620 } | 624 } |
621 | 625 |
622 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { | 626 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { |
623 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 627 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
624 SpecializedSetup<TexParameteriv, 0>(false); | 628 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
625 TexParameteriv cmd; | 629 cmds::TexParameteriv cmd; |
626 cmd.Init( | 630 cmd.Init( |
627 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, | 631 GL_TEXTURE_2D, GL_GENERATE_MIPMAP, shared_memory_id_, |
628 shared_memory_offset_); | 632 shared_memory_offset_); |
629 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 633 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
630 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 634 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
631 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 635 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
632 } | 636 } |
633 | 637 |
634 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { | 638 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { |
635 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 639 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
636 SpecializedSetup<TexParameteriv, 0>(false); | 640 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
637 TexParameteriv cmd; | 641 cmds::TexParameteriv cmd; |
638 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | 642 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); |
639 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 643 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
640 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 644 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
641 } | 645 } |
642 | 646 |
643 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { | 647 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { |
644 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 648 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
645 SpecializedSetup<TexParameteriv, 0>(false); | 649 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
646 TexParameteriv cmd; | 650 cmds::TexParameteriv cmd; |
647 cmd.Init( | 651 cmd.Init( |
648 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, | 652 GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, shared_memory_id_, |
649 kInvalidSharedMemoryOffset); | 653 kInvalidSharedMemoryOffset); |
650 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 654 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
651 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 655 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
652 } | 656 } |
653 | 657 |
654 TEST_F(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { | 658 TEST_F(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { |
655 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 659 cmds::TexParameterivImmediate& cmd = |
| 660 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
656 EXPECT_CALL( | 661 EXPECT_CALL( |
657 *gl_, | 662 *gl_, |
658 TexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, | 663 TexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, |
659 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 664 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
660 SpecializedSetup<TexParameterivImmediate, 0>(true); | 665 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); |
661 GLint temp[1] = { GL_NEAREST, }; | 666 GLint temp[1] = { GL_NEAREST, }; |
662 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 667 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
663 EXPECT_EQ(error::kNoError, | 668 EXPECT_EQ(error::kNoError, |
664 ExecuteImmediateCmd(cmd, sizeof(temp))); | 669 ExecuteImmediateCmd(cmd, sizeof(temp))); |
665 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 670 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
666 } | 671 } |
667 | 672 |
668 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { | 673 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { |
669 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 674 cmds::TexParameterivImmediate& cmd = |
| 675 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
670 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 676 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
671 SpecializedSetup<TexParameterivImmediate, 0>(false); | 677 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
672 GLint temp[1] = { GL_NEAREST, }; | 678 GLint temp[1] = { GL_NEAREST, }; |
673 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 679 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
674 EXPECT_EQ(error::kNoError, | 680 EXPECT_EQ(error::kNoError, |
675 ExecuteImmediateCmd(cmd, sizeof(temp))); | 681 ExecuteImmediateCmd(cmd, sizeof(temp))); |
676 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 682 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
677 } | 683 } |
678 | 684 |
679 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_1) { | 685 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_1) { |
680 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 686 cmds::TexParameterivImmediate& cmd = |
| 687 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
681 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 688 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
682 SpecializedSetup<TexParameterivImmediate, 0>(false); | 689 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
683 GLint temp[1] = { GL_NEAREST, }; | 690 GLint temp[1] = { GL_NEAREST, }; |
684 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 691 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
685 EXPECT_EQ(error::kNoError, | 692 EXPECT_EQ(error::kNoError, |
686 ExecuteImmediateCmd(cmd, sizeof(temp))); | 693 ExecuteImmediateCmd(cmd, sizeof(temp))); |
687 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 694 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
688 } | 695 } |
689 | 696 |
690 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs1_0) { | 697 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs1_0) { |
691 TexParameterivImmediate& cmd = *GetImmediateAs<TexParameterivImmediate>(); | 698 cmds::TexParameterivImmediate& cmd = |
| 699 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
692 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); | 700 EXPECT_CALL(*gl_, TexParameteriv(_, _, _)).Times(0); |
693 SpecializedSetup<TexParameterivImmediate, 0>(false); | 701 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
694 GLint temp[1] = { GL_NEAREST, }; | 702 GLint temp[1] = { GL_NEAREST, }; |
695 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); | 703 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); |
696 EXPECT_EQ(error::kNoError, | 704 EXPECT_EQ(error::kNoError, |
697 ExecuteImmediateCmd(cmd, sizeof(temp))); | 705 ExecuteImmediateCmd(cmd, sizeof(temp))); |
698 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 706 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
699 } | 707 } |
700 // TODO(gman): TexSubImage2D | 708 // TODO(gman): TexSubImage2D |
701 | 709 |
702 // TODO(gman): TexSubImage2DImmediate | 710 // TODO(gman): TexSubImage2DImmediate |
703 | 711 |
704 | 712 |
705 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) { | 713 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) { |
706 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); | 714 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); |
707 SpecializedSetup<Uniform1f, 0>(true); | 715 SpecializedSetup<cmds::Uniform1f, 0>(true); |
708 Uniform1f cmd; | 716 cmds::Uniform1f cmd; |
709 cmd.Init(1, 2); | 717 cmd.Init(1, 2); |
710 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 718 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
711 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 719 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
712 } | 720 } |
713 | 721 |
714 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) { | 722 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) { |
715 EXPECT_CALL( | 723 EXPECT_CALL( |
716 *gl_, Uniform1fv( | 724 *gl_, Uniform1fv( |
717 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 725 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
718 SpecializedSetup<Uniform1fv, 0>(true); | 726 SpecializedSetup<cmds::Uniform1fv, 0>(true); |
719 Uniform1fv cmd; | 727 cmds::Uniform1fv cmd; |
720 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 728 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
721 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 729 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
722 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 730 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
723 } | 731 } |
724 | 732 |
725 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { | 733 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { |
726 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 734 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
727 SpecializedSetup<Uniform1fv, 0>(false); | 735 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
728 Uniform1fv cmd; | 736 cmds::Uniform1fv cmd; |
729 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 737 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
730 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 738 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
731 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 739 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
732 } | 740 } |
733 | 741 |
734 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { | 742 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { |
735 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 743 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
736 SpecializedSetup<Uniform1fv, 0>(false); | 744 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
737 Uniform1fv cmd; | 745 cmds::Uniform1fv cmd; |
738 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 746 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
739 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 747 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
740 } | 748 } |
741 | 749 |
742 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { | 750 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { |
743 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 751 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
744 SpecializedSetup<Uniform1fv, 0>(false); | 752 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
745 Uniform1fv cmd; | 753 cmds::Uniform1fv cmd; |
746 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 754 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
747 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 755 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
748 } | 756 } |
749 | 757 |
750 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { | 758 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { |
751 EXPECT_CALL( | 759 EXPECT_CALL( |
752 *gl_, Uniform1fv( | 760 *gl_, Uniform1fv( |
753 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 761 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
754 SpecializedSetup<Uniform1fv, 0>(true); | 762 SpecializedSetup<cmds::Uniform1fv, 0>(true); |
755 Uniform1fv cmd; | 763 cmds::Uniform1fv cmd; |
756 cmd.Init( | 764 cmd.Init( |
757 ProgramManager::MakeFakeLocation( | 765 ProgramManager::MakeFakeLocation( |
758 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 766 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
759 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 767 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
760 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 768 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
761 } | 769 } |
762 | 770 |
763 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { | 771 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { |
764 Uniform1fvImmediate& cmd = *GetImmediateAs<Uniform1fvImmediate>(); | 772 cmds::Uniform1fvImmediate& cmd = |
| 773 *GetImmediateAs<cmds::Uniform1fvImmediate>(); |
765 EXPECT_CALL( | 774 EXPECT_CALL( |
766 *gl_, | 775 *gl_, |
767 Uniform1fv(1, 2, | 776 Uniform1fv(1, 2, |
768 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 777 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
769 SpecializedSetup<Uniform1fvImmediate, 0>(true); | 778 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); |
770 GLfloat temp[1 * 2] = { 0, }; | 779 GLfloat temp[1 * 2] = { 0, }; |
771 cmd.Init(1, 2, &temp[0]); | 780 cmd.Init(1, 2, &temp[0]); |
772 EXPECT_EQ(error::kNoError, | 781 EXPECT_EQ(error::kNoError, |
773 ExecuteImmediateCmd(cmd, sizeof(temp))); | 782 ExecuteImmediateCmd(cmd, sizeof(temp))); |
774 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 783 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
775 } | 784 } |
776 // TODO(gman): Uniform1i | 785 // TODO(gman): Uniform1i |
777 // TODO(gman): Uniform1iv | 786 // TODO(gman): Uniform1iv |
778 // TODO(gman): Uniform1ivImmediate | 787 // TODO(gman): Uniform1ivImmediate |
779 | 788 |
780 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) { | 789 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) { |
781 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); | 790 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); |
782 SpecializedSetup<Uniform2f, 0>(true); | 791 SpecializedSetup<cmds::Uniform2f, 0>(true); |
783 Uniform2f cmd; | 792 cmds::Uniform2f cmd; |
784 cmd.Init(1, 2, 3); | 793 cmd.Init(1, 2, 3); |
785 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 794 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
786 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 795 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
787 } | 796 } |
788 | 797 |
789 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) { | 798 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) { |
790 EXPECT_CALL( | 799 EXPECT_CALL( |
791 *gl_, Uniform2fv( | 800 *gl_, Uniform2fv( |
792 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 801 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
793 SpecializedSetup<Uniform2fv, 0>(true); | 802 SpecializedSetup<cmds::Uniform2fv, 0>(true); |
794 Uniform2fv cmd; | 803 cmds::Uniform2fv cmd; |
795 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 804 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
796 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 805 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
797 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 806 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
798 } | 807 } |
799 | 808 |
800 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { | 809 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { |
801 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 810 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
802 SpecializedSetup<Uniform2fv, 0>(false); | 811 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
803 Uniform2fv cmd; | 812 cmds::Uniform2fv cmd; |
804 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 813 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
805 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 814 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
806 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 815 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
807 } | 816 } |
808 | 817 |
809 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { | 818 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { |
810 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 819 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
811 SpecializedSetup<Uniform2fv, 0>(false); | 820 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
812 Uniform2fv cmd; | 821 cmds::Uniform2fv cmd; |
813 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 822 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
814 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 823 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
815 } | 824 } |
816 | 825 |
817 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { | 826 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { |
818 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 827 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
819 SpecializedSetup<Uniform2fv, 0>(false); | 828 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
820 Uniform2fv cmd; | 829 cmds::Uniform2fv cmd; |
821 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 830 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
822 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 831 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
823 } | 832 } |
824 | 833 |
825 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { | 834 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { |
826 EXPECT_CALL( | 835 EXPECT_CALL( |
827 *gl_, Uniform2fv( | 836 *gl_, Uniform2fv( |
828 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 837 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
829 SpecializedSetup<Uniform2fv, 0>(true); | 838 SpecializedSetup<cmds::Uniform2fv, 0>(true); |
830 Uniform2fv cmd; | 839 cmds::Uniform2fv cmd; |
831 cmd.Init( | 840 cmd.Init( |
832 ProgramManager::MakeFakeLocation( | 841 ProgramManager::MakeFakeLocation( |
833 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 842 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
834 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 843 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
835 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 844 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
836 } | 845 } |
837 | 846 |
838 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { | 847 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { |
839 Uniform2fvImmediate& cmd = *GetImmediateAs<Uniform2fvImmediate>(); | 848 cmds::Uniform2fvImmediate& cmd = |
| 849 *GetImmediateAs<cmds::Uniform2fvImmediate>(); |
840 EXPECT_CALL( | 850 EXPECT_CALL( |
841 *gl_, | 851 *gl_, |
842 Uniform2fv(1, 2, | 852 Uniform2fv(1, 2, |
843 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 853 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
844 SpecializedSetup<Uniform2fvImmediate, 0>(true); | 854 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); |
845 GLfloat temp[2 * 2] = { 0, }; | 855 GLfloat temp[2 * 2] = { 0, }; |
846 cmd.Init(1, 2, &temp[0]); | 856 cmd.Init(1, 2, &temp[0]); |
847 EXPECT_EQ(error::kNoError, | 857 EXPECT_EQ(error::kNoError, |
848 ExecuteImmediateCmd(cmd, sizeof(temp))); | 858 ExecuteImmediateCmd(cmd, sizeof(temp))); |
849 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 859 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
850 } | 860 } |
851 | 861 |
852 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) { | 862 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) { |
853 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); | 863 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); |
854 SpecializedSetup<Uniform2i, 0>(true); | 864 SpecializedSetup<cmds::Uniform2i, 0>(true); |
855 Uniform2i cmd; | 865 cmds::Uniform2i cmd; |
856 cmd.Init(1, 2, 3); | 866 cmd.Init(1, 2, 3); |
857 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 867 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
858 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 868 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
859 } | 869 } |
860 | 870 |
861 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) { | 871 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) { |
862 EXPECT_CALL( | 872 EXPECT_CALL( |
863 *gl_, Uniform2iv( | 873 *gl_, Uniform2iv( |
864 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 874 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
865 SpecializedSetup<Uniform2iv, 0>(true); | 875 SpecializedSetup<cmds::Uniform2iv, 0>(true); |
866 Uniform2iv cmd; | 876 cmds::Uniform2iv cmd; |
867 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 877 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
868 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 878 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
869 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 879 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
870 } | 880 } |
871 | 881 |
872 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { | 882 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { |
873 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 883 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
874 SpecializedSetup<Uniform2iv, 0>(false); | 884 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
875 Uniform2iv cmd; | 885 cmds::Uniform2iv cmd; |
876 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 886 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
877 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 887 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
878 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 888 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
879 } | 889 } |
880 | 890 |
881 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { | 891 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { |
882 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 892 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
883 SpecializedSetup<Uniform2iv, 0>(false); | 893 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
884 Uniform2iv cmd; | 894 cmds::Uniform2iv cmd; |
885 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 895 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
886 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 896 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
887 } | 897 } |
888 | 898 |
889 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { | 899 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { |
890 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 900 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
891 SpecializedSetup<Uniform2iv, 0>(false); | 901 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
892 Uniform2iv cmd; | 902 cmds::Uniform2iv cmd; |
893 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 903 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
894 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 904 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
895 } | 905 } |
896 | 906 |
897 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { | 907 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { |
898 EXPECT_CALL( | 908 EXPECT_CALL( |
899 *gl_, Uniform2iv( | 909 *gl_, Uniform2iv( |
900 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 910 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
901 SpecializedSetup<Uniform2iv, 0>(true); | 911 SpecializedSetup<cmds::Uniform2iv, 0>(true); |
902 Uniform2iv cmd; | 912 cmds::Uniform2iv cmd; |
903 cmd.Init( | 913 cmd.Init( |
904 ProgramManager::MakeFakeLocation( | 914 ProgramManager::MakeFakeLocation( |
905 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 915 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
906 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 916 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
907 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 917 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
908 } | 918 } |
909 | 919 |
910 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { | 920 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { |
911 Uniform2ivImmediate& cmd = *GetImmediateAs<Uniform2ivImmediate>(); | 921 cmds::Uniform2ivImmediate& cmd = |
| 922 *GetImmediateAs<cmds::Uniform2ivImmediate>(); |
912 EXPECT_CALL( | 923 EXPECT_CALL( |
913 *gl_, | 924 *gl_, |
914 Uniform2iv(1, 2, | 925 Uniform2iv(1, 2, |
915 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 926 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
916 SpecializedSetup<Uniform2ivImmediate, 0>(true); | 927 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); |
917 GLint temp[2 * 2] = { 0, }; | 928 GLint temp[2 * 2] = { 0, }; |
918 cmd.Init(1, 2, &temp[0]); | 929 cmd.Init(1, 2, &temp[0]); |
919 EXPECT_EQ(error::kNoError, | 930 EXPECT_EQ(error::kNoError, |
920 ExecuteImmediateCmd(cmd, sizeof(temp))); | 931 ExecuteImmediateCmd(cmd, sizeof(temp))); |
921 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 932 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
922 } | 933 } |
923 | 934 |
924 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) { | 935 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) { |
925 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); | 936 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); |
926 SpecializedSetup<Uniform3f, 0>(true); | 937 SpecializedSetup<cmds::Uniform3f, 0>(true); |
927 Uniform3f cmd; | 938 cmds::Uniform3f cmd; |
928 cmd.Init(1, 2, 3, 4); | 939 cmd.Init(1, 2, 3, 4); |
929 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 940 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
930 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 941 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
931 } | 942 } |
932 | 943 |
933 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) { | 944 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) { |
934 EXPECT_CALL( | 945 EXPECT_CALL( |
935 *gl_, Uniform3fv( | 946 *gl_, Uniform3fv( |
936 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 947 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
937 SpecializedSetup<Uniform3fv, 0>(true); | 948 SpecializedSetup<cmds::Uniform3fv, 0>(true); |
938 Uniform3fv cmd; | 949 cmds::Uniform3fv cmd; |
939 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 950 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
940 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 951 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
941 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 952 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
942 } | 953 } |
943 | 954 |
944 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { | 955 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { |
945 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 956 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
946 SpecializedSetup<Uniform3fv, 0>(false); | 957 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
947 Uniform3fv cmd; | 958 cmds::Uniform3fv cmd; |
948 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 959 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
949 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 960 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
950 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 961 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
951 } | 962 } |
952 | 963 |
953 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { | 964 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { |
954 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 965 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
955 SpecializedSetup<Uniform3fv, 0>(false); | 966 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
956 Uniform3fv cmd; | 967 cmds::Uniform3fv cmd; |
957 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 968 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
958 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 969 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
959 } | 970 } |
960 | 971 |
961 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { | 972 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { |
962 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 973 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
963 SpecializedSetup<Uniform3fv, 0>(false); | 974 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
964 Uniform3fv cmd; | 975 cmds::Uniform3fv cmd; |
965 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 976 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
966 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 977 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
967 } | 978 } |
968 | 979 |
969 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { | 980 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { |
970 EXPECT_CALL( | 981 EXPECT_CALL( |
971 *gl_, Uniform3fv( | 982 *gl_, Uniform3fv( |
972 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 983 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
973 SpecializedSetup<Uniform3fv, 0>(true); | 984 SpecializedSetup<cmds::Uniform3fv, 0>(true); |
974 Uniform3fv cmd; | 985 cmds::Uniform3fv cmd; |
975 cmd.Init( | 986 cmd.Init( |
976 ProgramManager::MakeFakeLocation( | 987 ProgramManager::MakeFakeLocation( |
977 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 988 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
978 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 989 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
979 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 990 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
980 } | 991 } |
981 | 992 |
982 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { | 993 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { |
983 Uniform3fvImmediate& cmd = *GetImmediateAs<Uniform3fvImmediate>(); | 994 cmds::Uniform3fvImmediate& cmd = |
| 995 *GetImmediateAs<cmds::Uniform3fvImmediate>(); |
984 EXPECT_CALL( | 996 EXPECT_CALL( |
985 *gl_, | 997 *gl_, |
986 Uniform3fv(1, 2, | 998 Uniform3fv(1, 2, |
987 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 999 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
988 SpecializedSetup<Uniform3fvImmediate, 0>(true); | 1000 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); |
989 GLfloat temp[3 * 2] = { 0, }; | 1001 GLfloat temp[3 * 2] = { 0, }; |
990 cmd.Init(1, 2, &temp[0]); | 1002 cmd.Init(1, 2, &temp[0]); |
991 EXPECT_EQ(error::kNoError, | 1003 EXPECT_EQ(error::kNoError, |
992 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1004 ExecuteImmediateCmd(cmd, sizeof(temp))); |
993 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1005 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
994 } | 1006 } |
995 | 1007 |
996 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) { | 1008 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) { |
997 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); | 1009 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); |
998 SpecializedSetup<Uniform3i, 0>(true); | 1010 SpecializedSetup<cmds::Uniform3i, 0>(true); |
999 Uniform3i cmd; | 1011 cmds::Uniform3i cmd; |
1000 cmd.Init(1, 2, 3, 4); | 1012 cmd.Init(1, 2, 3, 4); |
1001 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1013 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1002 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1014 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1003 } | 1015 } |
1004 | 1016 |
1005 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) { | 1017 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) { |
1006 EXPECT_CALL( | 1018 EXPECT_CALL( |
1007 *gl_, Uniform3iv( | 1019 *gl_, Uniform3iv( |
1008 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1020 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
1009 SpecializedSetup<Uniform3iv, 0>(true); | 1021 SpecializedSetup<cmds::Uniform3iv, 0>(true); |
1010 Uniform3iv cmd; | 1022 cmds::Uniform3iv cmd; |
1011 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1023 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
1012 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1024 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1013 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1025 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1014 } | 1026 } |
1015 | 1027 |
1016 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { | 1028 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { |
1017 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 1029 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
1018 SpecializedSetup<Uniform3iv, 0>(false); | 1030 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
1019 Uniform3iv cmd; | 1031 cmds::Uniform3iv cmd; |
1020 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1032 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
1021 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1033 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1022 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1034 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1023 } | 1035 } |
1024 | 1036 |
1025 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { | 1037 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { |
1026 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 1038 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
1027 SpecializedSetup<Uniform3iv, 0>(false); | 1039 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
1028 Uniform3iv cmd; | 1040 cmds::Uniform3iv cmd; |
1029 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1041 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
1030 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1042 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1031 } | 1043 } |
1032 | 1044 |
1033 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { | 1045 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { |
1034 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 1046 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
1035 SpecializedSetup<Uniform3iv, 0>(false); | 1047 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
1036 Uniform3iv cmd; | 1048 cmds::Uniform3iv cmd; |
1037 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1049 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
1038 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1050 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1039 } | 1051 } |
1040 | 1052 |
1041 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { | 1053 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { |
1042 EXPECT_CALL( | 1054 EXPECT_CALL( |
1043 *gl_, Uniform3iv( | 1055 *gl_, Uniform3iv( |
1044 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1056 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
1045 SpecializedSetup<Uniform3iv, 0>(true); | 1057 SpecializedSetup<cmds::Uniform3iv, 0>(true); |
1046 Uniform3iv cmd; | 1058 cmds::Uniform3iv cmd; |
1047 cmd.Init( | 1059 cmd.Init( |
1048 ProgramManager::MakeFakeLocation( | 1060 ProgramManager::MakeFakeLocation( |
1049 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 1061 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
1050 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1062 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1051 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1063 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1052 } | 1064 } |
1053 | 1065 |
1054 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { | 1066 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { |
1055 Uniform3ivImmediate& cmd = *GetImmediateAs<Uniform3ivImmediate>(); | 1067 cmds::Uniform3ivImmediate& cmd = |
| 1068 *GetImmediateAs<cmds::Uniform3ivImmediate>(); |
1056 EXPECT_CALL( | 1069 EXPECT_CALL( |
1057 *gl_, | 1070 *gl_, |
1058 Uniform3iv(1, 2, | 1071 Uniform3iv(1, 2, |
1059 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 1072 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
1060 SpecializedSetup<Uniform3ivImmediate, 0>(true); | 1073 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); |
1061 GLint temp[3 * 2] = { 0, }; | 1074 GLint temp[3 * 2] = { 0, }; |
1062 cmd.Init(1, 2, &temp[0]); | 1075 cmd.Init(1, 2, &temp[0]); |
1063 EXPECT_EQ(error::kNoError, | 1076 EXPECT_EQ(error::kNoError, |
1064 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1077 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1065 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1078 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1066 } | 1079 } |
1067 | 1080 |
1068 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) { | 1081 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) { |
1069 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); | 1082 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); |
1070 SpecializedSetup<Uniform4f, 0>(true); | 1083 SpecializedSetup<cmds::Uniform4f, 0>(true); |
1071 Uniform4f cmd; | 1084 cmds::Uniform4f cmd; |
1072 cmd.Init(1, 2, 3, 4, 5); | 1085 cmd.Init(1, 2, 3, 4, 5); |
1073 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1086 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1074 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1087 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1075 } | 1088 } |
1076 | 1089 |
1077 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) { | 1090 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) { |
1078 EXPECT_CALL( | 1091 EXPECT_CALL( |
1079 *gl_, Uniform4fv( | 1092 *gl_, Uniform4fv( |
1080 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1093 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1081 SpecializedSetup<Uniform4fv, 0>(true); | 1094 SpecializedSetup<cmds::Uniform4fv, 0>(true); |
1082 Uniform4fv cmd; | 1095 cmds::Uniform4fv cmd; |
1083 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1096 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
1084 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1097 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1085 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1098 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1086 } | 1099 } |
1087 | 1100 |
1088 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { | 1101 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { |
1089 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 1102 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
1090 SpecializedSetup<Uniform4fv, 0>(false); | 1103 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
1091 Uniform4fv cmd; | 1104 cmds::Uniform4fv cmd; |
1092 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1105 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
1093 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1106 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1094 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1107 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1095 } | 1108 } |
1096 | 1109 |
1097 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { | 1110 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { |
1098 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 1111 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
1099 SpecializedSetup<Uniform4fv, 0>(false); | 1112 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
1100 Uniform4fv cmd; | 1113 cmds::Uniform4fv cmd; |
1101 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1114 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
1102 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1115 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1103 } | 1116 } |
1104 | 1117 |
1105 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { | 1118 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { |
1106 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 1119 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
1107 SpecializedSetup<Uniform4fv, 0>(false); | 1120 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
1108 Uniform4fv cmd; | 1121 cmds::Uniform4fv cmd; |
1109 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1122 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
1110 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1123 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1111 } | 1124 } |
1112 | 1125 |
1113 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { | 1126 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { |
1114 EXPECT_CALL( | 1127 EXPECT_CALL( |
1115 *gl_, Uniform4fv( | 1128 *gl_, Uniform4fv( |
1116 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1129 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1117 SpecializedSetup<Uniform4fv, 0>(true); | 1130 SpecializedSetup<cmds::Uniform4fv, 0>(true); |
1118 Uniform4fv cmd; | 1131 cmds::Uniform4fv cmd; |
1119 cmd.Init( | 1132 cmd.Init( |
1120 ProgramManager::MakeFakeLocation( | 1133 ProgramManager::MakeFakeLocation( |
1121 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 1134 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
1122 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1135 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1123 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1136 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1124 } | 1137 } |
1125 | 1138 |
1126 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { | 1139 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { |
1127 Uniform4fvImmediate& cmd = *GetImmediateAs<Uniform4fvImmediate>(); | 1140 cmds::Uniform4fvImmediate& cmd = |
| 1141 *GetImmediateAs<cmds::Uniform4fvImmediate>(); |
1128 EXPECT_CALL( | 1142 EXPECT_CALL( |
1129 *gl_, | 1143 *gl_, |
1130 Uniform4fv(1, 2, | 1144 Uniform4fv(1, 2, |
1131 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1145 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1132 SpecializedSetup<Uniform4fvImmediate, 0>(true); | 1146 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); |
1133 GLfloat temp[4 * 2] = { 0, }; | 1147 GLfloat temp[4 * 2] = { 0, }; |
1134 cmd.Init(1, 2, &temp[0]); | 1148 cmd.Init(1, 2, &temp[0]); |
1135 EXPECT_EQ(error::kNoError, | 1149 EXPECT_EQ(error::kNoError, |
1136 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1150 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1137 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1151 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1138 } | 1152 } |
1139 | 1153 |
1140 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) { | 1154 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) { |
1141 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); | 1155 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); |
1142 SpecializedSetup<Uniform4i, 0>(true); | 1156 SpecializedSetup<cmds::Uniform4i, 0>(true); |
1143 Uniform4i cmd; | 1157 cmds::Uniform4i cmd; |
1144 cmd.Init(1, 2, 3, 4, 5); | 1158 cmd.Init(1, 2, 3, 4, 5); |
1145 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1159 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1146 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1160 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1147 } | 1161 } |
1148 | 1162 |
1149 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) { | 1163 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) { |
1150 EXPECT_CALL( | 1164 EXPECT_CALL( |
1151 *gl_, Uniform4iv( | 1165 *gl_, Uniform4iv( |
1152 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1166 1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
1153 SpecializedSetup<Uniform4iv, 0>(true); | 1167 SpecializedSetup<cmds::Uniform4iv, 0>(true); |
1154 Uniform4iv cmd; | 1168 cmds::Uniform4iv cmd; |
1155 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1169 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
1156 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1170 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1157 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1171 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1158 } | 1172 } |
1159 | 1173 |
1160 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { | 1174 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { |
1161 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1175 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
1162 SpecializedSetup<Uniform4iv, 0>(false); | 1176 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
1163 Uniform4iv cmd; | 1177 cmds::Uniform4iv cmd; |
1164 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1178 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
1165 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1179 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1166 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1180 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1167 } | 1181 } |
1168 | 1182 |
1169 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { | 1183 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { |
1170 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1184 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
1171 SpecializedSetup<Uniform4iv, 0>(false); | 1185 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
1172 Uniform4iv cmd; | 1186 cmds::Uniform4iv cmd; |
1173 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1187 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
1174 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1188 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1175 } | 1189 } |
1176 | 1190 |
1177 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { | 1191 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { |
1178 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1192 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
1179 SpecializedSetup<Uniform4iv, 0>(false); | 1193 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
1180 Uniform4iv cmd; | 1194 cmds::Uniform4iv cmd; |
1181 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1195 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
1182 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1196 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1183 } | 1197 } |
1184 | 1198 |
1185 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { | 1199 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { |
1186 EXPECT_CALL( | 1200 EXPECT_CALL( |
1187 *gl_, Uniform4iv( | 1201 *gl_, Uniform4iv( |
1188 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1202 3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
1189 SpecializedSetup<Uniform4iv, 0>(true); | 1203 SpecializedSetup<cmds::Uniform4iv, 0>(true); |
1190 Uniform4iv cmd; | 1204 cmds::Uniform4iv cmd; |
1191 cmd.Init( | 1205 cmd.Init( |
1192 ProgramManager::MakeFakeLocation( | 1206 ProgramManager::MakeFakeLocation( |
1193 1, 1), 5, shared_memory_id_, shared_memory_offset_); | 1207 1, 1), 5, shared_memory_id_, shared_memory_offset_); |
1194 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1208 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1195 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1209 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1196 } | 1210 } |
1197 | 1211 |
1198 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { | 1212 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { |
1199 Uniform4ivImmediate& cmd = *GetImmediateAs<Uniform4ivImmediate>(); | 1213 cmds::Uniform4ivImmediate& cmd = |
| 1214 *GetImmediateAs<cmds::Uniform4ivImmediate>(); |
1200 EXPECT_CALL( | 1215 EXPECT_CALL( |
1201 *gl_, | 1216 *gl_, |
1202 Uniform4iv(1, 2, | 1217 Uniform4iv(1, 2, |
1203 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 1218 reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
1204 SpecializedSetup<Uniform4ivImmediate, 0>(true); | 1219 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); |
1205 GLint temp[4 * 2] = { 0, }; | 1220 GLint temp[4 * 2] = { 0, }; |
1206 cmd.Init(1, 2, &temp[0]); | 1221 cmd.Init(1, 2, &temp[0]); |
1207 EXPECT_EQ(error::kNoError, | 1222 EXPECT_EQ(error::kNoError, |
1208 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1223 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1209 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1224 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1210 } | 1225 } |
1211 | 1226 |
1212 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { | 1227 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { |
1213 EXPECT_CALL( | 1228 EXPECT_CALL( |
1214 *gl_, UniformMatrix2fv( | 1229 *gl_, UniformMatrix2fv( |
1215 1, 2, false, reinterpret_cast<const GLfloat*>( | 1230 1, 2, false, reinterpret_cast<const GLfloat*>( |
1216 shared_memory_address_))); | 1231 shared_memory_address_))); |
1217 SpecializedSetup<UniformMatrix2fv, 0>(true); | 1232 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); |
1218 UniformMatrix2fv cmd; | 1233 cmds::UniformMatrix2fv cmd; |
1219 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1234 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
1220 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1235 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1221 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1236 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1222 } | 1237 } |
1223 | 1238 |
1224 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { | 1239 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { |
1225 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1240 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1226 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1241 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1227 UniformMatrix2fv cmd; | 1242 cmds::UniformMatrix2fv cmd; |
1228 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1243 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
1229 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1244 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1230 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1245 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1231 } | 1246 } |
1232 | 1247 |
1233 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { | 1248 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { |
1234 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1249 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1235 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1250 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1236 UniformMatrix2fv cmd; | 1251 cmds::UniformMatrix2fv cmd; |
1237 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1252 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
1238 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1253 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1239 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1254 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1240 } | 1255 } |
1241 | 1256 |
1242 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { | 1257 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { |
1243 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1258 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1244 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1259 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1245 UniformMatrix2fv cmd; | 1260 cmds::UniformMatrix2fv cmd; |
1246 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1261 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
1247 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1262 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1248 } | 1263 } |
1249 | 1264 |
1250 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { | 1265 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { |
1251 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1266 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1252 SpecializedSetup<UniformMatrix2fv, 0>(false); | 1267 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1253 UniformMatrix2fv cmd; | 1268 cmds::UniformMatrix2fv cmd; |
1254 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1269 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
1255 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1270 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1256 } | 1271 } |
1257 | 1272 |
1258 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { | 1273 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { |
1259 EXPECT_CALL( | 1274 EXPECT_CALL( |
1260 *gl_, UniformMatrix2fv( | 1275 *gl_, UniformMatrix2fv( |
1261 3, 3, false, reinterpret_cast<const GLfloat*>( | 1276 3, 3, false, reinterpret_cast<const GLfloat*>( |
1262 shared_memory_address_))); | 1277 shared_memory_address_))); |
1263 SpecializedSetup<UniformMatrix2fv, 0>(true); | 1278 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); |
1264 UniformMatrix2fv cmd; | 1279 cmds::UniformMatrix2fv cmd; |
1265 cmd.Init( | 1280 cmd.Init( |
1266 ProgramManager::MakeFakeLocation( | 1281 ProgramManager::MakeFakeLocation( |
1267 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); | 1282 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); |
1268 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1283 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1269 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1284 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1270 } | 1285 } |
1271 | 1286 |
1272 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { | 1287 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { |
1273 UniformMatrix2fvImmediate& cmd = | 1288 cmds::UniformMatrix2fvImmediate& cmd = |
1274 *GetImmediateAs<UniformMatrix2fvImmediate>(); | 1289 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
1275 EXPECT_CALL( | 1290 EXPECT_CALL( |
1276 *gl_, | 1291 *gl_, |
1277 UniformMatrix2fv(1, 2, false, | 1292 UniformMatrix2fv(1, 2, false, |
1278 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1293 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1279 SpecializedSetup<UniformMatrix2fvImmediate, 0>(true); | 1294 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(true); |
1280 GLfloat temp[4 * 2] = { 0, }; | 1295 GLfloat temp[4 * 2] = { 0, }; |
1281 cmd.Init(1, 2, false, &temp[0]); | 1296 cmd.Init(1, 2, false, &temp[0]); |
1282 EXPECT_EQ(error::kNoError, | 1297 EXPECT_EQ(error::kNoError, |
1283 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1298 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1284 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1299 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1285 } | 1300 } |
1286 | 1301 |
1287 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { | 1302 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { |
1288 UniformMatrix2fvImmediate& cmd = | 1303 cmds::UniformMatrix2fvImmediate& cmd = |
1289 *GetImmediateAs<UniformMatrix2fvImmediate>(); | 1304 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
1290 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1305 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1291 SpecializedSetup<UniformMatrix2fvImmediate, 0>(false); | 1306 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(false); |
1292 GLfloat temp[4 * 2] = { 0, }; | 1307 GLfloat temp[4 * 2] = { 0, }; |
1293 cmd.Init(1, 2, true, &temp[0]); | 1308 cmd.Init(1, 2, true, &temp[0]); |
1294 EXPECT_EQ(error::kNoError, | 1309 EXPECT_EQ(error::kNoError, |
1295 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1310 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1296 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1311 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1297 } | 1312 } |
1298 | 1313 |
1299 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { | 1314 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { |
1300 EXPECT_CALL( | 1315 EXPECT_CALL( |
1301 *gl_, UniformMatrix3fv( | 1316 *gl_, UniformMatrix3fv( |
1302 1, 2, false, reinterpret_cast<const GLfloat*>( | 1317 1, 2, false, reinterpret_cast<const GLfloat*>( |
1303 shared_memory_address_))); | 1318 shared_memory_address_))); |
1304 SpecializedSetup<UniformMatrix3fv, 0>(true); | 1319 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); |
1305 UniformMatrix3fv cmd; | 1320 cmds::UniformMatrix3fv cmd; |
1306 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1321 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
1307 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1322 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1308 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1323 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1309 } | 1324 } |
1310 | 1325 |
1311 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { | 1326 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { |
1312 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1327 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1313 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1328 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1314 UniformMatrix3fv cmd; | 1329 cmds::UniformMatrix3fv cmd; |
1315 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1330 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
1316 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1331 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1317 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1332 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1318 } | 1333 } |
1319 | 1334 |
1320 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { | 1335 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { |
1321 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1336 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1322 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1337 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1323 UniformMatrix3fv cmd; | 1338 cmds::UniformMatrix3fv cmd; |
1324 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1339 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
1325 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1340 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1326 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1341 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1327 } | 1342 } |
1328 | 1343 |
1329 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { | 1344 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { |
1330 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1345 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1331 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1346 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1332 UniformMatrix3fv cmd; | 1347 cmds::UniformMatrix3fv cmd; |
1333 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1348 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
1334 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1349 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1335 } | 1350 } |
1336 | 1351 |
1337 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { | 1352 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { |
1338 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1353 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1339 SpecializedSetup<UniformMatrix3fv, 0>(false); | 1354 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1340 UniformMatrix3fv cmd; | 1355 cmds::UniformMatrix3fv cmd; |
1341 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1356 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
1342 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1357 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1343 } | 1358 } |
1344 | 1359 |
1345 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { | 1360 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { |
1346 EXPECT_CALL( | 1361 EXPECT_CALL( |
1347 *gl_, UniformMatrix3fv( | 1362 *gl_, UniformMatrix3fv( |
1348 3, 3, false, reinterpret_cast<const GLfloat*>( | 1363 3, 3, false, reinterpret_cast<const GLfloat*>( |
1349 shared_memory_address_))); | 1364 shared_memory_address_))); |
1350 SpecializedSetup<UniformMatrix3fv, 0>(true); | 1365 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); |
1351 UniformMatrix3fv cmd; | 1366 cmds::UniformMatrix3fv cmd; |
1352 cmd.Init( | 1367 cmd.Init( |
1353 ProgramManager::MakeFakeLocation( | 1368 ProgramManager::MakeFakeLocation( |
1354 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); | 1369 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); |
1355 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1370 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1356 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1371 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1357 } | 1372 } |
1358 | 1373 |
1359 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { | 1374 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { |
1360 UniformMatrix3fvImmediate& cmd = | 1375 cmds::UniformMatrix3fvImmediate& cmd = |
1361 *GetImmediateAs<UniformMatrix3fvImmediate>(); | 1376 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
1362 EXPECT_CALL( | 1377 EXPECT_CALL( |
1363 *gl_, | 1378 *gl_, |
1364 UniformMatrix3fv(1, 2, false, | 1379 UniformMatrix3fv(1, 2, false, |
1365 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1380 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1366 SpecializedSetup<UniformMatrix3fvImmediate, 0>(true); | 1381 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(true); |
1367 GLfloat temp[9 * 2] = { 0, }; | 1382 GLfloat temp[9 * 2] = { 0, }; |
1368 cmd.Init(1, 2, false, &temp[0]); | 1383 cmd.Init(1, 2, false, &temp[0]); |
1369 EXPECT_EQ(error::kNoError, | 1384 EXPECT_EQ(error::kNoError, |
1370 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1385 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1371 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1386 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1372 } | 1387 } |
1373 | 1388 |
1374 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { | 1389 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { |
1375 UniformMatrix3fvImmediate& cmd = | 1390 cmds::UniformMatrix3fvImmediate& cmd = |
1376 *GetImmediateAs<UniformMatrix3fvImmediate>(); | 1391 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
1377 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1392 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1378 SpecializedSetup<UniformMatrix3fvImmediate, 0>(false); | 1393 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(false); |
1379 GLfloat temp[9 * 2] = { 0, }; | 1394 GLfloat temp[9 * 2] = { 0, }; |
1380 cmd.Init(1, 2, true, &temp[0]); | 1395 cmd.Init(1, 2, true, &temp[0]); |
1381 EXPECT_EQ(error::kNoError, | 1396 EXPECT_EQ(error::kNoError, |
1382 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1397 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1383 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1398 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1384 } | 1399 } |
1385 | 1400 |
1386 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { | 1401 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { |
1387 EXPECT_CALL( | 1402 EXPECT_CALL( |
1388 *gl_, UniformMatrix4fv( | 1403 *gl_, UniformMatrix4fv( |
1389 1, 2, false, reinterpret_cast<const GLfloat*>( | 1404 1, 2, false, reinterpret_cast<const GLfloat*>( |
1390 shared_memory_address_))); | 1405 shared_memory_address_))); |
1391 SpecializedSetup<UniformMatrix4fv, 0>(true); | 1406 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); |
1392 UniformMatrix4fv cmd; | 1407 cmds::UniformMatrix4fv cmd; |
1393 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1408 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
1394 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1409 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1395 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1410 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1396 } | 1411 } |
1397 | 1412 |
1398 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { | 1413 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { |
1399 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1414 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1400 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1415 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1401 UniformMatrix4fv cmd; | 1416 cmds::UniformMatrix4fv cmd; |
1402 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1417 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
1403 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1418 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1404 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1419 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1405 } | 1420 } |
1406 | 1421 |
1407 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { | 1422 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { |
1408 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1423 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1409 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1424 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1410 UniformMatrix4fv cmd; | 1425 cmds::UniformMatrix4fv cmd; |
1411 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1426 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
1412 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1427 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1413 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1428 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1414 } | 1429 } |
1415 | 1430 |
1416 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { | 1431 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { |
1417 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1432 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1418 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1433 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1419 UniformMatrix4fv cmd; | 1434 cmds::UniformMatrix4fv cmd; |
1420 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1435 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
1421 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1436 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1422 } | 1437 } |
1423 | 1438 |
1424 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { | 1439 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { |
1425 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1440 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1426 SpecializedSetup<UniformMatrix4fv, 0>(false); | 1441 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1427 UniformMatrix4fv cmd; | 1442 cmds::UniformMatrix4fv cmd; |
1428 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1443 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
1429 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1444 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1430 } | 1445 } |
1431 | 1446 |
1432 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { | 1447 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { |
1433 EXPECT_CALL( | 1448 EXPECT_CALL( |
1434 *gl_, UniformMatrix4fv( | 1449 *gl_, UniformMatrix4fv( |
1435 3, 3, false, reinterpret_cast<const GLfloat*>( | 1450 3, 3, false, reinterpret_cast<const GLfloat*>( |
1436 shared_memory_address_))); | 1451 shared_memory_address_))); |
1437 SpecializedSetup<UniformMatrix4fv, 0>(true); | 1452 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); |
1438 UniformMatrix4fv cmd; | 1453 cmds::UniformMatrix4fv cmd; |
1439 cmd.Init( | 1454 cmd.Init( |
1440 ProgramManager::MakeFakeLocation( | 1455 ProgramManager::MakeFakeLocation( |
1441 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); | 1456 1, 1), 5, false, shared_memory_id_, shared_memory_offset_); |
1442 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1457 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1443 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1458 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1444 } | 1459 } |
1445 | 1460 |
1446 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { | 1461 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { |
1447 UniformMatrix4fvImmediate& cmd = | 1462 cmds::UniformMatrix4fvImmediate& cmd = |
1448 *GetImmediateAs<UniformMatrix4fvImmediate>(); | 1463 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
1449 EXPECT_CALL( | 1464 EXPECT_CALL( |
1450 *gl_, | 1465 *gl_, |
1451 UniformMatrix4fv(1, 2, false, | 1466 UniformMatrix4fv(1, 2, false, |
1452 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1467 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1453 SpecializedSetup<UniformMatrix4fvImmediate, 0>(true); | 1468 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(true); |
1454 GLfloat temp[16 * 2] = { 0, }; | 1469 GLfloat temp[16 * 2] = { 0, }; |
1455 cmd.Init(1, 2, false, &temp[0]); | 1470 cmd.Init(1, 2, false, &temp[0]); |
1456 EXPECT_EQ(error::kNoError, | 1471 EXPECT_EQ(error::kNoError, |
1457 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1472 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1458 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1473 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1459 } | 1474 } |
1460 | 1475 |
1461 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { | 1476 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { |
1462 UniformMatrix4fvImmediate& cmd = | 1477 cmds::UniformMatrix4fvImmediate& cmd = |
1463 *GetImmediateAs<UniformMatrix4fvImmediate>(); | 1478 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
1464 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1479 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1465 SpecializedSetup<UniformMatrix4fvImmediate, 0>(false); | 1480 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(false); |
1466 GLfloat temp[16 * 2] = { 0, }; | 1481 GLfloat temp[16 * 2] = { 0, }; |
1467 cmd.Init(1, 2, true, &temp[0]); | 1482 cmd.Init(1, 2, true, &temp[0]); |
1468 EXPECT_EQ(error::kNoError, | 1483 EXPECT_EQ(error::kNoError, |
1469 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1484 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1470 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1485 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1471 } | 1486 } |
1472 // TODO(gman): UseProgram | 1487 // TODO(gman): UseProgram |
1473 | 1488 |
1474 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) { | 1489 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) { |
1475 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); | 1490 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); |
1476 SpecializedSetup<ValidateProgram, 0>(true); | 1491 SpecializedSetup<cmds::ValidateProgram, 0>(true); |
1477 ValidateProgram cmd; | 1492 cmds::ValidateProgram cmd; |
1478 cmd.Init(client_program_id_); | 1493 cmd.Init(client_program_id_); |
1479 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1494 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1480 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1495 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1481 } | 1496 } |
1482 | 1497 |
1483 TEST_F(GLES2DecoderTest2, VertexAttrib1fValidArgs) { | 1498 TEST_F(GLES2DecoderTest2, VertexAttrib1fValidArgs) { |
1484 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); | 1499 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); |
1485 SpecializedSetup<VertexAttrib1f, 0>(true); | 1500 SpecializedSetup<cmds::VertexAttrib1f, 0>(true); |
1486 VertexAttrib1f cmd; | 1501 cmds::VertexAttrib1f cmd; |
1487 cmd.Init(1, 2); | 1502 cmd.Init(1, 2); |
1488 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1503 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1489 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1504 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1490 } | 1505 } |
1491 | 1506 |
1492 TEST_F(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { | 1507 TEST_F(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { |
1493 EXPECT_CALL( | 1508 EXPECT_CALL( |
1494 *gl_, VertexAttrib1fv( | 1509 *gl_, VertexAttrib1fv( |
1495 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1510 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1496 SpecializedSetup<VertexAttrib1fv, 0>(true); | 1511 SpecializedSetup<cmds::VertexAttrib1fv, 0>(true); |
1497 VertexAttrib1fv cmd; | 1512 cmds::VertexAttrib1fv cmd; |
1498 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1513 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1499 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1514 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1500 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1515 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1501 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1516 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1502 } | 1517 } |
1503 | 1518 |
1504 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { | 1519 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { |
1505 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | 1520 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); |
1506 SpecializedSetup<VertexAttrib1fv, 0>(false); | 1521 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); |
1507 VertexAttrib1fv cmd; | 1522 cmds::VertexAttrib1fv cmd; |
1508 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1523 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1509 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1524 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1510 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1525 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1511 } | 1526 } |
1512 | 1527 |
1513 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { | 1528 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { |
1514 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | 1529 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); |
1515 SpecializedSetup<VertexAttrib1fv, 0>(false); | 1530 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); |
1516 VertexAttrib1fv cmd; | 1531 cmds::VertexAttrib1fv cmd; |
1517 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1532 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1518 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1533 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1519 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1534 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1520 } | 1535 } |
1521 | 1536 |
1522 TEST_F(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { | 1537 TEST_F(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { |
1523 VertexAttrib1fvImmediate& cmd = *GetImmediateAs<VertexAttrib1fvImmediate>(); | 1538 cmds::VertexAttrib1fvImmediate& cmd = |
| 1539 *GetImmediateAs<cmds::VertexAttrib1fvImmediate>(); |
1524 EXPECT_CALL( | 1540 EXPECT_CALL( |
1525 *gl_, | 1541 *gl_, |
1526 VertexAttrib1fv(1, | 1542 VertexAttrib1fv(1, |
1527 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1543 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1528 SpecializedSetup<VertexAttrib1fvImmediate, 0>(true); | 1544 SpecializedSetup<cmds::VertexAttrib1fvImmediate, 0>(true); |
1529 GLfloat temp[1] = { 0, }; | 1545 GLfloat temp[1] = { 0, }; |
1530 cmd.Init(1, &temp[0]); | 1546 cmd.Init(1, &temp[0]); |
1531 EXPECT_EQ(error::kNoError, | 1547 EXPECT_EQ(error::kNoError, |
1532 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1548 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1533 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1549 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1534 } | 1550 } |
1535 | 1551 |
1536 TEST_F(GLES2DecoderTest2, VertexAttrib2fValidArgs) { | 1552 TEST_F(GLES2DecoderTest2, VertexAttrib2fValidArgs) { |
1537 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); | 1553 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); |
1538 SpecializedSetup<VertexAttrib2f, 0>(true); | 1554 SpecializedSetup<cmds::VertexAttrib2f, 0>(true); |
1539 VertexAttrib2f cmd; | 1555 cmds::VertexAttrib2f cmd; |
1540 cmd.Init(1, 2, 3); | 1556 cmd.Init(1, 2, 3); |
1541 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1557 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1542 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1558 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1543 } | 1559 } |
1544 | 1560 |
1545 TEST_F(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { | 1561 TEST_F(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { |
1546 EXPECT_CALL( | 1562 EXPECT_CALL( |
1547 *gl_, VertexAttrib2fv( | 1563 *gl_, VertexAttrib2fv( |
1548 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1564 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1549 SpecializedSetup<VertexAttrib2fv, 0>(true); | 1565 SpecializedSetup<cmds::VertexAttrib2fv, 0>(true); |
1550 VertexAttrib2fv cmd; | 1566 cmds::VertexAttrib2fv cmd; |
1551 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1567 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1552 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1568 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1553 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1569 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1554 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1570 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1555 } | 1571 } |
1556 | 1572 |
1557 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { | 1573 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { |
1558 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | 1574 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); |
1559 SpecializedSetup<VertexAttrib2fv, 0>(false); | 1575 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); |
1560 VertexAttrib2fv cmd; | 1576 cmds::VertexAttrib2fv cmd; |
1561 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1577 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1562 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1578 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1563 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1579 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1564 } | 1580 } |
1565 | 1581 |
1566 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { | 1582 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { |
1567 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | 1583 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); |
1568 SpecializedSetup<VertexAttrib2fv, 0>(false); | 1584 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); |
1569 VertexAttrib2fv cmd; | 1585 cmds::VertexAttrib2fv cmd; |
1570 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1586 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1571 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1587 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1572 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1588 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1573 } | 1589 } |
1574 | 1590 |
1575 TEST_F(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { | 1591 TEST_F(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { |
1576 VertexAttrib2fvImmediate& cmd = *GetImmediateAs<VertexAttrib2fvImmediate>(); | 1592 cmds::VertexAttrib2fvImmediate& cmd = |
| 1593 *GetImmediateAs<cmds::VertexAttrib2fvImmediate>(); |
1577 EXPECT_CALL( | 1594 EXPECT_CALL( |
1578 *gl_, | 1595 *gl_, |
1579 VertexAttrib2fv(1, | 1596 VertexAttrib2fv(1, |
1580 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1597 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1581 SpecializedSetup<VertexAttrib2fvImmediate, 0>(true); | 1598 SpecializedSetup<cmds::VertexAttrib2fvImmediate, 0>(true); |
1582 GLfloat temp[2] = { 0, }; | 1599 GLfloat temp[2] = { 0, }; |
1583 cmd.Init(1, &temp[0]); | 1600 cmd.Init(1, &temp[0]); |
1584 EXPECT_EQ(error::kNoError, | 1601 EXPECT_EQ(error::kNoError, |
1585 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1602 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1586 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1603 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1587 } | 1604 } |
1588 | 1605 |
1589 TEST_F(GLES2DecoderTest2, VertexAttrib3fValidArgs) { | 1606 TEST_F(GLES2DecoderTest2, VertexAttrib3fValidArgs) { |
1590 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); | 1607 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); |
1591 SpecializedSetup<VertexAttrib3f, 0>(true); | 1608 SpecializedSetup<cmds::VertexAttrib3f, 0>(true); |
1592 VertexAttrib3f cmd; | 1609 cmds::VertexAttrib3f cmd; |
1593 cmd.Init(1, 2, 3, 4); | 1610 cmd.Init(1, 2, 3, 4); |
1594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1611 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1612 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1596 } | 1613 } |
1597 | 1614 |
1598 TEST_F(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { | 1615 TEST_F(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { |
1599 EXPECT_CALL( | 1616 EXPECT_CALL( |
1600 *gl_, VertexAttrib3fv( | 1617 *gl_, VertexAttrib3fv( |
1601 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1618 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1602 SpecializedSetup<VertexAttrib3fv, 0>(true); | 1619 SpecializedSetup<cmds::VertexAttrib3fv, 0>(true); |
1603 VertexAttrib3fv cmd; | 1620 cmds::VertexAttrib3fv cmd; |
1604 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1621 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1605 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1622 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1606 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1623 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1607 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1624 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1608 } | 1625 } |
1609 | 1626 |
1610 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { | 1627 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { |
1611 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | 1628 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); |
1612 SpecializedSetup<VertexAttrib3fv, 0>(false); | 1629 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); |
1613 VertexAttrib3fv cmd; | 1630 cmds::VertexAttrib3fv cmd; |
1614 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1631 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1615 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1632 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1616 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1633 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1617 } | 1634 } |
1618 | 1635 |
1619 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { | 1636 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { |
1620 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | 1637 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); |
1621 SpecializedSetup<VertexAttrib3fv, 0>(false); | 1638 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); |
1622 VertexAttrib3fv cmd; | 1639 cmds::VertexAttrib3fv cmd; |
1623 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1640 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1624 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1641 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1625 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1642 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1626 } | 1643 } |
1627 | 1644 |
1628 TEST_F(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { | 1645 TEST_F(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { |
1629 VertexAttrib3fvImmediate& cmd = *GetImmediateAs<VertexAttrib3fvImmediate>(); | 1646 cmds::VertexAttrib3fvImmediate& cmd = |
| 1647 *GetImmediateAs<cmds::VertexAttrib3fvImmediate>(); |
1630 EXPECT_CALL( | 1648 EXPECT_CALL( |
1631 *gl_, | 1649 *gl_, |
1632 VertexAttrib3fv(1, | 1650 VertexAttrib3fv(1, |
1633 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1651 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1634 SpecializedSetup<VertexAttrib3fvImmediate, 0>(true); | 1652 SpecializedSetup<cmds::VertexAttrib3fvImmediate, 0>(true); |
1635 GLfloat temp[3] = { 0, }; | 1653 GLfloat temp[3] = { 0, }; |
1636 cmd.Init(1, &temp[0]); | 1654 cmd.Init(1, &temp[0]); |
1637 EXPECT_EQ(error::kNoError, | 1655 EXPECT_EQ(error::kNoError, |
1638 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1656 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1639 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1657 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1640 } | 1658 } |
1641 | 1659 |
1642 TEST_F(GLES2DecoderTest2, VertexAttrib4fValidArgs) { | 1660 TEST_F(GLES2DecoderTest2, VertexAttrib4fValidArgs) { |
1643 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); | 1661 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); |
1644 SpecializedSetup<VertexAttrib4f, 0>(true); | 1662 SpecializedSetup<cmds::VertexAttrib4f, 0>(true); |
1645 VertexAttrib4f cmd; | 1663 cmds::VertexAttrib4f cmd; |
1646 cmd.Init(1, 2, 3, 4, 5); | 1664 cmd.Init(1, 2, 3, 4, 5); |
1647 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1665 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1648 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1666 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1649 } | 1667 } |
1650 | 1668 |
1651 TEST_F(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { | 1669 TEST_F(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { |
1652 EXPECT_CALL( | 1670 EXPECT_CALL( |
1653 *gl_, VertexAttrib4fv( | 1671 *gl_, VertexAttrib4fv( |
1654 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1672 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1655 SpecializedSetup<VertexAttrib4fv, 0>(true); | 1673 SpecializedSetup<cmds::VertexAttrib4fv, 0>(true); |
1656 VertexAttrib4fv cmd; | 1674 cmds::VertexAttrib4fv cmd; |
1657 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1675 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1658 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1676 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1659 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1677 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1660 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1678 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1661 } | 1679 } |
1662 | 1680 |
1663 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { | 1681 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { |
1664 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | 1682 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); |
1665 SpecializedSetup<VertexAttrib4fv, 0>(false); | 1683 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); |
1666 VertexAttrib4fv cmd; | 1684 cmds::VertexAttrib4fv cmd; |
1667 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1685 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1668 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1686 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1669 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1687 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1670 } | 1688 } |
1671 | 1689 |
1672 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { | 1690 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { |
1673 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | 1691 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); |
1674 SpecializedSetup<VertexAttrib4fv, 0>(false); | 1692 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); |
1675 VertexAttrib4fv cmd; | 1693 cmds::VertexAttrib4fv cmd; |
1676 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1694 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1677 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1695 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1678 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1696 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1679 } | 1697 } |
1680 | 1698 |
1681 TEST_F(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { | 1699 TEST_F(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { |
1682 VertexAttrib4fvImmediate& cmd = *GetImmediateAs<VertexAttrib4fvImmediate>(); | 1700 cmds::VertexAttrib4fvImmediate& cmd = |
| 1701 *GetImmediateAs<cmds::VertexAttrib4fvImmediate>(); |
1683 EXPECT_CALL( | 1702 EXPECT_CALL( |
1684 *gl_, | 1703 *gl_, |
1685 VertexAttrib4fv(1, | 1704 VertexAttrib4fv(1, |
1686 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1705 reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1687 SpecializedSetup<VertexAttrib4fvImmediate, 0>(true); | 1706 SpecializedSetup<cmds::VertexAttrib4fvImmediate, 0>(true); |
1688 GLfloat temp[4] = { 0, }; | 1707 GLfloat temp[4] = { 0, }; |
1689 cmd.Init(1, &temp[0]); | 1708 cmd.Init(1, &temp[0]); |
1690 EXPECT_EQ(error::kNoError, | 1709 EXPECT_EQ(error::kNoError, |
1691 ExecuteImmediateCmd(cmd, sizeof(temp))); | 1710 ExecuteImmediateCmd(cmd, sizeof(temp))); |
1692 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1711 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1693 } | 1712 } |
1694 // TODO(gman): VertexAttribPointer | 1713 // TODO(gman): VertexAttribPointer |
1695 | 1714 |
1696 | 1715 |
1697 TEST_F(GLES2DecoderTest2, ViewportValidArgs) { | 1716 TEST_F(GLES2DecoderTest2, ViewportValidArgs) { |
1698 EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); | 1717 EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); |
1699 SpecializedSetup<Viewport, 0>(true); | 1718 SpecializedSetup<cmds::Viewport, 0>(true); |
1700 Viewport cmd; | 1719 cmds::Viewport cmd; |
1701 cmd.Init(1, 2, 3, 4); | 1720 cmd.Init(1, 2, 3, 4); |
1702 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1721 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1703 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1722 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1704 } | 1723 } |
1705 | 1724 |
1706 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs2_0) { | 1725 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs2_0) { |
1707 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); | 1726 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); |
1708 SpecializedSetup<Viewport, 0>(false); | 1727 SpecializedSetup<cmds::Viewport, 0>(false); |
1709 Viewport cmd; | 1728 cmds::Viewport cmd; |
1710 cmd.Init(1, 2, -1, 4); | 1729 cmd.Init(1, 2, -1, 4); |
1711 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1730 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1712 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1731 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1713 } | 1732 } |
1714 | 1733 |
1715 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs3_0) { | 1734 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs3_0) { |
1716 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); | 1735 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); |
1717 SpecializedSetup<Viewport, 0>(false); | 1736 SpecializedSetup<cmds::Viewport, 0>(false); |
1718 Viewport cmd; | 1737 cmds::Viewport cmd; |
1719 cmd.Init(1, 2, 3, -1); | 1738 cmd.Init(1, 2, 3, -1); |
1720 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1739 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1721 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1740 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1722 } | 1741 } |
1723 // TODO(gman): BlitFramebufferEXT | 1742 // TODO(gman): BlitFramebufferEXT |
1724 // TODO(gman): RenderbufferStorageMultisampleEXT | 1743 // TODO(gman): RenderbufferStorageMultisampleEXT |
1725 // TODO(gman): TexStorage2DEXT | 1744 // TODO(gman): TexStorage2DEXT |
1726 // TODO(gman): GenQueriesEXT | 1745 // TODO(gman): GenQueriesEXT |
1727 // TODO(gman): GenQueriesEXTImmediate | 1746 // TODO(gman): GenQueriesEXTImmediate |
1728 // TODO(gman): DeleteQueriesEXT | 1747 // TODO(gman): DeleteQueriesEXT |
1729 // TODO(gman): DeleteQueriesEXTImmediate | 1748 // TODO(gman): DeleteQueriesEXTImmediate |
1730 // TODO(gman): BeginQueryEXT | 1749 // TODO(gman): BeginQueryEXT |
1731 | 1750 |
1732 // TODO(gman): EndQueryEXT | 1751 // TODO(gman): EndQueryEXT |
1733 | 1752 |
1734 // TODO(gman): InsertEventMarkerEXT | 1753 // TODO(gman): InsertEventMarkerEXT |
1735 | 1754 |
1736 // TODO(gman): PushGroupMarkerEXT | 1755 // TODO(gman): PushGroupMarkerEXT |
1737 | 1756 |
1738 | 1757 |
1739 TEST_F(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { | 1758 TEST_F(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { |
1740 SpecializedSetup<PopGroupMarkerEXT, 0>(true); | 1759 SpecializedSetup<cmds::PopGroupMarkerEXT, 0>(true); |
1741 PopGroupMarkerEXT cmd; | 1760 cmds::PopGroupMarkerEXT cmd; |
1742 cmd.Init(); | 1761 cmd.Init(); |
1743 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1762 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1744 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1763 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1745 } | 1764 } |
1746 // TODO(gman): GenVertexArraysOES | 1765 // TODO(gman): GenVertexArraysOES |
1747 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 1766 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
1748 | 1767 |
OLD | NEW |