Added unit test for DevTools' ephemeral port support.
[chromium-blink-merge.git] / gpu / command_buffer / common / gles2_cmd_format_test_autogen.h
blob6df22957dc106727040e30bc206b3065b6324a4b
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
9 // DO NOT EDIT!
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),
21 cmd.header.command);
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>();
29 void* next_cmd =
30 cmd.Set(&cmd, static_cast<GLuint>(11), static_cast<GLuint>(12));
31 EXPECT_EQ(static_cast<uint32_t>(cmds::AttachShader::kCmdId),
32 cmd.header.command);
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),
48 cmd.header.command);
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),
66 cmd.header.command);
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>();
76 void* next_cmd =
77 cmd.Set(&cmd, static_cast<GLenum>(11), static_cast<GLuint>(12));
78 EXPECT_EQ(static_cast<uint32_t>(cmds::BindBuffer::kCmdId),
79 cmd.header.command);
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>();
88 void* next_cmd =
89 cmd.Set(&cmd, static_cast<GLenum>(11), static_cast<GLuint>(12));
90 EXPECT_EQ(static_cast<uint32_t>(cmds::BindFramebuffer::kCmdId),
91 cmd.header.command);
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>();
100 void* next_cmd =
101 cmd.Set(&cmd, static_cast<GLenum>(11), static_cast<GLuint>(12));
102 EXPECT_EQ(static_cast<uint32_t>(cmds::BindRenderbuffer::kCmdId),
103 cmd.header.command);
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>();
112 void* next_cmd =
113 cmd.Set(&cmd, static_cast<GLenum>(11), static_cast<GLuint>(12));
114 EXPECT_EQ(static_cast<uint32_t>(cmds::BindTexture::kCmdId),
115 cmd.header.command);
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),
130 cmd.header.command);
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),
143 cmd.header.command);
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>();
152 void* next_cmd =
153 cmd.Set(&cmd, static_cast<GLenum>(11), static_cast<GLenum>(12));
154 EXPECT_EQ(static_cast<uint32_t>(cmds::BlendEquationSeparate::kCmdId),
155 cmd.header.command);
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>();
164 void* next_cmd =
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),
181 cmd.header.command);
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),
199 cmd.header.command);
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),
218 cmd.header.command);
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),
236 cmd.header.command);
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),
261 cmd.header.command);
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),
274 cmd.header.command);
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),
284 cmd.header.command);
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),
310 cmd.header.command);
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),
328 cmd.header.command);
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),
352 cmd.header.command);
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),
378 cmd.header.command);
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),
406 cmd.header.command);
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),
430 cmd.header.command);
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),
454 cmd.header.command);
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),
471 cmd.header.command);
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>();
479 void* next_cmd =
480 cmd.Set(&cmd, static_cast<GLenum>(11), static_cast<uint32_t>(12));
481 EXPECT_EQ(static_cast<uint32_t>(cmds::CreateShader::kCmdId),
482 cmd.header.command);
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[] = {
500 12, 23, 34,
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),
506 cmd.header.command);
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(
511 next_cmd,
512 sizeof(cmd) + RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));
513 // TODO(gman): Check that ids were inserted;
516 TEST_F(GLES2FormatTest, DeleteFramebuffersImmediate) {
517 static GLuint ids[] = {
518 12, 23, 34,
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),
524 cmd.header.command);
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(
529 next_cmd,
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),
538 cmd.header.command);
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[] = {
546 12, 23, 34,
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),
552 cmd.header.command);
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(
557 next_cmd,
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),
566 cmd.header.command);
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[] = {
574 12, 23, 34,
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),
580 cmd.header.command);
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(
585 next_cmd,
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>();
610 void* next_cmd =
611 cmd.Set(&cmd, static_cast<GLclampf>(11), static_cast<GLclampf>(12));
612 EXPECT_EQ(static_cast<uint32_t>(cmds::DepthRangef::kCmdId),
613 cmd.header.command);
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>();
622 void* next_cmd =
623 cmd.Set(&cmd, static_cast<GLuint>(11), static_cast<GLuint>(12));
624 EXPECT_EQ(static_cast<uint32_t>(cmds::DetachShader::kCmdId),
625 cmd.header.command);
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),
646 cmd.header.command);
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),
659 cmd.header.command);
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),
675 cmd.header.command);
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),
698 cmd.header.command);
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),
729 cmd.header.command);
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),
746 cmd.header.command);
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[] = {
766 12, 23, 34,
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),
771 cmd.header.command);
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(
776 next_cmd,
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),
785 cmd.header.command);
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[] = {
793 12, 23, 34,
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),
799 cmd.header.command);
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(
804 next_cmd,
805 sizeof(cmd) + RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));
806 // TODO(gman): Check that ids were inserted;
809 TEST_F(GLES2FormatTest, GenRenderbuffersImmediate) {
810 static GLuint ids[] = {
811 12, 23, 34,
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),
817 cmd.header.command);
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(
822 next_cmd,
823 sizeof(cmd) + RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));
824 // TODO(gman): Check that ids were inserted;
827 TEST_F(GLES2FormatTest, GenTexturesImmediate) {
828 static GLuint ids[] = {
829 12, 23, 34,
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),
834 cmd.header.command);
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(
839 next_cmd,
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),
853 cmd.header.command);
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),
872 cmd.header.command);
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),
890 cmd.header.command);
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),
908 cmd.header.command);
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),
924 cmd.header.command);
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>();
935 void* next_cmd =
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));
967 EXPECT_EQ(
968 static_cast<uint32_t>(cmds::GetFramebufferAttachmentParameteriv::kCmdId),
969 cmd.header.command);
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),
986 cmd.header.command);
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>();
1013 void* next_cmd =
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>();
1060 void* next_cmd =
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>();
1090 void* next_cmd =
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>();
1102 void* next_cmd =
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>();
1235 void* next_cmd =
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>();
1365 void* next_cmd =
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>();
1377 void* next_cmd =
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>();
1447 void* next_cmd =
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>();
1515 void* next_cmd =
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>();
1569 void* next_cmd =
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>();
1659 void* next_cmd =
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>();
1694 void* next_cmd =
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>();
1740 void* next_cmd =
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;
1759 void* next_cmd =
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>();
1773 void* next_cmd =
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;
1792 void* next_cmd =
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;
1830 void* next_cmd =
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;
1868 void* next_cmd =
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;
1910 void* next_cmd =
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;
1952 void* next_cmd =
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;
1998 void* next_cmd =
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;
2044 void* next_cmd =
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;
2073 void* next_cmd =
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;
2112 void* next_cmd =
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;
2165 void* next_cmd =
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>();
2199 void* next_cmd =
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));
2435 EXPECT_EQ(
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));
2456 EXPECT_EQ(
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[] = {
2489 12, 23, 34,
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(
2500 next_cmd,
2501 sizeof(cmd) + RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));
2502 // TODO(gman): Check that ids were inserted;
2505 TEST_F(GLES2FormatTest, DeleteQueriesEXTImmediate) {
2506 static GLuint ids[] = {
2507 12, 23, 34,
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(
2518 next_cmd,
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>();
2542 void* next_cmd =
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[] = {
2583 12, 23, 34,
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(
2594 next_cmd,
2595 sizeof(cmd) + RoundSizeToMultipleOfEntries(arraysize(ids) * 4u));
2596 // TODO(gman): Check that ids were inserted;
2599 TEST_F(GLES2FormatTest, DeleteVertexArraysOESImmediate) {
2600 static GLuint ids[] = {
2601 12, 23, 34,
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(
2612 next_cmd,
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));
2763 EXPECT_EQ(
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>();
2807 void* next_cmd =
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>();
2820 void* next_cmd =
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>();
2930 void* next_cmd =
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);
3012 EXPECT_EQ(
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>();
3093 void* next_cmd =
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);
3178 EXPECT_EQ(
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));
3217 EXPECT_EQ(
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>();
3230 void* next_cmd =
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>();
3243 void* next_cmd =
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;
3374 void* next_cmd =
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>();
3388 void* next_cmd =
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_