1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // This file is auto-generated from
6 // gpu/command_buffer/build_gles2_cmd_buffer.py
7 // It's formatted by clang-format using chromium coding style:
8 // clang-format -i -style=chromium filename
11 // This file contains unit tests for gles2 commmands
12 // It is included by gles2_cmd_format_test.cc
14 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_
15 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_
17 TEST_F(GLES2FormatTest
, ActiveTexture
) {
18 cmds::ActiveTexture
& cmd
= *GetBufferAs
<cmds::ActiveTexture
>();
19 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
20 EXPECT_EQ(static_cast<uint32_t>(cmds::ActiveTexture::kCmdId
),
22 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
23 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.texture
);
24 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
27 TEST_F(GLES2FormatTest
, AttachShader
) {
28 cmds::AttachShader
& cmd
= *GetBufferAs
<cmds::AttachShader
>();
30 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<GLuint
>(12));
31 EXPECT_EQ(static_cast<uint32_t>(cmds::AttachShader::kCmdId
),
33 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
34 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
35 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.shader
);
36 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
39 TEST_F(GLES2FormatTest
, BindAttribLocation
) {
40 cmds::BindAttribLocation
& cmd
= *GetBufferAs
<cmds::BindAttribLocation
>();
41 void* next_cmd
= cmd
.Set(&cmd
,
42 static_cast<GLuint
>(11),
43 static_cast<GLuint
>(12),
44 static_cast<uint32_t>(13),
45 static_cast<uint32_t>(14),
46 static_cast<uint32_t>(15));
47 EXPECT_EQ(static_cast<uint32_t>(cmds::BindAttribLocation::kCmdId
),
49 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
50 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
51 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.index
);
52 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.name_shm_id
);
53 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.name_shm_offset
);
54 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.data_size
);
55 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
58 TEST_F(GLES2FormatTest
, BindAttribLocationBucket
) {
59 cmds::BindAttribLocationBucket
& cmd
=
60 *GetBufferAs
<cmds::BindAttribLocationBucket
>();
61 void* next_cmd
= cmd
.Set(&cmd
,
62 static_cast<GLuint
>(11),
63 static_cast<GLuint
>(12),
64 static_cast<uint32_t>(13));
65 EXPECT_EQ(static_cast<uint32_t>(cmds::BindAttribLocationBucket::kCmdId
),
67 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
68 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
69 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.index
);
70 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.name_bucket_id
);
71 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
74 TEST_F(GLES2FormatTest
, BindBuffer
) {
75 cmds::BindBuffer
& cmd
= *GetBufferAs
<cmds::BindBuffer
>();
77 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLuint
>(12));
78 EXPECT_EQ(static_cast<uint32_t>(cmds::BindBuffer::kCmdId
),
80 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
81 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
82 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.buffer
);
83 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
86 TEST_F(GLES2FormatTest
, BindFramebuffer
) {
87 cmds::BindFramebuffer
& cmd
= *GetBufferAs
<cmds::BindFramebuffer
>();
89 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLuint
>(12));
90 EXPECT_EQ(static_cast<uint32_t>(cmds::BindFramebuffer::kCmdId
),
92 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
93 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
94 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.framebuffer
);
95 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
98 TEST_F(GLES2FormatTest
, BindRenderbuffer
) {
99 cmds::BindRenderbuffer
& cmd
= *GetBufferAs
<cmds::BindRenderbuffer
>();
101 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLuint
>(12));
102 EXPECT_EQ(static_cast<uint32_t>(cmds::BindRenderbuffer::kCmdId
),
104 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
105 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
106 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.renderbuffer
);
107 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
110 TEST_F(GLES2FormatTest
, BindTexture
) {
111 cmds::BindTexture
& cmd
= *GetBufferAs
<cmds::BindTexture
>();
113 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLuint
>(12));
114 EXPECT_EQ(static_cast<uint32_t>(cmds::BindTexture::kCmdId
),
116 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
117 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
118 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.texture
);
119 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
122 TEST_F(GLES2FormatTest
, BlendColor
) {
123 cmds::BlendColor
& cmd
= *GetBufferAs
<cmds::BlendColor
>();
124 void* next_cmd
= cmd
.Set(&cmd
,
125 static_cast<GLclampf
>(11),
126 static_cast<GLclampf
>(12),
127 static_cast<GLclampf
>(13),
128 static_cast<GLclampf
>(14));
129 EXPECT_EQ(static_cast<uint32_t>(cmds::BlendColor::kCmdId
),
131 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
132 EXPECT_EQ(static_cast<GLclampf
>(11), cmd
.red
);
133 EXPECT_EQ(static_cast<GLclampf
>(12), cmd
.green
);
134 EXPECT_EQ(static_cast<GLclampf
>(13), cmd
.blue
);
135 EXPECT_EQ(static_cast<GLclampf
>(14), cmd
.alpha
);
136 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
139 TEST_F(GLES2FormatTest
, BlendEquation
) {
140 cmds::BlendEquation
& cmd
= *GetBufferAs
<cmds::BlendEquation
>();
141 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
142 EXPECT_EQ(static_cast<uint32_t>(cmds::BlendEquation::kCmdId
),
144 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
145 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
146 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
149 TEST_F(GLES2FormatTest
, BlendEquationSeparate
) {
150 cmds::BlendEquationSeparate
& cmd
=
151 *GetBufferAs
<cmds::BlendEquationSeparate
>();
153 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLenum
>(12));
154 EXPECT_EQ(static_cast<uint32_t>(cmds::BlendEquationSeparate::kCmdId
),
156 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
157 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.modeRGB
);
158 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.modeAlpha
);
159 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
162 TEST_F(GLES2FormatTest
, BlendFunc
) {
163 cmds::BlendFunc
& cmd
= *GetBufferAs
<cmds::BlendFunc
>();
165 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLenum
>(12));
166 EXPECT_EQ(static_cast<uint32_t>(cmds::BlendFunc::kCmdId
), cmd
.header
.command
);
167 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
168 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.sfactor
);
169 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.dfactor
);
170 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
173 TEST_F(GLES2FormatTest
, BlendFuncSeparate
) {
174 cmds::BlendFuncSeparate
& cmd
= *GetBufferAs
<cmds::BlendFuncSeparate
>();
175 void* next_cmd
= cmd
.Set(&cmd
,
176 static_cast<GLenum
>(11),
177 static_cast<GLenum
>(12),
178 static_cast<GLenum
>(13),
179 static_cast<GLenum
>(14));
180 EXPECT_EQ(static_cast<uint32_t>(cmds::BlendFuncSeparate::kCmdId
),
182 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
183 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.srcRGB
);
184 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.dstRGB
);
185 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.srcAlpha
);
186 EXPECT_EQ(static_cast<GLenum
>(14), cmd
.dstAlpha
);
187 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
190 TEST_F(GLES2FormatTest
, BufferData
) {
191 cmds::BufferData
& cmd
= *GetBufferAs
<cmds::BufferData
>();
192 void* next_cmd
= cmd
.Set(&cmd
,
193 static_cast<GLenum
>(11),
194 static_cast<GLsizeiptr
>(12),
195 static_cast<uint32_t>(13),
196 static_cast<uint32_t>(14),
197 static_cast<GLenum
>(15));
198 EXPECT_EQ(static_cast<uint32_t>(cmds::BufferData::kCmdId
),
200 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
201 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
202 EXPECT_EQ(static_cast<GLsizeiptr
>(12), cmd
.size
);
203 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.data_shm_id
);
204 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.data_shm_offset
);
205 EXPECT_EQ(static_cast<GLenum
>(15), cmd
.usage
);
206 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
209 TEST_F(GLES2FormatTest
, BufferSubData
) {
210 cmds::BufferSubData
& cmd
= *GetBufferAs
<cmds::BufferSubData
>();
211 void* next_cmd
= cmd
.Set(&cmd
,
212 static_cast<GLenum
>(11),
213 static_cast<GLintptr
>(12),
214 static_cast<GLsizeiptr
>(13),
215 static_cast<uint32_t>(14),
216 static_cast<uint32_t>(15));
217 EXPECT_EQ(static_cast<uint32_t>(cmds::BufferSubData::kCmdId
),
219 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
220 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
221 EXPECT_EQ(static_cast<GLintptr
>(12), cmd
.offset
);
222 EXPECT_EQ(static_cast<GLsizeiptr
>(13), cmd
.size
);
223 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.data_shm_id
);
224 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.data_shm_offset
);
225 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
228 TEST_F(GLES2FormatTest
, CheckFramebufferStatus
) {
229 cmds::CheckFramebufferStatus
& cmd
=
230 *GetBufferAs
<cmds::CheckFramebufferStatus
>();
231 void* next_cmd
= cmd
.Set(&cmd
,
232 static_cast<GLenum
>(11),
233 static_cast<uint32_t>(12),
234 static_cast<uint32_t>(13));
235 EXPECT_EQ(static_cast<uint32_t>(cmds::CheckFramebufferStatus::kCmdId
),
237 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
238 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
239 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
240 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
241 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
244 TEST_F(GLES2FormatTest
, Clear
) {
245 cmds::Clear
& cmd
= *GetBufferAs
<cmds::Clear
>();
246 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLbitfield
>(11));
247 EXPECT_EQ(static_cast<uint32_t>(cmds::Clear::kCmdId
), cmd
.header
.command
);
248 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
249 EXPECT_EQ(static_cast<GLbitfield
>(11), cmd
.mask
);
250 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
253 TEST_F(GLES2FormatTest
, ClearColor
) {
254 cmds::ClearColor
& cmd
= *GetBufferAs
<cmds::ClearColor
>();
255 void* next_cmd
= cmd
.Set(&cmd
,
256 static_cast<GLclampf
>(11),
257 static_cast<GLclampf
>(12),
258 static_cast<GLclampf
>(13),
259 static_cast<GLclampf
>(14));
260 EXPECT_EQ(static_cast<uint32_t>(cmds::ClearColor::kCmdId
),
262 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
263 EXPECT_EQ(static_cast<GLclampf
>(11), cmd
.red
);
264 EXPECT_EQ(static_cast<GLclampf
>(12), cmd
.green
);
265 EXPECT_EQ(static_cast<GLclampf
>(13), cmd
.blue
);
266 EXPECT_EQ(static_cast<GLclampf
>(14), cmd
.alpha
);
267 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
270 TEST_F(GLES2FormatTest
, ClearDepthf
) {
271 cmds::ClearDepthf
& cmd
= *GetBufferAs
<cmds::ClearDepthf
>();
272 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLclampf
>(11));
273 EXPECT_EQ(static_cast<uint32_t>(cmds::ClearDepthf::kCmdId
),
275 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
276 EXPECT_EQ(static_cast<GLclampf
>(11), cmd
.depth
);
277 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
280 TEST_F(GLES2FormatTest
, ClearStencil
) {
281 cmds::ClearStencil
& cmd
= *GetBufferAs
<cmds::ClearStencil
>();
282 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLint
>(11));
283 EXPECT_EQ(static_cast<uint32_t>(cmds::ClearStencil::kCmdId
),
285 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
286 EXPECT_EQ(static_cast<GLint
>(11), cmd
.s
);
287 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
290 TEST_F(GLES2FormatTest
, ColorMask
) {
291 cmds::ColorMask
& cmd
= *GetBufferAs
<cmds::ColorMask
>();
292 void* next_cmd
= cmd
.Set(&cmd
,
293 static_cast<GLboolean
>(11),
294 static_cast<GLboolean
>(12),
295 static_cast<GLboolean
>(13),
296 static_cast<GLboolean
>(14));
297 EXPECT_EQ(static_cast<uint32_t>(cmds::ColorMask::kCmdId
), cmd
.header
.command
);
298 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
299 EXPECT_EQ(static_cast<GLboolean
>(11), cmd
.red
);
300 EXPECT_EQ(static_cast<GLboolean
>(12), cmd
.green
);
301 EXPECT_EQ(static_cast<GLboolean
>(13), cmd
.blue
);
302 EXPECT_EQ(static_cast<GLboolean
>(14), cmd
.alpha
);
303 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
306 TEST_F(GLES2FormatTest
, CompileShader
) {
307 cmds::CompileShader
& cmd
= *GetBufferAs
<cmds::CompileShader
>();
308 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
309 EXPECT_EQ(static_cast<uint32_t>(cmds::CompileShader::kCmdId
),
311 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
312 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
313 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
316 TEST_F(GLES2FormatTest
, CompressedTexImage2D
) {
317 cmds::CompressedTexImage2D
& cmd
= *GetBufferAs
<cmds::CompressedTexImage2D
>();
318 void* next_cmd
= cmd
.Set(&cmd
,
319 static_cast<GLenum
>(11),
320 static_cast<GLint
>(12),
321 static_cast<GLenum
>(13),
322 static_cast<GLsizei
>(14),
323 static_cast<GLsizei
>(15),
324 static_cast<GLsizei
>(16),
325 static_cast<uint32_t>(17),
326 static_cast<uint32_t>(18));
327 EXPECT_EQ(static_cast<uint32_t>(cmds::CompressedTexImage2D::kCmdId
),
329 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
330 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
331 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
332 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.internalformat
);
333 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
334 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
335 EXPECT_EQ(static_cast<GLsizei
>(16), cmd
.imageSize
);
336 EXPECT_EQ(static_cast<uint32_t>(17), cmd
.data_shm_id
);
337 EXPECT_EQ(static_cast<uint32_t>(18), cmd
.data_shm_offset
);
338 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
341 TEST_F(GLES2FormatTest
, CompressedTexImage2DBucket
) {
342 cmds::CompressedTexImage2DBucket
& cmd
=
343 *GetBufferAs
<cmds::CompressedTexImage2DBucket
>();
344 void* next_cmd
= cmd
.Set(&cmd
,
345 static_cast<GLenum
>(11),
346 static_cast<GLint
>(12),
347 static_cast<GLenum
>(13),
348 static_cast<GLsizei
>(14),
349 static_cast<GLsizei
>(15),
350 static_cast<GLuint
>(16));
351 EXPECT_EQ(static_cast<uint32_t>(cmds::CompressedTexImage2DBucket::kCmdId
),
353 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
354 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
355 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
356 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.internalformat
);
357 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
358 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
359 EXPECT_EQ(static_cast<GLuint
>(16), cmd
.bucket_id
);
360 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
363 TEST_F(GLES2FormatTest
, CompressedTexSubImage2D
) {
364 cmds::CompressedTexSubImage2D
& cmd
=
365 *GetBufferAs
<cmds::CompressedTexSubImage2D
>();
366 void* next_cmd
= cmd
.Set(&cmd
,
367 static_cast<GLenum
>(11),
368 static_cast<GLint
>(12),
369 static_cast<GLint
>(13),
370 static_cast<GLint
>(14),
371 static_cast<GLsizei
>(15),
372 static_cast<GLsizei
>(16),
373 static_cast<GLenum
>(17),
374 static_cast<GLsizei
>(18),
375 static_cast<uint32_t>(19),
376 static_cast<uint32_t>(20));
377 EXPECT_EQ(static_cast<uint32_t>(cmds::CompressedTexSubImage2D::kCmdId
),
379 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
380 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
381 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
382 EXPECT_EQ(static_cast<GLint
>(13), cmd
.xoffset
);
383 EXPECT_EQ(static_cast<GLint
>(14), cmd
.yoffset
);
384 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.width
);
385 EXPECT_EQ(static_cast<GLsizei
>(16), cmd
.height
);
386 EXPECT_EQ(static_cast<GLenum
>(17), cmd
.format
);
387 EXPECT_EQ(static_cast<GLsizei
>(18), cmd
.imageSize
);
388 EXPECT_EQ(static_cast<uint32_t>(19), cmd
.data_shm_id
);
389 EXPECT_EQ(static_cast<uint32_t>(20), cmd
.data_shm_offset
);
390 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
393 TEST_F(GLES2FormatTest
, CompressedTexSubImage2DBucket
) {
394 cmds::CompressedTexSubImage2DBucket
& cmd
=
395 *GetBufferAs
<cmds::CompressedTexSubImage2DBucket
>();
396 void* next_cmd
= cmd
.Set(&cmd
,
397 static_cast<GLenum
>(11),
398 static_cast<GLint
>(12),
399 static_cast<GLint
>(13),
400 static_cast<GLint
>(14),
401 static_cast<GLsizei
>(15),
402 static_cast<GLsizei
>(16),
403 static_cast<GLenum
>(17),
404 static_cast<GLuint
>(18));
405 EXPECT_EQ(static_cast<uint32_t>(cmds::CompressedTexSubImage2DBucket::kCmdId
),
407 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
408 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
409 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
410 EXPECT_EQ(static_cast<GLint
>(13), cmd
.xoffset
);
411 EXPECT_EQ(static_cast<GLint
>(14), cmd
.yoffset
);
412 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.width
);
413 EXPECT_EQ(static_cast<GLsizei
>(16), cmd
.height
);
414 EXPECT_EQ(static_cast<GLenum
>(17), cmd
.format
);
415 EXPECT_EQ(static_cast<GLuint
>(18), cmd
.bucket_id
);
416 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
419 TEST_F(GLES2FormatTest
, CopyTexImage2D
) {
420 cmds::CopyTexImage2D
& cmd
= *GetBufferAs
<cmds::CopyTexImage2D
>();
421 void* next_cmd
= cmd
.Set(&cmd
,
422 static_cast<GLenum
>(11),
423 static_cast<GLint
>(12),
424 static_cast<GLenum
>(13),
425 static_cast<GLint
>(14),
426 static_cast<GLint
>(15),
427 static_cast<GLsizei
>(16),
428 static_cast<GLsizei
>(17));
429 EXPECT_EQ(static_cast<uint32_t>(cmds::CopyTexImage2D::kCmdId
),
431 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
432 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
433 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
434 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.internalformat
);
435 EXPECT_EQ(static_cast<GLint
>(14), cmd
.x
);
436 EXPECT_EQ(static_cast<GLint
>(15), cmd
.y
);
437 EXPECT_EQ(static_cast<GLsizei
>(16), cmd
.width
);
438 EXPECT_EQ(static_cast<GLsizei
>(17), cmd
.height
);
439 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
442 TEST_F(GLES2FormatTest
, CopyTexSubImage2D
) {
443 cmds::CopyTexSubImage2D
& cmd
= *GetBufferAs
<cmds::CopyTexSubImage2D
>();
444 void* next_cmd
= cmd
.Set(&cmd
,
445 static_cast<GLenum
>(11),
446 static_cast<GLint
>(12),
447 static_cast<GLint
>(13),
448 static_cast<GLint
>(14),
449 static_cast<GLint
>(15),
450 static_cast<GLint
>(16),
451 static_cast<GLsizei
>(17),
452 static_cast<GLsizei
>(18));
453 EXPECT_EQ(static_cast<uint32_t>(cmds::CopyTexSubImage2D::kCmdId
),
455 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
456 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
457 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
458 EXPECT_EQ(static_cast<GLint
>(13), cmd
.xoffset
);
459 EXPECT_EQ(static_cast<GLint
>(14), cmd
.yoffset
);
460 EXPECT_EQ(static_cast<GLint
>(15), cmd
.x
);
461 EXPECT_EQ(static_cast<GLint
>(16), cmd
.y
);
462 EXPECT_EQ(static_cast<GLsizei
>(17), cmd
.width
);
463 EXPECT_EQ(static_cast<GLsizei
>(18), cmd
.height
);
464 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
467 TEST_F(GLES2FormatTest
, CreateProgram
) {
468 cmds::CreateProgram
& cmd
= *GetBufferAs
<cmds::CreateProgram
>();
469 void* next_cmd
= cmd
.Set(&cmd
, static_cast<uint32_t>(11));
470 EXPECT_EQ(static_cast<uint32_t>(cmds::CreateProgram::kCmdId
),
472 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
473 EXPECT_EQ(static_cast<uint32_t>(11), cmd
.client_id
);
474 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
477 TEST_F(GLES2FormatTest
, CreateShader
) {
478 cmds::CreateShader
& cmd
= *GetBufferAs
<cmds::CreateShader
>();
480 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<uint32_t>(12));
481 EXPECT_EQ(static_cast<uint32_t>(cmds::CreateShader::kCmdId
),
483 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
484 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.type
);
485 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.client_id
);
486 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
489 TEST_F(GLES2FormatTest
, CullFace
) {
490 cmds::CullFace
& cmd
= *GetBufferAs
<cmds::CullFace
>();
491 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
492 EXPECT_EQ(static_cast<uint32_t>(cmds::CullFace::kCmdId
), cmd
.header
.command
);
493 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
494 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
495 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
498 TEST_F(GLES2FormatTest
, DeleteBuffersImmediate
) {
499 static GLuint ids
[] = {
502 cmds::DeleteBuffersImmediate
& cmd
=
503 *GetBufferAs
<cmds::DeleteBuffersImmediate
>();
504 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
505 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteBuffersImmediate::kCmdId
),
507 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
508 cmd
.header
.size
* 4u);
509 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
510 CheckBytesWrittenMatchesExpectedSize(
512 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
513 // TODO(gman): Check that ids were inserted;
516 TEST_F(GLES2FormatTest
, DeleteFramebuffersImmediate
) {
517 static GLuint ids
[] = {
520 cmds::DeleteFramebuffersImmediate
& cmd
=
521 *GetBufferAs
<cmds::DeleteFramebuffersImmediate
>();
522 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
523 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteFramebuffersImmediate::kCmdId
),
525 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
526 cmd
.header
.size
* 4u);
527 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
528 CheckBytesWrittenMatchesExpectedSize(
530 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
531 // TODO(gman): Check that ids were inserted;
534 TEST_F(GLES2FormatTest
, DeleteProgram
) {
535 cmds::DeleteProgram
& cmd
= *GetBufferAs
<cmds::DeleteProgram
>();
536 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
537 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteProgram::kCmdId
),
539 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
540 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
541 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
544 TEST_F(GLES2FormatTest
, DeleteRenderbuffersImmediate
) {
545 static GLuint ids
[] = {
548 cmds::DeleteRenderbuffersImmediate
& cmd
=
549 *GetBufferAs
<cmds::DeleteRenderbuffersImmediate
>();
550 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
551 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteRenderbuffersImmediate::kCmdId
),
553 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
554 cmd
.header
.size
* 4u);
555 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
556 CheckBytesWrittenMatchesExpectedSize(
558 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
559 // TODO(gman): Check that ids were inserted;
562 TEST_F(GLES2FormatTest
, DeleteShader
) {
563 cmds::DeleteShader
& cmd
= *GetBufferAs
<cmds::DeleteShader
>();
564 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
565 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteShader::kCmdId
),
567 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
568 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
569 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
572 TEST_F(GLES2FormatTest
, DeleteTexturesImmediate
) {
573 static GLuint ids
[] = {
576 cmds::DeleteTexturesImmediate
& cmd
=
577 *GetBufferAs
<cmds::DeleteTexturesImmediate
>();
578 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
579 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteTexturesImmediate::kCmdId
),
581 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
582 cmd
.header
.size
* 4u);
583 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
584 CheckBytesWrittenMatchesExpectedSize(
586 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
587 // TODO(gman): Check that ids were inserted;
590 TEST_F(GLES2FormatTest
, DepthFunc
) {
591 cmds::DepthFunc
& cmd
= *GetBufferAs
<cmds::DepthFunc
>();
592 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
593 EXPECT_EQ(static_cast<uint32_t>(cmds::DepthFunc::kCmdId
), cmd
.header
.command
);
594 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
595 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.func
);
596 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
599 TEST_F(GLES2FormatTest
, DepthMask
) {
600 cmds::DepthMask
& cmd
= *GetBufferAs
<cmds::DepthMask
>();
601 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLboolean
>(11));
602 EXPECT_EQ(static_cast<uint32_t>(cmds::DepthMask::kCmdId
), cmd
.header
.command
);
603 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
604 EXPECT_EQ(static_cast<GLboolean
>(11), cmd
.flag
);
605 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
608 TEST_F(GLES2FormatTest
, DepthRangef
) {
609 cmds::DepthRangef
& cmd
= *GetBufferAs
<cmds::DepthRangef
>();
611 cmd
.Set(&cmd
, static_cast<GLclampf
>(11), static_cast<GLclampf
>(12));
612 EXPECT_EQ(static_cast<uint32_t>(cmds::DepthRangef::kCmdId
),
614 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
615 EXPECT_EQ(static_cast<GLclampf
>(11), cmd
.zNear
);
616 EXPECT_EQ(static_cast<GLclampf
>(12), cmd
.zFar
);
617 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
620 TEST_F(GLES2FormatTest
, DetachShader
) {
621 cmds::DetachShader
& cmd
= *GetBufferAs
<cmds::DetachShader
>();
623 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<GLuint
>(12));
624 EXPECT_EQ(static_cast<uint32_t>(cmds::DetachShader::kCmdId
),
626 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
627 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
628 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.shader
);
629 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
632 TEST_F(GLES2FormatTest
, Disable
) {
633 cmds::Disable
& cmd
= *GetBufferAs
<cmds::Disable
>();
634 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
635 EXPECT_EQ(static_cast<uint32_t>(cmds::Disable::kCmdId
), cmd
.header
.command
);
636 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
637 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.cap
);
638 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
641 TEST_F(GLES2FormatTest
, DisableVertexAttribArray
) {
642 cmds::DisableVertexAttribArray
& cmd
=
643 *GetBufferAs
<cmds::DisableVertexAttribArray
>();
644 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
645 EXPECT_EQ(static_cast<uint32_t>(cmds::DisableVertexAttribArray::kCmdId
),
647 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
648 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.index
);
649 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
652 TEST_F(GLES2FormatTest
, DrawArrays
) {
653 cmds::DrawArrays
& cmd
= *GetBufferAs
<cmds::DrawArrays
>();
654 void* next_cmd
= cmd
.Set(&cmd
,
655 static_cast<GLenum
>(11),
656 static_cast<GLint
>(12),
657 static_cast<GLsizei
>(13));
658 EXPECT_EQ(static_cast<uint32_t>(cmds::DrawArrays::kCmdId
),
660 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
661 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
662 EXPECT_EQ(static_cast<GLint
>(12), cmd
.first
);
663 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.count
);
664 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
667 TEST_F(GLES2FormatTest
, DrawElements
) {
668 cmds::DrawElements
& cmd
= *GetBufferAs
<cmds::DrawElements
>();
669 void* next_cmd
= cmd
.Set(&cmd
,
670 static_cast<GLenum
>(11),
671 static_cast<GLsizei
>(12),
672 static_cast<GLenum
>(13),
673 static_cast<GLuint
>(14));
674 EXPECT_EQ(static_cast<uint32_t>(cmds::DrawElements::kCmdId
),
676 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
677 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
678 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.count
);
679 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.type
);
680 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.index_offset
);
681 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
684 TEST_F(GLES2FormatTest
, Enable
) {
685 cmds::Enable
& cmd
= *GetBufferAs
<cmds::Enable
>();
686 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
687 EXPECT_EQ(static_cast<uint32_t>(cmds::Enable::kCmdId
), cmd
.header
.command
);
688 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
689 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.cap
);
690 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
693 TEST_F(GLES2FormatTest
, EnableVertexAttribArray
) {
694 cmds::EnableVertexAttribArray
& cmd
=
695 *GetBufferAs
<cmds::EnableVertexAttribArray
>();
696 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
697 EXPECT_EQ(static_cast<uint32_t>(cmds::EnableVertexAttribArray::kCmdId
),
699 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
700 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.index
);
701 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
704 TEST_F(GLES2FormatTest
, Finish
) {
705 cmds::Finish
& cmd
= *GetBufferAs
<cmds::Finish
>();
706 void* next_cmd
= cmd
.Set(&cmd
);
707 EXPECT_EQ(static_cast<uint32_t>(cmds::Finish::kCmdId
), cmd
.header
.command
);
708 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
709 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
712 TEST_F(GLES2FormatTest
, Flush
) {
713 cmds::Flush
& cmd
= *GetBufferAs
<cmds::Flush
>();
714 void* next_cmd
= cmd
.Set(&cmd
);
715 EXPECT_EQ(static_cast<uint32_t>(cmds::Flush::kCmdId
), cmd
.header
.command
);
716 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
717 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
720 TEST_F(GLES2FormatTest
, FramebufferRenderbuffer
) {
721 cmds::FramebufferRenderbuffer
& cmd
=
722 *GetBufferAs
<cmds::FramebufferRenderbuffer
>();
723 void* next_cmd
= cmd
.Set(&cmd
,
724 static_cast<GLenum
>(11),
725 static_cast<GLenum
>(12),
726 static_cast<GLenum
>(13),
727 static_cast<GLuint
>(14));
728 EXPECT_EQ(static_cast<uint32_t>(cmds::FramebufferRenderbuffer::kCmdId
),
730 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
731 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
732 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.attachment
);
733 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.renderbuffertarget
);
734 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.renderbuffer
);
735 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
738 TEST_F(GLES2FormatTest
, FramebufferTexture2D
) {
739 cmds::FramebufferTexture2D
& cmd
= *GetBufferAs
<cmds::FramebufferTexture2D
>();
740 void* next_cmd
= cmd
.Set(&cmd
,
741 static_cast<GLenum
>(11),
742 static_cast<GLenum
>(12),
743 static_cast<GLenum
>(13),
744 static_cast<GLuint
>(14));
745 EXPECT_EQ(static_cast<uint32_t>(cmds::FramebufferTexture2D::kCmdId
),
747 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
748 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
749 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.attachment
);
750 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.textarget
);
751 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.texture
);
752 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
755 TEST_F(GLES2FormatTest
, FrontFace
) {
756 cmds::FrontFace
& cmd
= *GetBufferAs
<cmds::FrontFace
>();
757 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
758 EXPECT_EQ(static_cast<uint32_t>(cmds::FrontFace::kCmdId
), cmd
.header
.command
);
759 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
760 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
761 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
764 TEST_F(GLES2FormatTest
, GenBuffersImmediate
) {
765 static GLuint ids
[] = {
768 cmds::GenBuffersImmediate
& cmd
= *GetBufferAs
<cmds::GenBuffersImmediate
>();
769 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
770 EXPECT_EQ(static_cast<uint32_t>(cmds::GenBuffersImmediate::kCmdId
),
772 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
773 cmd
.header
.size
* 4u);
774 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
775 CheckBytesWrittenMatchesExpectedSize(
777 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
778 // TODO(gman): Check that ids were inserted;
781 TEST_F(GLES2FormatTest
, GenerateMipmap
) {
782 cmds::GenerateMipmap
& cmd
= *GetBufferAs
<cmds::GenerateMipmap
>();
783 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
784 EXPECT_EQ(static_cast<uint32_t>(cmds::GenerateMipmap::kCmdId
),
786 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
787 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
788 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
791 TEST_F(GLES2FormatTest
, GenFramebuffersImmediate
) {
792 static GLuint ids
[] = {
795 cmds::GenFramebuffersImmediate
& cmd
=
796 *GetBufferAs
<cmds::GenFramebuffersImmediate
>();
797 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
798 EXPECT_EQ(static_cast<uint32_t>(cmds::GenFramebuffersImmediate::kCmdId
),
800 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
801 cmd
.header
.size
* 4u);
802 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
803 CheckBytesWrittenMatchesExpectedSize(
805 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
806 // TODO(gman): Check that ids were inserted;
809 TEST_F(GLES2FormatTest
, GenRenderbuffersImmediate
) {
810 static GLuint ids
[] = {
813 cmds::GenRenderbuffersImmediate
& cmd
=
814 *GetBufferAs
<cmds::GenRenderbuffersImmediate
>();
815 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
816 EXPECT_EQ(static_cast<uint32_t>(cmds::GenRenderbuffersImmediate::kCmdId
),
818 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
819 cmd
.header
.size
* 4u);
820 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
821 CheckBytesWrittenMatchesExpectedSize(
823 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
824 // TODO(gman): Check that ids were inserted;
827 TEST_F(GLES2FormatTest
, GenTexturesImmediate
) {
828 static GLuint ids
[] = {
831 cmds::GenTexturesImmediate
& cmd
= *GetBufferAs
<cmds::GenTexturesImmediate
>();
832 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
833 EXPECT_EQ(static_cast<uint32_t>(cmds::GenTexturesImmediate::kCmdId
),
835 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
836 cmd
.header
.size
* 4u);
837 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
838 CheckBytesWrittenMatchesExpectedSize(
840 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
841 // TODO(gman): Check that ids were inserted;
844 TEST_F(GLES2FormatTest
, GetActiveAttrib
) {
845 cmds::GetActiveAttrib
& cmd
= *GetBufferAs
<cmds::GetActiveAttrib
>();
846 void* next_cmd
= cmd
.Set(&cmd
,
847 static_cast<GLuint
>(11),
848 static_cast<GLuint
>(12),
849 static_cast<uint32_t>(13),
850 static_cast<uint32_t>(14),
851 static_cast<uint32_t>(15));
852 EXPECT_EQ(static_cast<uint32_t>(cmds::GetActiveAttrib::kCmdId
),
854 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
855 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
856 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.index
);
857 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.name_bucket_id
);
858 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.result_shm_id
);
859 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.result_shm_offset
);
860 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
863 TEST_F(GLES2FormatTest
, GetActiveUniform
) {
864 cmds::GetActiveUniform
& cmd
= *GetBufferAs
<cmds::GetActiveUniform
>();
865 void* next_cmd
= cmd
.Set(&cmd
,
866 static_cast<GLuint
>(11),
867 static_cast<GLuint
>(12),
868 static_cast<uint32_t>(13),
869 static_cast<uint32_t>(14),
870 static_cast<uint32_t>(15));
871 EXPECT_EQ(static_cast<uint32_t>(cmds::GetActiveUniform::kCmdId
),
873 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
874 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
875 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.index
);
876 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.name_bucket_id
);
877 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.result_shm_id
);
878 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.result_shm_offset
);
879 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
882 TEST_F(GLES2FormatTest
, GetAttachedShaders
) {
883 cmds::GetAttachedShaders
& cmd
= *GetBufferAs
<cmds::GetAttachedShaders
>();
884 void* next_cmd
= cmd
.Set(&cmd
,
885 static_cast<GLuint
>(11),
886 static_cast<uint32_t>(12),
887 static_cast<uint32_t>(13),
888 static_cast<uint32_t>(14));
889 EXPECT_EQ(static_cast<uint32_t>(cmds::GetAttachedShaders::kCmdId
),
891 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
892 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
893 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
894 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
895 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.result_size
);
896 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
899 // TODO(gman): Write test for GetAttribLocation
900 // TODO(gman): Write test for GetAttribLocationBucket
901 TEST_F(GLES2FormatTest
, GetBooleanv
) {
902 cmds::GetBooleanv
& cmd
= *GetBufferAs
<cmds::GetBooleanv
>();
903 void* next_cmd
= cmd
.Set(&cmd
,
904 static_cast<GLenum
>(11),
905 static_cast<uint32_t>(12),
906 static_cast<uint32_t>(13));
907 EXPECT_EQ(static_cast<uint32_t>(cmds::GetBooleanv::kCmdId
),
909 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
910 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.pname
);
911 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.params_shm_id
);
912 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_offset
);
913 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
916 TEST_F(GLES2FormatTest
, GetBufferParameteriv
) {
917 cmds::GetBufferParameteriv
& cmd
= *GetBufferAs
<cmds::GetBufferParameteriv
>();
918 void* next_cmd
= cmd
.Set(&cmd
,
919 static_cast<GLenum
>(11),
920 static_cast<GLenum
>(12),
921 static_cast<uint32_t>(13),
922 static_cast<uint32_t>(14));
923 EXPECT_EQ(static_cast<uint32_t>(cmds::GetBufferParameteriv::kCmdId
),
925 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
926 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
927 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
928 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
929 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
930 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
933 TEST_F(GLES2FormatTest
, GetError
) {
934 cmds::GetError
& cmd
= *GetBufferAs
<cmds::GetError
>();
936 cmd
.Set(&cmd
, static_cast<uint32_t>(11), static_cast<uint32_t>(12));
937 EXPECT_EQ(static_cast<uint32_t>(cmds::GetError::kCmdId
), cmd
.header
.command
);
938 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
939 EXPECT_EQ(static_cast<uint32_t>(11), cmd
.result_shm_id
);
940 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_offset
);
941 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
944 TEST_F(GLES2FormatTest
, GetFloatv
) {
945 cmds::GetFloatv
& cmd
= *GetBufferAs
<cmds::GetFloatv
>();
946 void* next_cmd
= cmd
.Set(&cmd
,
947 static_cast<GLenum
>(11),
948 static_cast<uint32_t>(12),
949 static_cast<uint32_t>(13));
950 EXPECT_EQ(static_cast<uint32_t>(cmds::GetFloatv::kCmdId
), cmd
.header
.command
);
951 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
952 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.pname
);
953 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.params_shm_id
);
954 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_offset
);
955 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
958 TEST_F(GLES2FormatTest
, GetFramebufferAttachmentParameteriv
) {
959 cmds::GetFramebufferAttachmentParameteriv
& cmd
=
960 *GetBufferAs
<cmds::GetFramebufferAttachmentParameteriv
>();
961 void* next_cmd
= cmd
.Set(&cmd
,
962 static_cast<GLenum
>(11),
963 static_cast<GLenum
>(12),
964 static_cast<GLenum
>(13),
965 static_cast<uint32_t>(14),
966 static_cast<uint32_t>(15));
968 static_cast<uint32_t>(cmds::GetFramebufferAttachmentParameteriv::kCmdId
),
970 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
971 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
972 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.attachment
);
973 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.pname
);
974 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_id
);
975 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.params_shm_offset
);
976 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
979 TEST_F(GLES2FormatTest
, GetIntegerv
) {
980 cmds::GetIntegerv
& cmd
= *GetBufferAs
<cmds::GetIntegerv
>();
981 void* next_cmd
= cmd
.Set(&cmd
,
982 static_cast<GLenum
>(11),
983 static_cast<uint32_t>(12),
984 static_cast<uint32_t>(13));
985 EXPECT_EQ(static_cast<uint32_t>(cmds::GetIntegerv::kCmdId
),
987 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
988 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.pname
);
989 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.params_shm_id
);
990 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_offset
);
991 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
994 TEST_F(GLES2FormatTest
, GetProgramiv
) {
995 cmds::GetProgramiv
& cmd
= *GetBufferAs
<cmds::GetProgramiv
>();
996 void* next_cmd
= cmd
.Set(&cmd
,
997 static_cast<GLuint
>(11),
998 static_cast<GLenum
>(12),
999 static_cast<uint32_t>(13),
1000 static_cast<uint32_t>(14));
1001 EXPECT_EQ(static_cast<uint32_t>(cmds::GetProgramiv::kCmdId
),
1002 cmd
.header
.command
);
1003 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1004 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
1005 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1006 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1007 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1008 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1011 TEST_F(GLES2FormatTest
, GetProgramInfoLog
) {
1012 cmds::GetProgramInfoLog
& cmd
= *GetBufferAs
<cmds::GetProgramInfoLog
>();
1014 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<uint32_t>(12));
1015 EXPECT_EQ(static_cast<uint32_t>(cmds::GetProgramInfoLog::kCmdId
),
1016 cmd
.header
.command
);
1017 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1018 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
1019 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.bucket_id
);
1020 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1023 TEST_F(GLES2FormatTest
, GetRenderbufferParameteriv
) {
1024 cmds::GetRenderbufferParameteriv
& cmd
=
1025 *GetBufferAs
<cmds::GetRenderbufferParameteriv
>();
1026 void* next_cmd
= cmd
.Set(&cmd
,
1027 static_cast<GLenum
>(11),
1028 static_cast<GLenum
>(12),
1029 static_cast<uint32_t>(13),
1030 static_cast<uint32_t>(14));
1031 EXPECT_EQ(static_cast<uint32_t>(cmds::GetRenderbufferParameteriv::kCmdId
),
1032 cmd
.header
.command
);
1033 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1034 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1035 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1036 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1037 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1038 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1041 TEST_F(GLES2FormatTest
, GetShaderiv
) {
1042 cmds::GetShaderiv
& cmd
= *GetBufferAs
<cmds::GetShaderiv
>();
1043 void* next_cmd
= cmd
.Set(&cmd
,
1044 static_cast<GLuint
>(11),
1045 static_cast<GLenum
>(12),
1046 static_cast<uint32_t>(13),
1047 static_cast<uint32_t>(14));
1048 EXPECT_EQ(static_cast<uint32_t>(cmds::GetShaderiv::kCmdId
),
1049 cmd
.header
.command
);
1050 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1051 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
1052 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1053 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1054 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1055 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1058 TEST_F(GLES2FormatTest
, GetShaderInfoLog
) {
1059 cmds::GetShaderInfoLog
& cmd
= *GetBufferAs
<cmds::GetShaderInfoLog
>();
1061 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<uint32_t>(12));
1062 EXPECT_EQ(static_cast<uint32_t>(cmds::GetShaderInfoLog::kCmdId
),
1063 cmd
.header
.command
);
1064 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1065 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
1066 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.bucket_id
);
1067 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1070 TEST_F(GLES2FormatTest
, GetShaderPrecisionFormat
) {
1071 cmds::GetShaderPrecisionFormat
& cmd
=
1072 *GetBufferAs
<cmds::GetShaderPrecisionFormat
>();
1073 void* next_cmd
= cmd
.Set(&cmd
,
1074 static_cast<GLenum
>(11),
1075 static_cast<GLenum
>(12),
1076 static_cast<uint32_t>(13),
1077 static_cast<uint32_t>(14));
1078 EXPECT_EQ(static_cast<uint32_t>(cmds::GetShaderPrecisionFormat::kCmdId
),
1079 cmd
.header
.command
);
1080 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1081 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.shadertype
);
1082 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.precisiontype
);
1083 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_id
);
1084 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.result_shm_offset
);
1085 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1088 TEST_F(GLES2FormatTest
, GetShaderSource
) {
1089 cmds::GetShaderSource
& cmd
= *GetBufferAs
<cmds::GetShaderSource
>();
1091 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<uint32_t>(12));
1092 EXPECT_EQ(static_cast<uint32_t>(cmds::GetShaderSource::kCmdId
),
1093 cmd
.header
.command
);
1094 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1095 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
1096 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.bucket_id
);
1097 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1100 TEST_F(GLES2FormatTest
, GetString
) {
1101 cmds::GetString
& cmd
= *GetBufferAs
<cmds::GetString
>();
1103 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<uint32_t>(12));
1104 EXPECT_EQ(static_cast<uint32_t>(cmds::GetString::kCmdId
), cmd
.header
.command
);
1105 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1106 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.name
);
1107 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.bucket_id
);
1108 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1111 TEST_F(GLES2FormatTest
, GetTexParameterfv
) {
1112 cmds::GetTexParameterfv
& cmd
= *GetBufferAs
<cmds::GetTexParameterfv
>();
1113 void* next_cmd
= cmd
.Set(&cmd
,
1114 static_cast<GLenum
>(11),
1115 static_cast<GLenum
>(12),
1116 static_cast<uint32_t>(13),
1117 static_cast<uint32_t>(14));
1118 EXPECT_EQ(static_cast<uint32_t>(cmds::GetTexParameterfv::kCmdId
),
1119 cmd
.header
.command
);
1120 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1121 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1122 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1123 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1124 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1125 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1128 TEST_F(GLES2FormatTest
, GetTexParameteriv
) {
1129 cmds::GetTexParameteriv
& cmd
= *GetBufferAs
<cmds::GetTexParameteriv
>();
1130 void* next_cmd
= cmd
.Set(&cmd
,
1131 static_cast<GLenum
>(11),
1132 static_cast<GLenum
>(12),
1133 static_cast<uint32_t>(13),
1134 static_cast<uint32_t>(14));
1135 EXPECT_EQ(static_cast<uint32_t>(cmds::GetTexParameteriv::kCmdId
),
1136 cmd
.header
.command
);
1137 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1138 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1139 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1140 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1141 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1142 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1145 TEST_F(GLES2FormatTest
, GetUniformfv
) {
1146 cmds::GetUniformfv
& cmd
= *GetBufferAs
<cmds::GetUniformfv
>();
1147 void* next_cmd
= cmd
.Set(&cmd
,
1148 static_cast<GLuint
>(11),
1149 static_cast<GLint
>(12),
1150 static_cast<uint32_t>(13),
1151 static_cast<uint32_t>(14));
1152 EXPECT_EQ(static_cast<uint32_t>(cmds::GetUniformfv::kCmdId
),
1153 cmd
.header
.command
);
1154 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1155 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
1156 EXPECT_EQ(static_cast<GLint
>(12), cmd
.location
);
1157 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1158 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1159 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1162 TEST_F(GLES2FormatTest
, GetUniformiv
) {
1163 cmds::GetUniformiv
& cmd
= *GetBufferAs
<cmds::GetUniformiv
>();
1164 void* next_cmd
= cmd
.Set(&cmd
,
1165 static_cast<GLuint
>(11),
1166 static_cast<GLint
>(12),
1167 static_cast<uint32_t>(13),
1168 static_cast<uint32_t>(14));
1169 EXPECT_EQ(static_cast<uint32_t>(cmds::GetUniformiv::kCmdId
),
1170 cmd
.header
.command
);
1171 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1172 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
1173 EXPECT_EQ(static_cast<GLint
>(12), cmd
.location
);
1174 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1175 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1176 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1179 // TODO(gman): Write test for GetUniformLocation
1180 // TODO(gman): Write test for GetUniformLocationBucket
1181 TEST_F(GLES2FormatTest
, GetVertexAttribfv
) {
1182 cmds::GetVertexAttribfv
& cmd
= *GetBufferAs
<cmds::GetVertexAttribfv
>();
1183 void* next_cmd
= cmd
.Set(&cmd
,
1184 static_cast<GLuint
>(11),
1185 static_cast<GLenum
>(12),
1186 static_cast<uint32_t>(13),
1187 static_cast<uint32_t>(14));
1188 EXPECT_EQ(static_cast<uint32_t>(cmds::GetVertexAttribfv::kCmdId
),
1189 cmd
.header
.command
);
1190 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1191 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.index
);
1192 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1193 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1194 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1195 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1198 TEST_F(GLES2FormatTest
, GetVertexAttribiv
) {
1199 cmds::GetVertexAttribiv
& cmd
= *GetBufferAs
<cmds::GetVertexAttribiv
>();
1200 void* next_cmd
= cmd
.Set(&cmd
,
1201 static_cast<GLuint
>(11),
1202 static_cast<GLenum
>(12),
1203 static_cast<uint32_t>(13),
1204 static_cast<uint32_t>(14));
1205 EXPECT_EQ(static_cast<uint32_t>(cmds::GetVertexAttribiv::kCmdId
),
1206 cmd
.header
.command
);
1207 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1208 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.index
);
1209 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1210 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.params_shm_id
);
1211 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.params_shm_offset
);
1212 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1215 TEST_F(GLES2FormatTest
, GetVertexAttribPointerv
) {
1216 cmds::GetVertexAttribPointerv
& cmd
=
1217 *GetBufferAs
<cmds::GetVertexAttribPointerv
>();
1218 void* next_cmd
= cmd
.Set(&cmd
,
1219 static_cast<GLuint
>(11),
1220 static_cast<GLenum
>(12),
1221 static_cast<uint32_t>(13),
1222 static_cast<uint32_t>(14));
1223 EXPECT_EQ(static_cast<uint32_t>(cmds::GetVertexAttribPointerv::kCmdId
),
1224 cmd
.header
.command
);
1225 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1226 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.index
);
1227 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1228 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.pointer_shm_id
);
1229 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.pointer_shm_offset
);
1230 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1233 TEST_F(GLES2FormatTest
, Hint
) {
1234 cmds::Hint
& cmd
= *GetBufferAs
<cmds::Hint
>();
1236 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLenum
>(12));
1237 EXPECT_EQ(static_cast<uint32_t>(cmds::Hint::kCmdId
), cmd
.header
.command
);
1238 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1239 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1240 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.mode
);
1241 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1244 TEST_F(GLES2FormatTest
, IsBuffer
) {
1245 cmds::IsBuffer
& cmd
= *GetBufferAs
<cmds::IsBuffer
>();
1246 void* next_cmd
= cmd
.Set(&cmd
,
1247 static_cast<GLuint
>(11),
1248 static_cast<uint32_t>(12),
1249 static_cast<uint32_t>(13));
1250 EXPECT_EQ(static_cast<uint32_t>(cmds::IsBuffer::kCmdId
), cmd
.header
.command
);
1251 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1252 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.buffer
);
1253 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1254 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1255 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1258 TEST_F(GLES2FormatTest
, IsEnabled
) {
1259 cmds::IsEnabled
& cmd
= *GetBufferAs
<cmds::IsEnabled
>();
1260 void* next_cmd
= cmd
.Set(&cmd
,
1261 static_cast<GLenum
>(11),
1262 static_cast<uint32_t>(12),
1263 static_cast<uint32_t>(13));
1264 EXPECT_EQ(static_cast<uint32_t>(cmds::IsEnabled::kCmdId
), cmd
.header
.command
);
1265 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1266 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.cap
);
1267 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1268 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1269 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1272 TEST_F(GLES2FormatTest
, IsFramebuffer
) {
1273 cmds::IsFramebuffer
& cmd
= *GetBufferAs
<cmds::IsFramebuffer
>();
1274 void* next_cmd
= cmd
.Set(&cmd
,
1275 static_cast<GLuint
>(11),
1276 static_cast<uint32_t>(12),
1277 static_cast<uint32_t>(13));
1278 EXPECT_EQ(static_cast<uint32_t>(cmds::IsFramebuffer::kCmdId
),
1279 cmd
.header
.command
);
1280 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1281 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.framebuffer
);
1282 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1283 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1284 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1287 TEST_F(GLES2FormatTest
, IsProgram
) {
1288 cmds::IsProgram
& cmd
= *GetBufferAs
<cmds::IsProgram
>();
1289 void* next_cmd
= cmd
.Set(&cmd
,
1290 static_cast<GLuint
>(11),
1291 static_cast<uint32_t>(12),
1292 static_cast<uint32_t>(13));
1293 EXPECT_EQ(static_cast<uint32_t>(cmds::IsProgram::kCmdId
), cmd
.header
.command
);
1294 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1295 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
1296 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1297 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1298 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1301 TEST_F(GLES2FormatTest
, IsRenderbuffer
) {
1302 cmds::IsRenderbuffer
& cmd
= *GetBufferAs
<cmds::IsRenderbuffer
>();
1303 void* next_cmd
= cmd
.Set(&cmd
,
1304 static_cast<GLuint
>(11),
1305 static_cast<uint32_t>(12),
1306 static_cast<uint32_t>(13));
1307 EXPECT_EQ(static_cast<uint32_t>(cmds::IsRenderbuffer::kCmdId
),
1308 cmd
.header
.command
);
1309 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1310 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.renderbuffer
);
1311 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1312 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1313 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1316 TEST_F(GLES2FormatTest
, IsShader
) {
1317 cmds::IsShader
& cmd
= *GetBufferAs
<cmds::IsShader
>();
1318 void* next_cmd
= cmd
.Set(&cmd
,
1319 static_cast<GLuint
>(11),
1320 static_cast<uint32_t>(12),
1321 static_cast<uint32_t>(13));
1322 EXPECT_EQ(static_cast<uint32_t>(cmds::IsShader::kCmdId
), cmd
.header
.command
);
1323 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1324 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
1325 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1326 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1327 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1330 TEST_F(GLES2FormatTest
, IsTexture
) {
1331 cmds::IsTexture
& cmd
= *GetBufferAs
<cmds::IsTexture
>();
1332 void* next_cmd
= cmd
.Set(&cmd
,
1333 static_cast<GLuint
>(11),
1334 static_cast<uint32_t>(12),
1335 static_cast<uint32_t>(13));
1336 EXPECT_EQ(static_cast<uint32_t>(cmds::IsTexture::kCmdId
), cmd
.header
.command
);
1337 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1338 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.texture
);
1339 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
1340 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
1341 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1344 TEST_F(GLES2FormatTest
, LineWidth
) {
1345 cmds::LineWidth
& cmd
= *GetBufferAs
<cmds::LineWidth
>();
1346 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLfloat
>(11));
1347 EXPECT_EQ(static_cast<uint32_t>(cmds::LineWidth::kCmdId
), cmd
.header
.command
);
1348 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1349 EXPECT_EQ(static_cast<GLfloat
>(11), cmd
.width
);
1350 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1353 TEST_F(GLES2FormatTest
, LinkProgram
) {
1354 cmds::LinkProgram
& cmd
= *GetBufferAs
<cmds::LinkProgram
>();
1355 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
1356 EXPECT_EQ(static_cast<uint32_t>(cmds::LinkProgram::kCmdId
),
1357 cmd
.header
.command
);
1358 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1359 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
1360 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1363 TEST_F(GLES2FormatTest
, PixelStorei
) {
1364 cmds::PixelStorei
& cmd
= *GetBufferAs
<cmds::PixelStorei
>();
1366 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLint
>(12));
1367 EXPECT_EQ(static_cast<uint32_t>(cmds::PixelStorei::kCmdId
),
1368 cmd
.header
.command
);
1369 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1370 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.pname
);
1371 EXPECT_EQ(static_cast<GLint
>(12), cmd
.param
);
1372 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1375 TEST_F(GLES2FormatTest
, PolygonOffset
) {
1376 cmds::PolygonOffset
& cmd
= *GetBufferAs
<cmds::PolygonOffset
>();
1378 cmd
.Set(&cmd
, static_cast<GLfloat
>(11), static_cast<GLfloat
>(12));
1379 EXPECT_EQ(static_cast<uint32_t>(cmds::PolygonOffset::kCmdId
),
1380 cmd
.header
.command
);
1381 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1382 EXPECT_EQ(static_cast<GLfloat
>(11), cmd
.factor
);
1383 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.units
);
1384 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1387 TEST_F(GLES2FormatTest
, ReadPixels
) {
1388 cmds::ReadPixels
& cmd
= *GetBufferAs
<cmds::ReadPixels
>();
1389 void* next_cmd
= cmd
.Set(&cmd
,
1390 static_cast<GLint
>(11),
1391 static_cast<GLint
>(12),
1392 static_cast<GLsizei
>(13),
1393 static_cast<GLsizei
>(14),
1394 static_cast<GLenum
>(15),
1395 static_cast<GLenum
>(16),
1396 static_cast<uint32_t>(17),
1397 static_cast<uint32_t>(18),
1398 static_cast<uint32_t>(19),
1399 static_cast<uint32_t>(20),
1400 static_cast<GLboolean
>(21));
1401 EXPECT_EQ(static_cast<uint32_t>(cmds::ReadPixels::kCmdId
),
1402 cmd
.header
.command
);
1403 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1404 EXPECT_EQ(static_cast<GLint
>(11), cmd
.x
);
1405 EXPECT_EQ(static_cast<GLint
>(12), cmd
.y
);
1406 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.width
);
1407 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.height
);
1408 EXPECT_EQ(static_cast<GLenum
>(15), cmd
.format
);
1409 EXPECT_EQ(static_cast<GLenum
>(16), cmd
.type
);
1410 EXPECT_EQ(static_cast<uint32_t>(17), cmd
.pixels_shm_id
);
1411 EXPECT_EQ(static_cast<uint32_t>(18), cmd
.pixels_shm_offset
);
1412 EXPECT_EQ(static_cast<uint32_t>(19), cmd
.result_shm_id
);
1413 EXPECT_EQ(static_cast<uint32_t>(20), cmd
.result_shm_offset
);
1414 EXPECT_EQ(static_cast<GLboolean
>(21), cmd
.async
);
1415 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1418 TEST_F(GLES2FormatTest
, ReleaseShaderCompiler
) {
1419 cmds::ReleaseShaderCompiler
& cmd
=
1420 *GetBufferAs
<cmds::ReleaseShaderCompiler
>();
1421 void* next_cmd
= cmd
.Set(&cmd
);
1422 EXPECT_EQ(static_cast<uint32_t>(cmds::ReleaseShaderCompiler::kCmdId
),
1423 cmd
.header
.command
);
1424 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1425 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1428 TEST_F(GLES2FormatTest
, RenderbufferStorage
) {
1429 cmds::RenderbufferStorage
& cmd
= *GetBufferAs
<cmds::RenderbufferStorage
>();
1430 void* next_cmd
= cmd
.Set(&cmd
,
1431 static_cast<GLenum
>(11),
1432 static_cast<GLenum
>(12),
1433 static_cast<GLsizei
>(13),
1434 static_cast<GLsizei
>(14));
1435 EXPECT_EQ(static_cast<uint32_t>(cmds::RenderbufferStorage::kCmdId
),
1436 cmd
.header
.command
);
1437 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1438 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1439 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.internalformat
);
1440 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.width
);
1441 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.height
);
1442 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1445 TEST_F(GLES2FormatTest
, SampleCoverage
) {
1446 cmds::SampleCoverage
& cmd
= *GetBufferAs
<cmds::SampleCoverage
>();
1448 cmd
.Set(&cmd
, static_cast<GLclampf
>(11), static_cast<GLboolean
>(12));
1449 EXPECT_EQ(static_cast<uint32_t>(cmds::SampleCoverage::kCmdId
),
1450 cmd
.header
.command
);
1451 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1452 EXPECT_EQ(static_cast<GLclampf
>(11), cmd
.value
);
1453 EXPECT_EQ(static_cast<GLboolean
>(12), cmd
.invert
);
1454 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1457 TEST_F(GLES2FormatTest
, Scissor
) {
1458 cmds::Scissor
& cmd
= *GetBufferAs
<cmds::Scissor
>();
1459 void* next_cmd
= cmd
.Set(&cmd
,
1460 static_cast<GLint
>(11),
1461 static_cast<GLint
>(12),
1462 static_cast<GLsizei
>(13),
1463 static_cast<GLsizei
>(14));
1464 EXPECT_EQ(static_cast<uint32_t>(cmds::Scissor::kCmdId
), cmd
.header
.command
);
1465 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1466 EXPECT_EQ(static_cast<GLint
>(11), cmd
.x
);
1467 EXPECT_EQ(static_cast<GLint
>(12), cmd
.y
);
1468 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.width
);
1469 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.height
);
1470 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1473 TEST_F(GLES2FormatTest
, ShaderBinary
) {
1474 cmds::ShaderBinary
& cmd
= *GetBufferAs
<cmds::ShaderBinary
>();
1475 void* next_cmd
= cmd
.Set(&cmd
,
1476 static_cast<GLsizei
>(11),
1477 static_cast<uint32_t>(12),
1478 static_cast<uint32_t>(13),
1479 static_cast<GLenum
>(14),
1480 static_cast<uint32_t>(15),
1481 static_cast<uint32_t>(16),
1482 static_cast<GLsizei
>(17));
1483 EXPECT_EQ(static_cast<uint32_t>(cmds::ShaderBinary::kCmdId
),
1484 cmd
.header
.command
);
1485 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1486 EXPECT_EQ(static_cast<GLsizei
>(11), cmd
.n
);
1487 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.shaders_shm_id
);
1488 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.shaders_shm_offset
);
1489 EXPECT_EQ(static_cast<GLenum
>(14), cmd
.binaryformat
);
1490 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.binary_shm_id
);
1491 EXPECT_EQ(static_cast<uint32_t>(16), cmd
.binary_shm_offset
);
1492 EXPECT_EQ(static_cast<GLsizei
>(17), cmd
.length
);
1493 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1496 TEST_F(GLES2FormatTest
, ShaderSource
) {
1497 cmds::ShaderSource
& cmd
= *GetBufferAs
<cmds::ShaderSource
>();
1498 void* next_cmd
= cmd
.Set(&cmd
,
1499 static_cast<GLuint
>(11),
1500 static_cast<uint32_t>(12),
1501 static_cast<uint32_t>(13),
1502 static_cast<uint32_t>(14));
1503 EXPECT_EQ(static_cast<uint32_t>(cmds::ShaderSource::kCmdId
),
1504 cmd
.header
.command
);
1505 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1506 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
1507 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.data_shm_id
);
1508 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.data_shm_offset
);
1509 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.data_size
);
1510 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1513 TEST_F(GLES2FormatTest
, ShaderSourceBucket
) {
1514 cmds::ShaderSourceBucket
& cmd
= *GetBufferAs
<cmds::ShaderSourceBucket
>();
1516 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<uint32_t>(12));
1517 EXPECT_EQ(static_cast<uint32_t>(cmds::ShaderSourceBucket::kCmdId
),
1518 cmd
.header
.command
);
1519 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1520 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
1521 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.data_bucket_id
);
1522 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1525 TEST_F(GLES2FormatTest
, StencilFunc
) {
1526 cmds::StencilFunc
& cmd
= *GetBufferAs
<cmds::StencilFunc
>();
1527 void* next_cmd
= cmd
.Set(&cmd
,
1528 static_cast<GLenum
>(11),
1529 static_cast<GLint
>(12),
1530 static_cast<GLuint
>(13));
1531 EXPECT_EQ(static_cast<uint32_t>(cmds::StencilFunc::kCmdId
),
1532 cmd
.header
.command
);
1533 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1534 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.func
);
1535 EXPECT_EQ(static_cast<GLint
>(12), cmd
.ref
);
1536 EXPECT_EQ(static_cast<GLuint
>(13), cmd
.mask
);
1537 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1540 TEST_F(GLES2FormatTest
, StencilFuncSeparate
) {
1541 cmds::StencilFuncSeparate
& cmd
= *GetBufferAs
<cmds::StencilFuncSeparate
>();
1542 void* next_cmd
= cmd
.Set(&cmd
,
1543 static_cast<GLenum
>(11),
1544 static_cast<GLenum
>(12),
1545 static_cast<GLint
>(13),
1546 static_cast<GLuint
>(14));
1547 EXPECT_EQ(static_cast<uint32_t>(cmds::StencilFuncSeparate::kCmdId
),
1548 cmd
.header
.command
);
1549 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1550 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.face
);
1551 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.func
);
1552 EXPECT_EQ(static_cast<GLint
>(13), cmd
.ref
);
1553 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.mask
);
1554 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1557 TEST_F(GLES2FormatTest
, StencilMask
) {
1558 cmds::StencilMask
& cmd
= *GetBufferAs
<cmds::StencilMask
>();
1559 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
1560 EXPECT_EQ(static_cast<uint32_t>(cmds::StencilMask::kCmdId
),
1561 cmd
.header
.command
);
1562 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1563 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.mask
);
1564 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1567 TEST_F(GLES2FormatTest
, StencilMaskSeparate
) {
1568 cmds::StencilMaskSeparate
& cmd
= *GetBufferAs
<cmds::StencilMaskSeparate
>();
1570 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLuint
>(12));
1571 EXPECT_EQ(static_cast<uint32_t>(cmds::StencilMaskSeparate::kCmdId
),
1572 cmd
.header
.command
);
1573 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1574 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.face
);
1575 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.mask
);
1576 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1579 TEST_F(GLES2FormatTest
, StencilOp
) {
1580 cmds::StencilOp
& cmd
= *GetBufferAs
<cmds::StencilOp
>();
1581 void* next_cmd
= cmd
.Set(&cmd
,
1582 static_cast<GLenum
>(11),
1583 static_cast<GLenum
>(12),
1584 static_cast<GLenum
>(13));
1585 EXPECT_EQ(static_cast<uint32_t>(cmds::StencilOp::kCmdId
), cmd
.header
.command
);
1586 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1587 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.fail
);
1588 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.zfail
);
1589 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.zpass
);
1590 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1593 TEST_F(GLES2FormatTest
, StencilOpSeparate
) {
1594 cmds::StencilOpSeparate
& cmd
= *GetBufferAs
<cmds::StencilOpSeparate
>();
1595 void* next_cmd
= cmd
.Set(&cmd
,
1596 static_cast<GLenum
>(11),
1597 static_cast<GLenum
>(12),
1598 static_cast<GLenum
>(13),
1599 static_cast<GLenum
>(14));
1600 EXPECT_EQ(static_cast<uint32_t>(cmds::StencilOpSeparate::kCmdId
),
1601 cmd
.header
.command
);
1602 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1603 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.face
);
1604 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.fail
);
1605 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.zfail
);
1606 EXPECT_EQ(static_cast<GLenum
>(14), cmd
.zpass
);
1607 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1610 TEST_F(GLES2FormatTest
, TexImage2D
) {
1611 cmds::TexImage2D
& cmd
= *GetBufferAs
<cmds::TexImage2D
>();
1612 void* next_cmd
= cmd
.Set(&cmd
,
1613 static_cast<GLenum
>(11),
1614 static_cast<GLint
>(12),
1615 static_cast<GLint
>(13),
1616 static_cast<GLsizei
>(14),
1617 static_cast<GLsizei
>(15),
1618 static_cast<GLenum
>(16),
1619 static_cast<GLenum
>(17),
1620 static_cast<uint32_t>(18),
1621 static_cast<uint32_t>(19));
1622 EXPECT_EQ(static_cast<uint32_t>(cmds::TexImage2D::kCmdId
),
1623 cmd
.header
.command
);
1624 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1625 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1626 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
1627 EXPECT_EQ(static_cast<GLint
>(13), cmd
.internalformat
);
1628 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
1629 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
1630 EXPECT_EQ(static_cast<GLenum
>(16), cmd
.format
);
1631 EXPECT_EQ(static_cast<GLenum
>(17), cmd
.type
);
1632 EXPECT_EQ(static_cast<uint32_t>(18), cmd
.pixels_shm_id
);
1633 EXPECT_EQ(static_cast<uint32_t>(19), cmd
.pixels_shm_offset
);
1634 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1637 TEST_F(GLES2FormatTest
, TexParameterf
) {
1638 cmds::TexParameterf
& cmd
= *GetBufferAs
<cmds::TexParameterf
>();
1639 void* next_cmd
= cmd
.Set(&cmd
,
1640 static_cast<GLenum
>(11),
1641 static_cast<GLenum
>(12),
1642 static_cast<GLfloat
>(13));
1643 EXPECT_EQ(static_cast<uint32_t>(cmds::TexParameterf::kCmdId
),
1644 cmd
.header
.command
);
1645 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1646 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1647 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1648 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.param
);
1649 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1652 TEST_F(GLES2FormatTest
, TexParameterfvImmediate
) {
1653 const int kSomeBaseValueToTestWith
= 51;
1654 static GLfloat data
[] = {
1655 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
1657 cmds::TexParameterfvImmediate
& cmd
=
1658 *GetBufferAs
<cmds::TexParameterfvImmediate
>();
1660 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLenum
>(12), data
);
1661 EXPECT_EQ(static_cast<uint32_t>(cmds::TexParameterfvImmediate::kCmdId
),
1662 cmd
.header
.command
);
1663 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
1664 cmd
.header
.size
* 4u);
1665 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1666 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1667 CheckBytesWrittenMatchesExpectedSize(
1668 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1669 // TODO(gman): Check that data was inserted;
1672 TEST_F(GLES2FormatTest
, TexParameteri
) {
1673 cmds::TexParameteri
& cmd
= *GetBufferAs
<cmds::TexParameteri
>();
1674 void* next_cmd
= cmd
.Set(&cmd
,
1675 static_cast<GLenum
>(11),
1676 static_cast<GLenum
>(12),
1677 static_cast<GLint
>(13));
1678 EXPECT_EQ(static_cast<uint32_t>(cmds::TexParameteri::kCmdId
),
1679 cmd
.header
.command
);
1680 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1681 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1682 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1683 EXPECT_EQ(static_cast<GLint
>(13), cmd
.param
);
1684 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1687 TEST_F(GLES2FormatTest
, TexParameterivImmediate
) {
1688 const int kSomeBaseValueToTestWith
= 51;
1689 static GLint data
[] = {
1690 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 0),
1692 cmds::TexParameterivImmediate
& cmd
=
1693 *GetBufferAs
<cmds::TexParameterivImmediate
>();
1695 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLenum
>(12), data
);
1696 EXPECT_EQ(static_cast<uint32_t>(cmds::TexParameterivImmediate::kCmdId
),
1697 cmd
.header
.command
);
1698 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
1699 cmd
.header
.size
* 4u);
1700 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1701 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.pname
);
1702 CheckBytesWrittenMatchesExpectedSize(
1703 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1704 // TODO(gman): Check that data was inserted;
1707 TEST_F(GLES2FormatTest
, TexSubImage2D
) {
1708 cmds::TexSubImage2D
& cmd
= *GetBufferAs
<cmds::TexSubImage2D
>();
1709 void* next_cmd
= cmd
.Set(&cmd
,
1710 static_cast<GLenum
>(11),
1711 static_cast<GLint
>(12),
1712 static_cast<GLint
>(13),
1713 static_cast<GLint
>(14),
1714 static_cast<GLsizei
>(15),
1715 static_cast<GLsizei
>(16),
1716 static_cast<GLenum
>(17),
1717 static_cast<GLenum
>(18),
1718 static_cast<uint32_t>(19),
1719 static_cast<uint32_t>(20),
1720 static_cast<GLboolean
>(21));
1721 EXPECT_EQ(static_cast<uint32_t>(cmds::TexSubImage2D::kCmdId
),
1722 cmd
.header
.command
);
1723 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1724 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
1725 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
1726 EXPECT_EQ(static_cast<GLint
>(13), cmd
.xoffset
);
1727 EXPECT_EQ(static_cast<GLint
>(14), cmd
.yoffset
);
1728 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.width
);
1729 EXPECT_EQ(static_cast<GLsizei
>(16), cmd
.height
);
1730 EXPECT_EQ(static_cast<GLenum
>(17), cmd
.format
);
1731 EXPECT_EQ(static_cast<GLenum
>(18), cmd
.type
);
1732 EXPECT_EQ(static_cast<uint32_t>(19), cmd
.pixels_shm_id
);
1733 EXPECT_EQ(static_cast<uint32_t>(20), cmd
.pixels_shm_offset
);
1734 EXPECT_EQ(static_cast<GLboolean
>(21), cmd
.internal
);
1735 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1738 TEST_F(GLES2FormatTest
, Uniform1f
) {
1739 cmds::Uniform1f
& cmd
= *GetBufferAs
<cmds::Uniform1f
>();
1741 cmd
.Set(&cmd
, static_cast<GLint
>(11), static_cast<GLfloat
>(12));
1742 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform1f::kCmdId
), cmd
.header
.command
);
1743 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1744 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1745 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
1746 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1749 TEST_F(GLES2FormatTest
, Uniform1fvImmediate
) {
1750 const int kSomeBaseValueToTestWith
= 51;
1751 static GLfloat data
[] = {
1752 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
1753 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
1755 cmds::Uniform1fvImmediate
& cmd
= *GetBufferAs
<cmds::Uniform1fvImmediate
>();
1756 const GLsizei kNumElements
= 2;
1757 const size_t kExpectedCmdSize
=
1758 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 1;
1760 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
1761 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform1fvImmediate::kCmdId
),
1762 cmd
.header
.command
);
1763 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
1764 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
1765 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
1766 CheckBytesWrittenMatchesExpectedSize(
1767 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1768 // TODO(gman): Check that data was inserted;
1771 TEST_F(GLES2FormatTest
, Uniform1i
) {
1772 cmds::Uniform1i
& cmd
= *GetBufferAs
<cmds::Uniform1i
>();
1774 cmd
.Set(&cmd
, static_cast<GLint
>(11), static_cast<GLint
>(12));
1775 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform1i::kCmdId
), cmd
.header
.command
);
1776 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1777 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1778 EXPECT_EQ(static_cast<GLint
>(12), cmd
.x
);
1779 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1782 TEST_F(GLES2FormatTest
, Uniform1ivImmediate
) {
1783 const int kSomeBaseValueToTestWith
= 51;
1784 static GLint data
[] = {
1785 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 0),
1786 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 1),
1788 cmds::Uniform1ivImmediate
& cmd
= *GetBufferAs
<cmds::Uniform1ivImmediate
>();
1789 const GLsizei kNumElements
= 2;
1790 const size_t kExpectedCmdSize
=
1791 sizeof(cmd
) + kNumElements
* sizeof(GLint
) * 1;
1793 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
1794 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform1ivImmediate::kCmdId
),
1795 cmd
.header
.command
);
1796 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
1797 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
1798 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
1799 CheckBytesWrittenMatchesExpectedSize(
1800 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1801 // TODO(gman): Check that data was inserted;
1804 TEST_F(GLES2FormatTest
, Uniform2f
) {
1805 cmds::Uniform2f
& cmd
= *GetBufferAs
<cmds::Uniform2f
>();
1806 void* next_cmd
= cmd
.Set(&cmd
,
1807 static_cast<GLint
>(11),
1808 static_cast<GLfloat
>(12),
1809 static_cast<GLfloat
>(13));
1810 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform2f::kCmdId
), cmd
.header
.command
);
1811 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1812 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1813 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
1814 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.y
);
1815 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1818 TEST_F(GLES2FormatTest
, Uniform2fvImmediate
) {
1819 const int kSomeBaseValueToTestWith
= 51;
1820 static GLfloat data
[] = {
1821 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
1822 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
1823 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
1824 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
1826 cmds::Uniform2fvImmediate
& cmd
= *GetBufferAs
<cmds::Uniform2fvImmediate
>();
1827 const GLsizei kNumElements
= 2;
1828 const size_t kExpectedCmdSize
=
1829 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 2;
1831 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
1832 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform2fvImmediate::kCmdId
),
1833 cmd
.header
.command
);
1834 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
1835 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
1836 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
1837 CheckBytesWrittenMatchesExpectedSize(
1838 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1839 // TODO(gman): Check that data was inserted;
1842 TEST_F(GLES2FormatTest
, Uniform2i
) {
1843 cmds::Uniform2i
& cmd
= *GetBufferAs
<cmds::Uniform2i
>();
1844 void* next_cmd
= cmd
.Set(&cmd
,
1845 static_cast<GLint
>(11),
1846 static_cast<GLint
>(12),
1847 static_cast<GLint
>(13));
1848 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform2i::kCmdId
), cmd
.header
.command
);
1849 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1850 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1851 EXPECT_EQ(static_cast<GLint
>(12), cmd
.x
);
1852 EXPECT_EQ(static_cast<GLint
>(13), cmd
.y
);
1853 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1856 TEST_F(GLES2FormatTest
, Uniform2ivImmediate
) {
1857 const int kSomeBaseValueToTestWith
= 51;
1858 static GLint data
[] = {
1859 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 0),
1860 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 1),
1861 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 2),
1862 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 3),
1864 cmds::Uniform2ivImmediate
& cmd
= *GetBufferAs
<cmds::Uniform2ivImmediate
>();
1865 const GLsizei kNumElements
= 2;
1866 const size_t kExpectedCmdSize
=
1867 sizeof(cmd
) + kNumElements
* sizeof(GLint
) * 2;
1869 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
1870 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform2ivImmediate::kCmdId
),
1871 cmd
.header
.command
);
1872 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
1873 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
1874 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
1875 CheckBytesWrittenMatchesExpectedSize(
1876 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1877 // TODO(gman): Check that data was inserted;
1880 TEST_F(GLES2FormatTest
, Uniform3f
) {
1881 cmds::Uniform3f
& cmd
= *GetBufferAs
<cmds::Uniform3f
>();
1882 void* next_cmd
= cmd
.Set(&cmd
,
1883 static_cast<GLint
>(11),
1884 static_cast<GLfloat
>(12),
1885 static_cast<GLfloat
>(13),
1886 static_cast<GLfloat
>(14));
1887 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform3f::kCmdId
), cmd
.header
.command
);
1888 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1889 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1890 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
1891 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.y
);
1892 EXPECT_EQ(static_cast<GLfloat
>(14), cmd
.z
);
1893 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1896 TEST_F(GLES2FormatTest
, Uniform3fvImmediate
) {
1897 const int kSomeBaseValueToTestWith
= 51;
1898 static GLfloat data
[] = {
1899 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
1900 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
1901 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
1902 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
1903 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 4),
1904 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 5),
1906 cmds::Uniform3fvImmediate
& cmd
= *GetBufferAs
<cmds::Uniform3fvImmediate
>();
1907 const GLsizei kNumElements
= 2;
1908 const size_t kExpectedCmdSize
=
1909 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 3;
1911 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
1912 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform3fvImmediate::kCmdId
),
1913 cmd
.header
.command
);
1914 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
1915 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
1916 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
1917 CheckBytesWrittenMatchesExpectedSize(
1918 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1919 // TODO(gman): Check that data was inserted;
1922 TEST_F(GLES2FormatTest
, Uniform3i
) {
1923 cmds::Uniform3i
& cmd
= *GetBufferAs
<cmds::Uniform3i
>();
1924 void* next_cmd
= cmd
.Set(&cmd
,
1925 static_cast<GLint
>(11),
1926 static_cast<GLint
>(12),
1927 static_cast<GLint
>(13),
1928 static_cast<GLint
>(14));
1929 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform3i::kCmdId
), cmd
.header
.command
);
1930 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1931 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1932 EXPECT_EQ(static_cast<GLint
>(12), cmd
.x
);
1933 EXPECT_EQ(static_cast<GLint
>(13), cmd
.y
);
1934 EXPECT_EQ(static_cast<GLint
>(14), cmd
.z
);
1935 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1938 TEST_F(GLES2FormatTest
, Uniform3ivImmediate
) {
1939 const int kSomeBaseValueToTestWith
= 51;
1940 static GLint data
[] = {
1941 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 0),
1942 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 1),
1943 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 2),
1944 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 3),
1945 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 4),
1946 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 5),
1948 cmds::Uniform3ivImmediate
& cmd
= *GetBufferAs
<cmds::Uniform3ivImmediate
>();
1949 const GLsizei kNumElements
= 2;
1950 const size_t kExpectedCmdSize
=
1951 sizeof(cmd
) + kNumElements
* sizeof(GLint
) * 3;
1953 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
1954 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform3ivImmediate::kCmdId
),
1955 cmd
.header
.command
);
1956 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
1957 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
1958 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
1959 CheckBytesWrittenMatchesExpectedSize(
1960 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
1961 // TODO(gman): Check that data was inserted;
1964 TEST_F(GLES2FormatTest
, Uniform4f
) {
1965 cmds::Uniform4f
& cmd
= *GetBufferAs
<cmds::Uniform4f
>();
1966 void* next_cmd
= cmd
.Set(&cmd
,
1967 static_cast<GLint
>(11),
1968 static_cast<GLfloat
>(12),
1969 static_cast<GLfloat
>(13),
1970 static_cast<GLfloat
>(14),
1971 static_cast<GLfloat
>(15));
1972 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform4f::kCmdId
), cmd
.header
.command
);
1973 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
1974 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
1975 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
1976 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.y
);
1977 EXPECT_EQ(static_cast<GLfloat
>(14), cmd
.z
);
1978 EXPECT_EQ(static_cast<GLfloat
>(15), cmd
.w
);
1979 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
1982 TEST_F(GLES2FormatTest
, Uniform4fvImmediate
) {
1983 const int kSomeBaseValueToTestWith
= 51;
1984 static GLfloat data
[] = {
1985 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
1986 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
1987 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
1988 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
1989 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 4),
1990 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 5),
1991 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 6),
1992 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 7),
1994 cmds::Uniform4fvImmediate
& cmd
= *GetBufferAs
<cmds::Uniform4fvImmediate
>();
1995 const GLsizei kNumElements
= 2;
1996 const size_t kExpectedCmdSize
=
1997 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 4;
1999 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
2000 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform4fvImmediate::kCmdId
),
2001 cmd
.header
.command
);
2002 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
2003 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
2004 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
2005 CheckBytesWrittenMatchesExpectedSize(
2006 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2007 // TODO(gman): Check that data was inserted;
2010 TEST_F(GLES2FormatTest
, Uniform4i
) {
2011 cmds::Uniform4i
& cmd
= *GetBufferAs
<cmds::Uniform4i
>();
2012 void* next_cmd
= cmd
.Set(&cmd
,
2013 static_cast<GLint
>(11),
2014 static_cast<GLint
>(12),
2015 static_cast<GLint
>(13),
2016 static_cast<GLint
>(14),
2017 static_cast<GLint
>(15));
2018 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform4i::kCmdId
), cmd
.header
.command
);
2019 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2020 EXPECT_EQ(static_cast<GLint
>(11), cmd
.location
);
2021 EXPECT_EQ(static_cast<GLint
>(12), cmd
.x
);
2022 EXPECT_EQ(static_cast<GLint
>(13), cmd
.y
);
2023 EXPECT_EQ(static_cast<GLint
>(14), cmd
.z
);
2024 EXPECT_EQ(static_cast<GLint
>(15), cmd
.w
);
2025 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2028 TEST_F(GLES2FormatTest
, Uniform4ivImmediate
) {
2029 const int kSomeBaseValueToTestWith
= 51;
2030 static GLint data
[] = {
2031 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 0),
2032 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 1),
2033 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 2),
2034 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 3),
2035 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 4),
2036 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 5),
2037 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 6),
2038 static_cast<GLint
>(kSomeBaseValueToTestWith
+ 7),
2040 cmds::Uniform4ivImmediate
& cmd
= *GetBufferAs
<cmds::Uniform4ivImmediate
>();
2041 const GLsizei kNumElements
= 2;
2042 const size_t kExpectedCmdSize
=
2043 sizeof(cmd
) + kNumElements
* sizeof(GLint
) * 4;
2045 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
2046 EXPECT_EQ(static_cast<uint32_t>(cmds::Uniform4ivImmediate::kCmdId
),
2047 cmd
.header
.command
);
2048 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
2049 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
2050 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
2051 CheckBytesWrittenMatchesExpectedSize(
2052 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2053 // TODO(gman): Check that data was inserted;
2056 TEST_F(GLES2FormatTest
, UniformMatrix2fvImmediate
) {
2057 const int kSomeBaseValueToTestWith
= 51;
2058 static GLfloat data
[] = {
2059 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2060 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
2061 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
2062 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
2063 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 4),
2064 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 5),
2065 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 6),
2066 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 7),
2068 cmds::UniformMatrix2fvImmediate
& cmd
=
2069 *GetBufferAs
<cmds::UniformMatrix2fvImmediate
>();
2070 const GLsizei kNumElements
= 2;
2071 const size_t kExpectedCmdSize
=
2072 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 4;
2074 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
2075 EXPECT_EQ(static_cast<uint32_t>(cmds::UniformMatrix2fvImmediate::kCmdId
),
2076 cmd
.header
.command
);
2077 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
2078 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
2079 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
2080 CheckBytesWrittenMatchesExpectedSize(
2081 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2082 // TODO(gman): Check that data was inserted;
2085 TEST_F(GLES2FormatTest
, UniformMatrix3fvImmediate
) {
2086 const int kSomeBaseValueToTestWith
= 51;
2087 static GLfloat data
[] = {
2088 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2089 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
2090 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
2091 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
2092 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 4),
2093 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 5),
2094 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 6),
2095 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 7),
2096 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 8),
2097 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 9),
2098 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 10),
2099 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 11),
2100 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 12),
2101 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 13),
2102 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 14),
2103 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 15),
2104 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 16),
2105 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 17),
2107 cmds::UniformMatrix3fvImmediate
& cmd
=
2108 *GetBufferAs
<cmds::UniformMatrix3fvImmediate
>();
2109 const GLsizei kNumElements
= 2;
2110 const size_t kExpectedCmdSize
=
2111 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 9;
2113 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
2114 EXPECT_EQ(static_cast<uint32_t>(cmds::UniformMatrix3fvImmediate::kCmdId
),
2115 cmd
.header
.command
);
2116 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
2117 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
2118 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
2119 CheckBytesWrittenMatchesExpectedSize(
2120 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2121 // TODO(gman): Check that data was inserted;
2124 TEST_F(GLES2FormatTest
, UniformMatrix4fvImmediate
) {
2125 const int kSomeBaseValueToTestWith
= 51;
2126 static GLfloat data
[] = {
2127 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2128 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
2129 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
2130 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
2131 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 4),
2132 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 5),
2133 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 6),
2134 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 7),
2135 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 8),
2136 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 9),
2137 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 10),
2138 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 11),
2139 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 12),
2140 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 13),
2141 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 14),
2142 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 15),
2143 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 16),
2144 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 17),
2145 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 18),
2146 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 19),
2147 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 20),
2148 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 21),
2149 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 22),
2150 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 23),
2151 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 24),
2152 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 25),
2153 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 26),
2154 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 27),
2155 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 28),
2156 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 29),
2157 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 30),
2158 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 31),
2160 cmds::UniformMatrix4fvImmediate
& cmd
=
2161 *GetBufferAs
<cmds::UniformMatrix4fvImmediate
>();
2162 const GLsizei kNumElements
= 2;
2163 const size_t kExpectedCmdSize
=
2164 sizeof(cmd
) + kNumElements
* sizeof(GLfloat
) * 16;
2166 cmd
.Set(&cmd
, static_cast<GLint
>(1), static_cast<GLsizei
>(2), data
);
2167 EXPECT_EQ(static_cast<uint32_t>(cmds::UniformMatrix4fvImmediate::kCmdId
),
2168 cmd
.header
.command
);
2169 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
2170 EXPECT_EQ(static_cast<GLint
>(1), cmd
.location
);
2171 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
2172 CheckBytesWrittenMatchesExpectedSize(
2173 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2174 // TODO(gman): Check that data was inserted;
2177 TEST_F(GLES2FormatTest
, UseProgram
) {
2178 cmds::UseProgram
& cmd
= *GetBufferAs
<cmds::UseProgram
>();
2179 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
2180 EXPECT_EQ(static_cast<uint32_t>(cmds::UseProgram::kCmdId
),
2181 cmd
.header
.command
);
2182 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2183 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
2184 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2187 TEST_F(GLES2FormatTest
, ValidateProgram
) {
2188 cmds::ValidateProgram
& cmd
= *GetBufferAs
<cmds::ValidateProgram
>();
2189 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
2190 EXPECT_EQ(static_cast<uint32_t>(cmds::ValidateProgram::kCmdId
),
2191 cmd
.header
.command
);
2192 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2193 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
2194 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2197 TEST_F(GLES2FormatTest
, VertexAttrib1f
) {
2198 cmds::VertexAttrib1f
& cmd
= *GetBufferAs
<cmds::VertexAttrib1f
>();
2200 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<GLfloat
>(12));
2201 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib1f::kCmdId
),
2202 cmd
.header
.command
);
2203 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2204 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2205 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
2206 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2209 TEST_F(GLES2FormatTest
, VertexAttrib1fvImmediate
) {
2210 const int kSomeBaseValueToTestWith
= 51;
2211 static GLfloat data
[] = {
2212 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2214 cmds::VertexAttrib1fvImmediate
& cmd
=
2215 *GetBufferAs
<cmds::VertexAttrib1fvImmediate
>();
2216 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11), data
);
2217 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib1fvImmediate::kCmdId
),
2218 cmd
.header
.command
);
2219 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
2220 cmd
.header
.size
* 4u);
2221 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2222 CheckBytesWrittenMatchesExpectedSize(
2223 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2224 // TODO(gman): Check that data was inserted;
2227 TEST_F(GLES2FormatTest
, VertexAttrib2f
) {
2228 cmds::VertexAttrib2f
& cmd
= *GetBufferAs
<cmds::VertexAttrib2f
>();
2229 void* next_cmd
= cmd
.Set(&cmd
,
2230 static_cast<GLuint
>(11),
2231 static_cast<GLfloat
>(12),
2232 static_cast<GLfloat
>(13));
2233 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib2f::kCmdId
),
2234 cmd
.header
.command
);
2235 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2236 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2237 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
2238 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.y
);
2239 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2242 TEST_F(GLES2FormatTest
, VertexAttrib2fvImmediate
) {
2243 const int kSomeBaseValueToTestWith
= 51;
2244 static GLfloat data
[] = {
2245 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2246 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
2248 cmds::VertexAttrib2fvImmediate
& cmd
=
2249 *GetBufferAs
<cmds::VertexAttrib2fvImmediate
>();
2250 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11), data
);
2251 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib2fvImmediate::kCmdId
),
2252 cmd
.header
.command
);
2253 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
2254 cmd
.header
.size
* 4u);
2255 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2256 CheckBytesWrittenMatchesExpectedSize(
2257 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2258 // TODO(gman): Check that data was inserted;
2261 TEST_F(GLES2FormatTest
, VertexAttrib3f
) {
2262 cmds::VertexAttrib3f
& cmd
= *GetBufferAs
<cmds::VertexAttrib3f
>();
2263 void* next_cmd
= cmd
.Set(&cmd
,
2264 static_cast<GLuint
>(11),
2265 static_cast<GLfloat
>(12),
2266 static_cast<GLfloat
>(13),
2267 static_cast<GLfloat
>(14));
2268 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib3f::kCmdId
),
2269 cmd
.header
.command
);
2270 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2271 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2272 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
2273 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.y
);
2274 EXPECT_EQ(static_cast<GLfloat
>(14), cmd
.z
);
2275 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2278 TEST_F(GLES2FormatTest
, VertexAttrib3fvImmediate
) {
2279 const int kSomeBaseValueToTestWith
= 51;
2280 static GLfloat data
[] = {
2281 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2282 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
2283 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
2285 cmds::VertexAttrib3fvImmediate
& cmd
=
2286 *GetBufferAs
<cmds::VertexAttrib3fvImmediate
>();
2287 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11), data
);
2288 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib3fvImmediate::kCmdId
),
2289 cmd
.header
.command
);
2290 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
2291 cmd
.header
.size
* 4u);
2292 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2293 CheckBytesWrittenMatchesExpectedSize(
2294 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2295 // TODO(gman): Check that data was inserted;
2298 TEST_F(GLES2FormatTest
, VertexAttrib4f
) {
2299 cmds::VertexAttrib4f
& cmd
= *GetBufferAs
<cmds::VertexAttrib4f
>();
2300 void* next_cmd
= cmd
.Set(&cmd
,
2301 static_cast<GLuint
>(11),
2302 static_cast<GLfloat
>(12),
2303 static_cast<GLfloat
>(13),
2304 static_cast<GLfloat
>(14),
2305 static_cast<GLfloat
>(15));
2306 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib4f::kCmdId
),
2307 cmd
.header
.command
);
2308 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2309 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2310 EXPECT_EQ(static_cast<GLfloat
>(12), cmd
.x
);
2311 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.y
);
2312 EXPECT_EQ(static_cast<GLfloat
>(14), cmd
.z
);
2313 EXPECT_EQ(static_cast<GLfloat
>(15), cmd
.w
);
2314 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2317 TEST_F(GLES2FormatTest
, VertexAttrib4fvImmediate
) {
2318 const int kSomeBaseValueToTestWith
= 51;
2319 static GLfloat data
[] = {
2320 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 0),
2321 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 1),
2322 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 2),
2323 static_cast<GLfloat
>(kSomeBaseValueToTestWith
+ 3),
2325 cmds::VertexAttrib4fvImmediate
& cmd
=
2326 *GetBufferAs
<cmds::VertexAttrib4fvImmediate
>();
2327 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11), data
);
2328 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttrib4fvImmediate::kCmdId
),
2329 cmd
.header
.command
);
2330 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
2331 cmd
.header
.size
* 4u);
2332 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2333 CheckBytesWrittenMatchesExpectedSize(
2334 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
2335 // TODO(gman): Check that data was inserted;
2338 TEST_F(GLES2FormatTest
, VertexAttribPointer
) {
2339 cmds::VertexAttribPointer
& cmd
= *GetBufferAs
<cmds::VertexAttribPointer
>();
2340 void* next_cmd
= cmd
.Set(&cmd
,
2341 static_cast<GLuint
>(11),
2342 static_cast<GLint
>(12),
2343 static_cast<GLenum
>(13),
2344 static_cast<GLboolean
>(14),
2345 static_cast<GLsizei
>(15),
2346 static_cast<GLuint
>(16));
2347 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttribPointer::kCmdId
),
2348 cmd
.header
.command
);
2349 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2350 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.indx
);
2351 EXPECT_EQ(static_cast<GLint
>(12), cmd
.size
);
2352 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.type
);
2353 EXPECT_EQ(static_cast<GLboolean
>(14), cmd
.normalized
);
2354 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.stride
);
2355 EXPECT_EQ(static_cast<GLuint
>(16), cmd
.offset
);
2356 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2359 TEST_F(GLES2FormatTest
, Viewport
) {
2360 cmds::Viewport
& cmd
= *GetBufferAs
<cmds::Viewport
>();
2361 void* next_cmd
= cmd
.Set(&cmd
,
2362 static_cast<GLint
>(11),
2363 static_cast<GLint
>(12),
2364 static_cast<GLsizei
>(13),
2365 static_cast<GLsizei
>(14));
2366 EXPECT_EQ(static_cast<uint32_t>(cmds::Viewport::kCmdId
), cmd
.header
.command
);
2367 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2368 EXPECT_EQ(static_cast<GLint
>(11), cmd
.x
);
2369 EXPECT_EQ(static_cast<GLint
>(12), cmd
.y
);
2370 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.width
);
2371 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.height
);
2372 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2375 TEST_F(GLES2FormatTest
, BlitFramebufferCHROMIUM
) {
2376 cmds::BlitFramebufferCHROMIUM
& cmd
=
2377 *GetBufferAs
<cmds::BlitFramebufferCHROMIUM
>();
2378 void* next_cmd
= cmd
.Set(&cmd
,
2379 static_cast<GLint
>(11),
2380 static_cast<GLint
>(12),
2381 static_cast<GLint
>(13),
2382 static_cast<GLint
>(14),
2383 static_cast<GLint
>(15),
2384 static_cast<GLint
>(16),
2385 static_cast<GLint
>(17),
2386 static_cast<GLint
>(18),
2387 static_cast<GLbitfield
>(19),
2388 static_cast<GLenum
>(20));
2389 EXPECT_EQ(static_cast<uint32_t>(cmds::BlitFramebufferCHROMIUM::kCmdId
),
2390 cmd
.header
.command
);
2391 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2392 EXPECT_EQ(static_cast<GLint
>(11), cmd
.srcX0
);
2393 EXPECT_EQ(static_cast<GLint
>(12), cmd
.srcY0
);
2394 EXPECT_EQ(static_cast<GLint
>(13), cmd
.srcX1
);
2395 EXPECT_EQ(static_cast<GLint
>(14), cmd
.srcY1
);
2396 EXPECT_EQ(static_cast<GLint
>(15), cmd
.dstX0
);
2397 EXPECT_EQ(static_cast<GLint
>(16), cmd
.dstY0
);
2398 EXPECT_EQ(static_cast<GLint
>(17), cmd
.dstX1
);
2399 EXPECT_EQ(static_cast<GLint
>(18), cmd
.dstY1
);
2400 EXPECT_EQ(static_cast<GLbitfield
>(19), cmd
.mask
);
2401 EXPECT_EQ(static_cast<GLenum
>(20), cmd
.filter
);
2402 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2405 TEST_F(GLES2FormatTest
, RenderbufferStorageMultisampleCHROMIUM
) {
2406 cmds::RenderbufferStorageMultisampleCHROMIUM
& cmd
=
2407 *GetBufferAs
<cmds::RenderbufferStorageMultisampleCHROMIUM
>();
2408 void* next_cmd
= cmd
.Set(&cmd
,
2409 static_cast<GLenum
>(11),
2410 static_cast<GLsizei
>(12),
2411 static_cast<GLenum
>(13),
2412 static_cast<GLsizei
>(14),
2413 static_cast<GLsizei
>(15));
2414 EXPECT_EQ(static_cast<uint32_t>(
2415 cmds::RenderbufferStorageMultisampleCHROMIUM::kCmdId
),
2416 cmd
.header
.command
);
2417 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2418 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2419 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.samples
);
2420 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.internalformat
);
2421 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
2422 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
2423 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2426 TEST_F(GLES2FormatTest
, RenderbufferStorageMultisampleEXT
) {
2427 cmds::RenderbufferStorageMultisampleEXT
& cmd
=
2428 *GetBufferAs
<cmds::RenderbufferStorageMultisampleEXT
>();
2429 void* next_cmd
= cmd
.Set(&cmd
,
2430 static_cast<GLenum
>(11),
2431 static_cast<GLsizei
>(12),
2432 static_cast<GLenum
>(13),
2433 static_cast<GLsizei
>(14),
2434 static_cast<GLsizei
>(15));
2436 static_cast<uint32_t>(cmds::RenderbufferStorageMultisampleEXT::kCmdId
),
2437 cmd
.header
.command
);
2438 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2439 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2440 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.samples
);
2441 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.internalformat
);
2442 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
2443 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
2444 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2447 TEST_F(GLES2FormatTest
, FramebufferTexture2DMultisampleEXT
) {
2448 cmds::FramebufferTexture2DMultisampleEXT
& cmd
=
2449 *GetBufferAs
<cmds::FramebufferTexture2DMultisampleEXT
>();
2450 void* next_cmd
= cmd
.Set(&cmd
,
2451 static_cast<GLenum
>(11),
2452 static_cast<GLenum
>(12),
2453 static_cast<GLenum
>(13),
2454 static_cast<GLuint
>(14),
2455 static_cast<GLsizei
>(15));
2457 static_cast<uint32_t>(cmds::FramebufferTexture2DMultisampleEXT::kCmdId
),
2458 cmd
.header
.command
);
2459 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2460 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2461 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.attachment
);
2462 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.textarget
);
2463 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.texture
);
2464 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.samples
);
2465 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2468 TEST_F(GLES2FormatTest
, TexStorage2DEXT
) {
2469 cmds::TexStorage2DEXT
& cmd
= *GetBufferAs
<cmds::TexStorage2DEXT
>();
2470 void* next_cmd
= cmd
.Set(&cmd
,
2471 static_cast<GLenum
>(11),
2472 static_cast<GLsizei
>(12),
2473 static_cast<GLenum
>(13),
2474 static_cast<GLsizei
>(14),
2475 static_cast<GLsizei
>(15));
2476 EXPECT_EQ(static_cast<uint32_t>(cmds::TexStorage2DEXT::kCmdId
),
2477 cmd
.header
.command
);
2478 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2479 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2480 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.levels
);
2481 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.internalFormat
);
2482 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
2483 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
2484 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2487 TEST_F(GLES2FormatTest
, GenQueriesEXTImmediate
) {
2488 static GLuint ids
[] = {
2491 cmds::GenQueriesEXTImmediate
& cmd
=
2492 *GetBufferAs
<cmds::GenQueriesEXTImmediate
>();
2493 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
2494 EXPECT_EQ(static_cast<uint32_t>(cmds::GenQueriesEXTImmediate::kCmdId
),
2495 cmd
.header
.command
);
2496 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
2497 cmd
.header
.size
* 4u);
2498 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
2499 CheckBytesWrittenMatchesExpectedSize(
2501 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
2502 // TODO(gman): Check that ids were inserted;
2505 TEST_F(GLES2FormatTest
, DeleteQueriesEXTImmediate
) {
2506 static GLuint ids
[] = {
2509 cmds::DeleteQueriesEXTImmediate
& cmd
=
2510 *GetBufferAs
<cmds::DeleteQueriesEXTImmediate
>();
2511 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
2512 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteQueriesEXTImmediate::kCmdId
),
2513 cmd
.header
.command
);
2514 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
2515 cmd
.header
.size
* 4u);
2516 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
2517 CheckBytesWrittenMatchesExpectedSize(
2519 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
2520 // TODO(gman): Check that ids were inserted;
2523 TEST_F(GLES2FormatTest
, BeginQueryEXT
) {
2524 cmds::BeginQueryEXT
& cmd
= *GetBufferAs
<cmds::BeginQueryEXT
>();
2525 void* next_cmd
= cmd
.Set(&cmd
,
2526 static_cast<GLenum
>(11),
2527 static_cast<GLuint
>(12),
2528 static_cast<uint32_t>(13),
2529 static_cast<uint32_t>(14));
2530 EXPECT_EQ(static_cast<uint32_t>(cmds::BeginQueryEXT::kCmdId
),
2531 cmd
.header
.command
);
2532 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2533 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2534 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.id
);
2535 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.sync_data_shm_id
);
2536 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.sync_data_shm_offset
);
2537 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2540 TEST_F(GLES2FormatTest
, EndQueryEXT
) {
2541 cmds::EndQueryEXT
& cmd
= *GetBufferAs
<cmds::EndQueryEXT
>();
2543 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLuint
>(12));
2544 EXPECT_EQ(static_cast<uint32_t>(cmds::EndQueryEXT::kCmdId
),
2545 cmd
.header
.command
);
2546 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2547 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2548 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.submit_count
);
2549 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2552 TEST_F(GLES2FormatTest
, InsertEventMarkerEXT
) {
2553 cmds::InsertEventMarkerEXT
& cmd
= *GetBufferAs
<cmds::InsertEventMarkerEXT
>();
2554 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
2555 EXPECT_EQ(static_cast<uint32_t>(cmds::InsertEventMarkerEXT::kCmdId
),
2556 cmd
.header
.command
);
2557 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2558 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.bucket_id
);
2559 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2562 TEST_F(GLES2FormatTest
, PushGroupMarkerEXT
) {
2563 cmds::PushGroupMarkerEXT
& cmd
= *GetBufferAs
<cmds::PushGroupMarkerEXT
>();
2564 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
2565 EXPECT_EQ(static_cast<uint32_t>(cmds::PushGroupMarkerEXT::kCmdId
),
2566 cmd
.header
.command
);
2567 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2568 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.bucket_id
);
2569 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2572 TEST_F(GLES2FormatTest
, PopGroupMarkerEXT
) {
2573 cmds::PopGroupMarkerEXT
& cmd
= *GetBufferAs
<cmds::PopGroupMarkerEXT
>();
2574 void* next_cmd
= cmd
.Set(&cmd
);
2575 EXPECT_EQ(static_cast<uint32_t>(cmds::PopGroupMarkerEXT::kCmdId
),
2576 cmd
.header
.command
);
2577 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2578 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2581 TEST_F(GLES2FormatTest
, GenVertexArraysOESImmediate
) {
2582 static GLuint ids
[] = {
2585 cmds::GenVertexArraysOESImmediate
& cmd
=
2586 *GetBufferAs
<cmds::GenVertexArraysOESImmediate
>();
2587 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
2588 EXPECT_EQ(static_cast<uint32_t>(cmds::GenVertexArraysOESImmediate::kCmdId
),
2589 cmd
.header
.command
);
2590 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
2591 cmd
.header
.size
* 4u);
2592 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
2593 CheckBytesWrittenMatchesExpectedSize(
2595 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
2596 // TODO(gman): Check that ids were inserted;
2599 TEST_F(GLES2FormatTest
, DeleteVertexArraysOESImmediate
) {
2600 static GLuint ids
[] = {
2603 cmds::DeleteVertexArraysOESImmediate
& cmd
=
2604 *GetBufferAs
<cmds::DeleteVertexArraysOESImmediate
>();
2605 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(arraysize(ids
)), ids
);
2606 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteVertexArraysOESImmediate::kCmdId
),
2607 cmd
.header
.command
);
2608 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(cmd
.n
* 4u),
2609 cmd
.header
.size
* 4u);
2610 EXPECT_EQ(static_cast<GLsizei
>(arraysize(ids
)), cmd
.n
);
2611 CheckBytesWrittenMatchesExpectedSize(
2613 sizeof(cmd
) + RoundSizeToMultipleOfEntries(arraysize(ids
) * 4u));
2614 // TODO(gman): Check that ids were inserted;
2617 TEST_F(GLES2FormatTest
, IsVertexArrayOES
) {
2618 cmds::IsVertexArrayOES
& cmd
= *GetBufferAs
<cmds::IsVertexArrayOES
>();
2619 void* next_cmd
= cmd
.Set(&cmd
,
2620 static_cast<GLuint
>(11),
2621 static_cast<uint32_t>(12),
2622 static_cast<uint32_t>(13));
2623 EXPECT_EQ(static_cast<uint32_t>(cmds::IsVertexArrayOES::kCmdId
),
2624 cmd
.header
.command
);
2625 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2626 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.array
);
2627 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
2628 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
2629 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2632 TEST_F(GLES2FormatTest
, BindVertexArrayOES
) {
2633 cmds::BindVertexArrayOES
& cmd
= *GetBufferAs
<cmds::BindVertexArrayOES
>();
2634 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
2635 EXPECT_EQ(static_cast<uint32_t>(cmds::BindVertexArrayOES::kCmdId
),
2636 cmd
.header
.command
);
2637 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2638 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.array
);
2639 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2642 TEST_F(GLES2FormatTest
, SwapBuffers
) {
2643 cmds::SwapBuffers
& cmd
= *GetBufferAs
<cmds::SwapBuffers
>();
2644 void* next_cmd
= cmd
.Set(&cmd
);
2645 EXPECT_EQ(static_cast<uint32_t>(cmds::SwapBuffers::kCmdId
),
2646 cmd
.header
.command
);
2647 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2648 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2651 TEST_F(GLES2FormatTest
, GetMaxValueInBufferCHROMIUM
) {
2652 cmds::GetMaxValueInBufferCHROMIUM
& cmd
=
2653 *GetBufferAs
<cmds::GetMaxValueInBufferCHROMIUM
>();
2654 void* next_cmd
= cmd
.Set(&cmd
,
2655 static_cast<GLuint
>(11),
2656 static_cast<GLsizei
>(12),
2657 static_cast<GLenum
>(13),
2658 static_cast<GLuint
>(14),
2659 static_cast<uint32_t>(15),
2660 static_cast<uint32_t>(16));
2661 EXPECT_EQ(static_cast<uint32_t>(cmds::GetMaxValueInBufferCHROMIUM::kCmdId
),
2662 cmd
.header
.command
);
2663 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2664 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.buffer_id
);
2665 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.count
);
2666 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.type
);
2667 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.offset
);
2668 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.result_shm_id
);
2669 EXPECT_EQ(static_cast<uint32_t>(16), cmd
.result_shm_offset
);
2670 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2673 TEST_F(GLES2FormatTest
, GenSharedIdsCHROMIUM
) {
2674 cmds::GenSharedIdsCHROMIUM
& cmd
= *GetBufferAs
<cmds::GenSharedIdsCHROMIUM
>();
2675 void* next_cmd
= cmd
.Set(&cmd
,
2676 static_cast<GLuint
>(11),
2677 static_cast<GLuint
>(12),
2678 static_cast<GLsizei
>(13),
2679 static_cast<uint32_t>(14),
2680 static_cast<uint32_t>(15));
2681 EXPECT_EQ(static_cast<uint32_t>(cmds::GenSharedIdsCHROMIUM::kCmdId
),
2682 cmd
.header
.command
);
2683 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2684 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.namespace_id
);
2685 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.id_offset
);
2686 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.n
);
2687 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.ids_shm_id
);
2688 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.ids_shm_offset
);
2689 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2692 TEST_F(GLES2FormatTest
, DeleteSharedIdsCHROMIUM
) {
2693 cmds::DeleteSharedIdsCHROMIUM
& cmd
=
2694 *GetBufferAs
<cmds::DeleteSharedIdsCHROMIUM
>();
2695 void* next_cmd
= cmd
.Set(&cmd
,
2696 static_cast<GLuint
>(11),
2697 static_cast<GLsizei
>(12),
2698 static_cast<uint32_t>(13),
2699 static_cast<uint32_t>(14));
2700 EXPECT_EQ(static_cast<uint32_t>(cmds::DeleteSharedIdsCHROMIUM::kCmdId
),
2701 cmd
.header
.command
);
2702 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2703 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.namespace_id
);
2704 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.n
);
2705 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.ids_shm_id
);
2706 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.ids_shm_offset
);
2707 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2710 TEST_F(GLES2FormatTest
, RegisterSharedIdsCHROMIUM
) {
2711 cmds::RegisterSharedIdsCHROMIUM
& cmd
=
2712 *GetBufferAs
<cmds::RegisterSharedIdsCHROMIUM
>();
2713 void* next_cmd
= cmd
.Set(&cmd
,
2714 static_cast<GLuint
>(11),
2715 static_cast<GLsizei
>(12),
2716 static_cast<uint32_t>(13),
2717 static_cast<uint32_t>(14));
2718 EXPECT_EQ(static_cast<uint32_t>(cmds::RegisterSharedIdsCHROMIUM::kCmdId
),
2719 cmd
.header
.command
);
2720 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2721 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.namespace_id
);
2722 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.n
);
2723 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.ids_shm_id
);
2724 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.ids_shm_offset
);
2725 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2728 TEST_F(GLES2FormatTest
, EnableFeatureCHROMIUM
) {
2729 cmds::EnableFeatureCHROMIUM
& cmd
=
2730 *GetBufferAs
<cmds::EnableFeatureCHROMIUM
>();
2731 void* next_cmd
= cmd
.Set(&cmd
,
2732 static_cast<GLuint
>(11),
2733 static_cast<uint32_t>(12),
2734 static_cast<uint32_t>(13));
2735 EXPECT_EQ(static_cast<uint32_t>(cmds::EnableFeatureCHROMIUM::kCmdId
),
2736 cmd
.header
.command
);
2737 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2738 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.bucket_id
);
2739 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.result_shm_id
);
2740 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.result_shm_offset
);
2741 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2744 TEST_F(GLES2FormatTest
, ResizeCHROMIUM
) {
2745 cmds::ResizeCHROMIUM
& cmd
= *GetBufferAs
<cmds::ResizeCHROMIUM
>();
2746 void* next_cmd
= cmd
.Set(&cmd
,
2747 static_cast<GLuint
>(11),
2748 static_cast<GLuint
>(12),
2749 static_cast<GLfloat
>(13));
2750 EXPECT_EQ(static_cast<uint32_t>(cmds::ResizeCHROMIUM::kCmdId
),
2751 cmd
.header
.command
);
2752 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2753 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.width
);
2754 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.height
);
2755 EXPECT_EQ(static_cast<GLfloat
>(13), cmd
.scale_factor
);
2756 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2759 TEST_F(GLES2FormatTest
, GetRequestableExtensionsCHROMIUM
) {
2760 cmds::GetRequestableExtensionsCHROMIUM
& cmd
=
2761 *GetBufferAs
<cmds::GetRequestableExtensionsCHROMIUM
>();
2762 void* next_cmd
= cmd
.Set(&cmd
, static_cast<uint32_t>(11));
2764 static_cast<uint32_t>(cmds::GetRequestableExtensionsCHROMIUM::kCmdId
),
2765 cmd
.header
.command
);
2766 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2767 EXPECT_EQ(static_cast<uint32_t>(11), cmd
.bucket_id
);
2768 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2771 TEST_F(GLES2FormatTest
, RequestExtensionCHROMIUM
) {
2772 cmds::RequestExtensionCHROMIUM
& cmd
=
2773 *GetBufferAs
<cmds::RequestExtensionCHROMIUM
>();
2774 void* next_cmd
= cmd
.Set(&cmd
, static_cast<uint32_t>(11));
2775 EXPECT_EQ(static_cast<uint32_t>(cmds::RequestExtensionCHROMIUM::kCmdId
),
2776 cmd
.header
.command
);
2777 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2778 EXPECT_EQ(static_cast<uint32_t>(11), cmd
.bucket_id
);
2779 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2782 TEST_F(GLES2FormatTest
, GetMultipleIntegervCHROMIUM
) {
2783 cmds::GetMultipleIntegervCHROMIUM
& cmd
=
2784 *GetBufferAs
<cmds::GetMultipleIntegervCHROMIUM
>();
2785 void* next_cmd
= cmd
.Set(&cmd
,
2786 static_cast<uint32_t>(11),
2787 static_cast<uint32_t>(12),
2788 static_cast<GLuint
>(13),
2789 static_cast<uint32_t>(14),
2790 static_cast<uint32_t>(15),
2791 static_cast<GLsizeiptr
>(16));
2792 EXPECT_EQ(static_cast<uint32_t>(cmds::GetMultipleIntegervCHROMIUM::kCmdId
),
2793 cmd
.header
.command
);
2794 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2795 EXPECT_EQ(static_cast<uint32_t>(11), cmd
.pnames_shm_id
);
2796 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.pnames_shm_offset
);
2797 EXPECT_EQ(static_cast<GLuint
>(13), cmd
.count
);
2798 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.results_shm_id
);
2799 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.results_shm_offset
);
2800 EXPECT_EQ(static_cast<GLsizeiptr
>(16), cmd
.size
);
2801 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2804 TEST_F(GLES2FormatTest
, GetProgramInfoCHROMIUM
) {
2805 cmds::GetProgramInfoCHROMIUM
& cmd
=
2806 *GetBufferAs
<cmds::GetProgramInfoCHROMIUM
>();
2808 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<uint32_t>(12));
2809 EXPECT_EQ(static_cast<uint32_t>(cmds::GetProgramInfoCHROMIUM::kCmdId
),
2810 cmd
.header
.command
);
2811 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2812 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
2813 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.bucket_id
);
2814 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2817 TEST_F(GLES2FormatTest
, GetTranslatedShaderSourceANGLE
) {
2818 cmds::GetTranslatedShaderSourceANGLE
& cmd
=
2819 *GetBufferAs
<cmds::GetTranslatedShaderSourceANGLE
>();
2821 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<uint32_t>(12));
2822 EXPECT_EQ(static_cast<uint32_t>(cmds::GetTranslatedShaderSourceANGLE::kCmdId
),
2823 cmd
.header
.command
);
2824 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2825 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.shader
);
2826 EXPECT_EQ(static_cast<uint32_t>(12), cmd
.bucket_id
);
2827 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2830 TEST_F(GLES2FormatTest
, PostSubBufferCHROMIUM
) {
2831 cmds::PostSubBufferCHROMIUM
& cmd
=
2832 *GetBufferAs
<cmds::PostSubBufferCHROMIUM
>();
2833 void* next_cmd
= cmd
.Set(&cmd
,
2834 static_cast<GLint
>(11),
2835 static_cast<GLint
>(12),
2836 static_cast<GLint
>(13),
2837 static_cast<GLint
>(14));
2838 EXPECT_EQ(static_cast<uint32_t>(cmds::PostSubBufferCHROMIUM::kCmdId
),
2839 cmd
.header
.command
);
2840 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2841 EXPECT_EQ(static_cast<GLint
>(11), cmd
.x
);
2842 EXPECT_EQ(static_cast<GLint
>(12), cmd
.y
);
2843 EXPECT_EQ(static_cast<GLint
>(13), cmd
.width
);
2844 EXPECT_EQ(static_cast<GLint
>(14), cmd
.height
);
2845 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2848 TEST_F(GLES2FormatTest
, TexImageIOSurface2DCHROMIUM
) {
2849 cmds::TexImageIOSurface2DCHROMIUM
& cmd
=
2850 *GetBufferAs
<cmds::TexImageIOSurface2DCHROMIUM
>();
2851 void* next_cmd
= cmd
.Set(&cmd
,
2852 static_cast<GLenum
>(11),
2853 static_cast<GLsizei
>(12),
2854 static_cast<GLsizei
>(13),
2855 static_cast<GLuint
>(14),
2856 static_cast<GLuint
>(15));
2857 EXPECT_EQ(static_cast<uint32_t>(cmds::TexImageIOSurface2DCHROMIUM::kCmdId
),
2858 cmd
.header
.command
);
2859 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2860 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2861 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.width
);
2862 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.height
);
2863 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.ioSurfaceId
);
2864 EXPECT_EQ(static_cast<GLuint
>(15), cmd
.plane
);
2865 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2868 TEST_F(GLES2FormatTest
, CopyTextureCHROMIUM
) {
2869 cmds::CopyTextureCHROMIUM
& cmd
= *GetBufferAs
<cmds::CopyTextureCHROMIUM
>();
2870 void* next_cmd
= cmd
.Set(&cmd
,
2871 static_cast<GLenum
>(11),
2872 static_cast<GLenum
>(12),
2873 static_cast<GLenum
>(13),
2874 static_cast<GLint
>(14),
2875 static_cast<GLint
>(15),
2876 static_cast<GLenum
>(16));
2877 EXPECT_EQ(static_cast<uint32_t>(cmds::CopyTextureCHROMIUM::kCmdId
),
2878 cmd
.header
.command
);
2879 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2880 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
2881 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.source_id
);
2882 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.dest_id
);
2883 EXPECT_EQ(static_cast<GLint
>(14), cmd
.level
);
2884 EXPECT_EQ(static_cast<GLint
>(15), cmd
.internalformat
);
2885 EXPECT_EQ(static_cast<GLenum
>(16), cmd
.dest_type
);
2886 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2889 TEST_F(GLES2FormatTest
, DrawArraysInstancedANGLE
) {
2890 cmds::DrawArraysInstancedANGLE
& cmd
=
2891 *GetBufferAs
<cmds::DrawArraysInstancedANGLE
>();
2892 void* next_cmd
= cmd
.Set(&cmd
,
2893 static_cast<GLenum
>(11),
2894 static_cast<GLint
>(12),
2895 static_cast<GLsizei
>(13),
2896 static_cast<GLsizei
>(14));
2897 EXPECT_EQ(static_cast<uint32_t>(cmds::DrawArraysInstancedANGLE::kCmdId
),
2898 cmd
.header
.command
);
2899 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2900 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
2901 EXPECT_EQ(static_cast<GLint
>(12), cmd
.first
);
2902 EXPECT_EQ(static_cast<GLsizei
>(13), cmd
.count
);
2903 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.primcount
);
2904 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2907 TEST_F(GLES2FormatTest
, DrawElementsInstancedANGLE
) {
2908 cmds::DrawElementsInstancedANGLE
& cmd
=
2909 *GetBufferAs
<cmds::DrawElementsInstancedANGLE
>();
2910 void* next_cmd
= cmd
.Set(&cmd
,
2911 static_cast<GLenum
>(11),
2912 static_cast<GLsizei
>(12),
2913 static_cast<GLenum
>(13),
2914 static_cast<GLuint
>(14),
2915 static_cast<GLsizei
>(15));
2916 EXPECT_EQ(static_cast<uint32_t>(cmds::DrawElementsInstancedANGLE::kCmdId
),
2917 cmd
.header
.command
);
2918 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2919 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.mode
);
2920 EXPECT_EQ(static_cast<GLsizei
>(12), cmd
.count
);
2921 EXPECT_EQ(static_cast<GLenum
>(13), cmd
.type
);
2922 EXPECT_EQ(static_cast<GLuint
>(14), cmd
.index_offset
);
2923 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.primcount
);
2924 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2927 TEST_F(GLES2FormatTest
, VertexAttribDivisorANGLE
) {
2928 cmds::VertexAttribDivisorANGLE
& cmd
=
2929 *GetBufferAs
<cmds::VertexAttribDivisorANGLE
>();
2931 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<GLuint
>(12));
2932 EXPECT_EQ(static_cast<uint32_t>(cmds::VertexAttribDivisorANGLE::kCmdId
),
2933 cmd
.header
.command
);
2934 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
2935 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.index
);
2936 EXPECT_EQ(static_cast<GLuint
>(12), cmd
.divisor
);
2937 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
2940 // TODO(gman): Write test for GenMailboxCHROMIUM
2941 TEST_F(GLES2FormatTest
, ProduceTextureCHROMIUMImmediate
) {
2942 const int kSomeBaseValueToTestWith
= 51;
2943 static GLbyte data
[] = {
2944 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 0),
2945 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 1),
2946 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 2),
2947 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 3),
2948 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 4),
2949 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 5),
2950 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 6),
2951 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 7),
2952 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 8),
2953 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 9),
2954 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 10),
2955 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 11),
2956 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 12),
2957 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 13),
2958 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 14),
2959 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 15),
2960 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 16),
2961 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 17),
2962 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 18),
2963 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 19),
2964 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 20),
2965 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 21),
2966 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 22),
2967 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 23),
2968 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 24),
2969 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 25),
2970 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 26),
2971 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 27),
2972 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 28),
2973 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 29),
2974 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 30),
2975 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 31),
2976 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 32),
2977 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 33),
2978 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 34),
2979 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 35),
2980 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 36),
2981 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 37),
2982 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 38),
2983 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 39),
2984 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 40),
2985 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 41),
2986 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 42),
2987 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 43),
2988 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 44),
2989 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 45),
2990 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 46),
2991 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 47),
2992 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 48),
2993 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 49),
2994 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 50),
2995 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 51),
2996 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 52),
2997 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 53),
2998 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 54),
2999 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 55),
3000 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 56),
3001 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 57),
3002 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 58),
3003 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 59),
3004 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 60),
3005 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 61),
3006 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 62),
3007 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 63),
3009 cmds::ProduceTextureCHROMIUMImmediate
& cmd
=
3010 *GetBufferAs
<cmds::ProduceTextureCHROMIUMImmediate
>();
3011 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11), data
);
3013 static_cast<uint32_t>(cmds::ProduceTextureCHROMIUMImmediate::kCmdId
),
3014 cmd
.header
.command
);
3015 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
3016 cmd
.header
.size
* 4u);
3017 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3018 CheckBytesWrittenMatchesExpectedSize(
3019 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
3020 // TODO(gman): Check that data was inserted;
3023 TEST_F(GLES2FormatTest
, ProduceTextureDirectCHROMIUMImmediate
) {
3024 const int kSomeBaseValueToTestWith
= 51;
3025 static GLbyte data
[] = {
3026 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 0),
3027 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 1),
3028 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 2),
3029 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 3),
3030 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 4),
3031 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 5),
3032 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 6),
3033 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 7),
3034 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 8),
3035 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 9),
3036 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 10),
3037 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 11),
3038 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 12),
3039 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 13),
3040 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 14),
3041 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 15),
3042 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 16),
3043 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 17),
3044 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 18),
3045 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 19),
3046 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 20),
3047 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 21),
3048 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 22),
3049 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 23),
3050 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 24),
3051 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 25),
3052 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 26),
3053 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 27),
3054 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 28),
3055 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 29),
3056 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 30),
3057 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 31),
3058 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 32),
3059 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 33),
3060 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 34),
3061 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 35),
3062 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 36),
3063 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 37),
3064 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 38),
3065 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 39),
3066 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 40),
3067 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 41),
3068 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 42),
3069 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 43),
3070 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 44),
3071 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 45),
3072 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 46),
3073 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 47),
3074 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 48),
3075 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 49),
3076 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 50),
3077 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 51),
3078 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 52),
3079 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 53),
3080 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 54),
3081 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 55),
3082 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 56),
3083 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 57),
3084 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 58),
3085 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 59),
3086 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 60),
3087 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 61),
3088 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 62),
3089 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 63),
3091 cmds::ProduceTextureDirectCHROMIUMImmediate
& cmd
=
3092 *GetBufferAs
<cmds::ProduceTextureDirectCHROMIUMImmediate
>();
3094 cmd
.Set(&cmd
, static_cast<GLuint
>(11), static_cast<GLenum
>(12), data
);
3095 EXPECT_EQ(static_cast<uint32_t>(
3096 cmds::ProduceTextureDirectCHROMIUMImmediate::kCmdId
),
3097 cmd
.header
.command
);
3098 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
3099 cmd
.header
.size
* 4u);
3100 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.texture
);
3101 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.target
);
3102 CheckBytesWrittenMatchesExpectedSize(
3103 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
3104 // TODO(gman): Check that data was inserted;
3107 TEST_F(GLES2FormatTest
, ConsumeTextureCHROMIUMImmediate
) {
3108 const int kSomeBaseValueToTestWith
= 51;
3109 static GLbyte data
[] = {
3110 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 0),
3111 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 1),
3112 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 2),
3113 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 3),
3114 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 4),
3115 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 5),
3116 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 6),
3117 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 7),
3118 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 8),
3119 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 9),
3120 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 10),
3121 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 11),
3122 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 12),
3123 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 13),
3124 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 14),
3125 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 15),
3126 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 16),
3127 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 17),
3128 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 18),
3129 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 19),
3130 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 20),
3131 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 21),
3132 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 22),
3133 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 23),
3134 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 24),
3135 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 25),
3136 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 26),
3137 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 27),
3138 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 28),
3139 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 29),
3140 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 30),
3141 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 31),
3142 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 32),
3143 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 33),
3144 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 34),
3145 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 35),
3146 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 36),
3147 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 37),
3148 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 38),
3149 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 39),
3150 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 40),
3151 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 41),
3152 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 42),
3153 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 43),
3154 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 44),
3155 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 45),
3156 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 46),
3157 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 47),
3158 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 48),
3159 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 49),
3160 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 50),
3161 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 51),
3162 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 52),
3163 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 53),
3164 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 54),
3165 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 55),
3166 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 56),
3167 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 57),
3168 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 58),
3169 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 59),
3170 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 60),
3171 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 61),
3172 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 62),
3173 static_cast<GLbyte
>(kSomeBaseValueToTestWith
+ 63),
3175 cmds::ConsumeTextureCHROMIUMImmediate
& cmd
=
3176 *GetBufferAs
<cmds::ConsumeTextureCHROMIUMImmediate
>();
3177 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11), data
);
3179 static_cast<uint32_t>(cmds::ConsumeTextureCHROMIUMImmediate::kCmdId
),
3180 cmd
.header
.command
);
3181 EXPECT_EQ(sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)),
3182 cmd
.header
.size
* 4u);
3183 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3184 CheckBytesWrittenMatchesExpectedSize(
3185 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
3186 // TODO(gman): Check that data was inserted;
3189 // TODO(gman): Write test for CreateAndConsumeTextureCHROMIUMImmediate
3190 TEST_F(GLES2FormatTest
, BindUniformLocationCHROMIUM
) {
3191 cmds::BindUniformLocationCHROMIUM
& cmd
=
3192 *GetBufferAs
<cmds::BindUniformLocationCHROMIUM
>();
3193 void* next_cmd
= cmd
.Set(&cmd
,
3194 static_cast<GLuint
>(11),
3195 static_cast<GLint
>(12),
3196 static_cast<uint32_t>(13),
3197 static_cast<uint32_t>(14),
3198 static_cast<uint32_t>(15));
3199 EXPECT_EQ(static_cast<uint32_t>(cmds::BindUniformLocationCHROMIUM::kCmdId
),
3200 cmd
.header
.command
);
3201 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3202 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
3203 EXPECT_EQ(static_cast<GLint
>(12), cmd
.location
);
3204 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.name_shm_id
);
3205 EXPECT_EQ(static_cast<uint32_t>(14), cmd
.name_shm_offset
);
3206 EXPECT_EQ(static_cast<uint32_t>(15), cmd
.data_size
);
3207 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3210 TEST_F(GLES2FormatTest
, BindUniformLocationCHROMIUMBucket
) {
3211 cmds::BindUniformLocationCHROMIUMBucket
& cmd
=
3212 *GetBufferAs
<cmds::BindUniformLocationCHROMIUMBucket
>();
3213 void* next_cmd
= cmd
.Set(&cmd
,
3214 static_cast<GLuint
>(11),
3215 static_cast<GLint
>(12),
3216 static_cast<uint32_t>(13));
3218 static_cast<uint32_t>(cmds::BindUniformLocationCHROMIUMBucket::kCmdId
),
3219 cmd
.header
.command
);
3220 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3221 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.program
);
3222 EXPECT_EQ(static_cast<GLint
>(12), cmd
.location
);
3223 EXPECT_EQ(static_cast<uint32_t>(13), cmd
.name_bucket_id
);
3224 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3227 TEST_F(GLES2FormatTest
, BindTexImage2DCHROMIUM
) {
3228 cmds::BindTexImage2DCHROMIUM
& cmd
=
3229 *GetBufferAs
<cmds::BindTexImage2DCHROMIUM
>();
3231 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLint
>(12));
3232 EXPECT_EQ(static_cast<uint32_t>(cmds::BindTexImage2DCHROMIUM::kCmdId
),
3233 cmd
.header
.command
);
3234 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3235 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3236 EXPECT_EQ(static_cast<GLint
>(12), cmd
.imageId
);
3237 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3240 TEST_F(GLES2FormatTest
, ReleaseTexImage2DCHROMIUM
) {
3241 cmds::ReleaseTexImage2DCHROMIUM
& cmd
=
3242 *GetBufferAs
<cmds::ReleaseTexImage2DCHROMIUM
>();
3244 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLint
>(12));
3245 EXPECT_EQ(static_cast<uint32_t>(cmds::ReleaseTexImage2DCHROMIUM::kCmdId
),
3246 cmd
.header
.command
);
3247 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3248 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3249 EXPECT_EQ(static_cast<GLint
>(12), cmd
.imageId
);
3250 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3253 TEST_F(GLES2FormatTest
, TraceBeginCHROMIUM
) {
3254 cmds::TraceBeginCHROMIUM
& cmd
= *GetBufferAs
<cmds::TraceBeginCHROMIUM
>();
3255 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
3256 EXPECT_EQ(static_cast<uint32_t>(cmds::TraceBeginCHROMIUM::kCmdId
),
3257 cmd
.header
.command
);
3258 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3259 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.bucket_id
);
3260 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3263 TEST_F(GLES2FormatTest
, TraceEndCHROMIUM
) {
3264 cmds::TraceEndCHROMIUM
& cmd
= *GetBufferAs
<cmds::TraceEndCHROMIUM
>();
3265 void* next_cmd
= cmd
.Set(&cmd
);
3266 EXPECT_EQ(static_cast<uint32_t>(cmds::TraceEndCHROMIUM::kCmdId
),
3267 cmd
.header
.command
);
3268 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3269 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3272 TEST_F(GLES2FormatTest
, AsyncTexSubImage2DCHROMIUM
) {
3273 cmds::AsyncTexSubImage2DCHROMIUM
& cmd
=
3274 *GetBufferAs
<cmds::AsyncTexSubImage2DCHROMIUM
>();
3275 void* next_cmd
= cmd
.Set(&cmd
,
3276 static_cast<GLenum
>(11),
3277 static_cast<GLint
>(12),
3278 static_cast<GLint
>(13),
3279 static_cast<GLint
>(14),
3280 static_cast<GLsizei
>(15),
3281 static_cast<GLsizei
>(16),
3282 static_cast<GLenum
>(17),
3283 static_cast<GLenum
>(18),
3284 static_cast<uint32_t>(19),
3285 static_cast<uint32_t>(20),
3286 static_cast<uint32_t>(21),
3287 static_cast<uint32_t>(22),
3288 static_cast<uint32_t>(23));
3289 EXPECT_EQ(static_cast<uint32_t>(cmds::AsyncTexSubImage2DCHROMIUM::kCmdId
),
3290 cmd
.header
.command
);
3291 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3292 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3293 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
3294 EXPECT_EQ(static_cast<GLint
>(13), cmd
.xoffset
);
3295 EXPECT_EQ(static_cast<GLint
>(14), cmd
.yoffset
);
3296 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.width
);
3297 EXPECT_EQ(static_cast<GLsizei
>(16), cmd
.height
);
3298 EXPECT_EQ(static_cast<GLenum
>(17), cmd
.format
);
3299 EXPECT_EQ(static_cast<GLenum
>(18), cmd
.type
);
3300 EXPECT_EQ(static_cast<uint32_t>(19), cmd
.data_shm_id
);
3301 EXPECT_EQ(static_cast<uint32_t>(20), cmd
.data_shm_offset
);
3302 EXPECT_EQ(static_cast<uint32_t>(21), cmd
.async_upload_token
);
3303 EXPECT_EQ(static_cast<uint32_t>(22), cmd
.sync_data_shm_id
);
3304 EXPECT_EQ(static_cast<uint32_t>(23), cmd
.sync_data_shm_offset
);
3305 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3308 TEST_F(GLES2FormatTest
, AsyncTexImage2DCHROMIUM
) {
3309 cmds::AsyncTexImage2DCHROMIUM
& cmd
=
3310 *GetBufferAs
<cmds::AsyncTexImage2DCHROMIUM
>();
3311 void* next_cmd
= cmd
.Set(&cmd
,
3312 static_cast<GLenum
>(11),
3313 static_cast<GLint
>(12),
3314 static_cast<GLint
>(13),
3315 static_cast<GLsizei
>(14),
3316 static_cast<GLsizei
>(15),
3317 static_cast<GLenum
>(16),
3318 static_cast<GLenum
>(17),
3319 static_cast<uint32_t>(18),
3320 static_cast<uint32_t>(19),
3321 static_cast<uint32_t>(20),
3322 static_cast<uint32_t>(21),
3323 static_cast<uint32_t>(22));
3324 EXPECT_EQ(static_cast<uint32_t>(cmds::AsyncTexImage2DCHROMIUM::kCmdId
),
3325 cmd
.header
.command
);
3326 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3327 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3328 EXPECT_EQ(static_cast<GLint
>(12), cmd
.level
);
3329 EXPECT_EQ(static_cast<GLint
>(13), cmd
.internalformat
);
3330 EXPECT_EQ(static_cast<GLsizei
>(14), cmd
.width
);
3331 EXPECT_EQ(static_cast<GLsizei
>(15), cmd
.height
);
3332 EXPECT_EQ(static_cast<GLenum
>(16), cmd
.format
);
3333 EXPECT_EQ(static_cast<GLenum
>(17), cmd
.type
);
3334 EXPECT_EQ(static_cast<uint32_t>(18), cmd
.pixels_shm_id
);
3335 EXPECT_EQ(static_cast<uint32_t>(19), cmd
.pixels_shm_offset
);
3336 EXPECT_EQ(static_cast<uint32_t>(20), cmd
.async_upload_token
);
3337 EXPECT_EQ(static_cast<uint32_t>(21), cmd
.sync_data_shm_id
);
3338 EXPECT_EQ(static_cast<uint32_t>(22), cmd
.sync_data_shm_offset
);
3339 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3342 TEST_F(GLES2FormatTest
, WaitAsyncTexImage2DCHROMIUM
) {
3343 cmds::WaitAsyncTexImage2DCHROMIUM
& cmd
=
3344 *GetBufferAs
<cmds::WaitAsyncTexImage2DCHROMIUM
>();
3345 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLenum
>(11));
3346 EXPECT_EQ(static_cast<uint32_t>(cmds::WaitAsyncTexImage2DCHROMIUM::kCmdId
),
3347 cmd
.header
.command
);
3348 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3349 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.target
);
3350 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3353 TEST_F(GLES2FormatTest
, WaitAllAsyncTexImage2DCHROMIUM
) {
3354 cmds::WaitAllAsyncTexImage2DCHROMIUM
& cmd
=
3355 *GetBufferAs
<cmds::WaitAllAsyncTexImage2DCHROMIUM
>();
3356 void* next_cmd
= cmd
.Set(&cmd
);
3357 EXPECT_EQ(static_cast<uint32_t>(cmds::WaitAllAsyncTexImage2DCHROMIUM::kCmdId
),
3358 cmd
.header
.command
);
3359 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3360 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3363 TEST_F(GLES2FormatTest
, DiscardFramebufferEXTImmediate
) {
3364 const int kSomeBaseValueToTestWith
= 51;
3365 static GLenum data
[] = {
3366 static_cast<GLenum
>(kSomeBaseValueToTestWith
+ 0),
3367 static_cast<GLenum
>(kSomeBaseValueToTestWith
+ 1),
3369 cmds::DiscardFramebufferEXTImmediate
& cmd
=
3370 *GetBufferAs
<cmds::DiscardFramebufferEXTImmediate
>();
3371 const GLsizei kNumElements
= 2;
3372 const size_t kExpectedCmdSize
=
3373 sizeof(cmd
) + kNumElements
* sizeof(GLenum
) * 1;
3375 cmd
.Set(&cmd
, static_cast<GLenum
>(1), static_cast<GLsizei
>(2), data
);
3376 EXPECT_EQ(static_cast<uint32_t>(cmds::DiscardFramebufferEXTImmediate::kCmdId
),
3377 cmd
.header
.command
);
3378 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
3379 EXPECT_EQ(static_cast<GLenum
>(1), cmd
.target
);
3380 EXPECT_EQ(static_cast<GLsizei
>(2), cmd
.count
);
3381 CheckBytesWrittenMatchesExpectedSize(
3382 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
3383 // TODO(gman): Check that data was inserted;
3386 TEST_F(GLES2FormatTest
, LoseContextCHROMIUM
) {
3387 cmds::LoseContextCHROMIUM
& cmd
= *GetBufferAs
<cmds::LoseContextCHROMIUM
>();
3389 cmd
.Set(&cmd
, static_cast<GLenum
>(11), static_cast<GLenum
>(12));
3390 EXPECT_EQ(static_cast<uint32_t>(cmds::LoseContextCHROMIUM::kCmdId
),
3391 cmd
.header
.command
);
3392 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3393 EXPECT_EQ(static_cast<GLenum
>(11), cmd
.current
);
3394 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.other
);
3395 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3398 // TODO(gman): Write test for InsertSyncPointCHROMIUM
3399 TEST_F(GLES2FormatTest
, WaitSyncPointCHROMIUM
) {
3400 cmds::WaitSyncPointCHROMIUM
& cmd
=
3401 *GetBufferAs
<cmds::WaitSyncPointCHROMIUM
>();
3402 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLuint
>(11));
3403 EXPECT_EQ(static_cast<uint32_t>(cmds::WaitSyncPointCHROMIUM::kCmdId
),
3404 cmd
.header
.command
);
3405 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3406 EXPECT_EQ(static_cast<GLuint
>(11), cmd
.sync_point
);
3407 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3410 TEST_F(GLES2FormatTest
, DrawBuffersEXTImmediate
) {
3411 const int kSomeBaseValueToTestWith
= 51;
3412 static GLenum data
[] = {
3413 static_cast<GLenum
>(kSomeBaseValueToTestWith
+ 0),
3415 cmds::DrawBuffersEXTImmediate
& cmd
=
3416 *GetBufferAs
<cmds::DrawBuffersEXTImmediate
>();
3417 const GLsizei kNumElements
= 1;
3418 const size_t kExpectedCmdSize
=
3419 sizeof(cmd
) + kNumElements
* sizeof(GLenum
) * 1;
3420 void* next_cmd
= cmd
.Set(&cmd
, static_cast<GLsizei
>(1), data
);
3421 EXPECT_EQ(static_cast<uint32_t>(cmds::DrawBuffersEXTImmediate::kCmdId
),
3422 cmd
.header
.command
);
3423 EXPECT_EQ(kExpectedCmdSize
, cmd
.header
.size
* 4u);
3424 EXPECT_EQ(static_cast<GLsizei
>(1), cmd
.count
);
3425 CheckBytesWrittenMatchesExpectedSize(
3426 next_cmd
, sizeof(cmd
) + RoundSizeToMultipleOfEntries(sizeof(data
)));
3427 // TODO(gman): Check that data was inserted;
3430 TEST_F(GLES2FormatTest
, DiscardBackbufferCHROMIUM
) {
3431 cmds::DiscardBackbufferCHROMIUM
& cmd
=
3432 *GetBufferAs
<cmds::DiscardBackbufferCHROMIUM
>();
3433 void* next_cmd
= cmd
.Set(&cmd
);
3434 EXPECT_EQ(static_cast<uint32_t>(cmds::DiscardBackbufferCHROMIUM::kCmdId
),
3435 cmd
.header
.command
);
3436 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3437 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3440 TEST_F(GLES2FormatTest
, ScheduleOverlayPlaneCHROMIUM
) {
3441 cmds::ScheduleOverlayPlaneCHROMIUM
& cmd
=
3442 *GetBufferAs
<cmds::ScheduleOverlayPlaneCHROMIUM
>();
3443 void* next_cmd
= cmd
.Set(&cmd
,
3444 static_cast<GLint
>(11),
3445 static_cast<GLenum
>(12),
3446 static_cast<GLuint
>(13),
3447 static_cast<GLint
>(14),
3448 static_cast<GLint
>(15),
3449 static_cast<GLint
>(16),
3450 static_cast<GLint
>(17),
3451 static_cast<GLfloat
>(18),
3452 static_cast<GLfloat
>(19),
3453 static_cast<GLfloat
>(20),
3454 static_cast<GLfloat
>(21));
3455 EXPECT_EQ(static_cast<uint32_t>(cmds::ScheduleOverlayPlaneCHROMIUM::kCmdId
),
3456 cmd
.header
.command
);
3457 EXPECT_EQ(sizeof(cmd
), cmd
.header
.size
* 4u);
3458 EXPECT_EQ(static_cast<GLint
>(11), cmd
.plane_z_order
);
3459 EXPECT_EQ(static_cast<GLenum
>(12), cmd
.plane_transform
);
3460 EXPECT_EQ(static_cast<GLuint
>(13), cmd
.overlay_texture_id
);
3461 EXPECT_EQ(static_cast<GLint
>(14), cmd
.bounds_x
);
3462 EXPECT_EQ(static_cast<GLint
>(15), cmd
.bounds_y
);
3463 EXPECT_EQ(static_cast<GLint
>(16), cmd
.bounds_width
);
3464 EXPECT_EQ(static_cast<GLint
>(17), cmd
.bounds_height
);
3465 EXPECT_EQ(static_cast<GLfloat
>(18), cmd
.uv_x
);
3466 EXPECT_EQ(static_cast<GLfloat
>(19), cmd
.uv_y
);
3467 EXPECT_EQ(static_cast<GLfloat
>(20), cmd
.uv_width
);
3468 EXPECT_EQ(static_cast<GLfloat
>(21), cmd
.uv_height
);
3469 CheckBytesWrittenMatchesExpectedSize(next_cmd
, sizeof(cmd
));
3472 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_