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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h

Issue 12326146: Refactor/Rename a bunch of GPU stuff (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_unittest_2.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder_unittest_3.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698