OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file is auto-generated from | 5 // This file is auto-generated from |
6 // gpu/command_buffer/build_gles2_cmd_buffer.py | 6 // gpu/command_buffer/build_gles2_cmd_buffer.py |
7 // DO NOT EDIT! | 7 // DO NOT EDIT! |
8 | 8 |
9 // This file contains unit tests for gles2 commmands | 9 // This file contains unit tests for gles2 commmands |
10 // It is included by gles2_cmd_format_test.cc | 10 // It is included by gles2_cmd_format_test.cc |
11 | 11 |
12 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_ | 12 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_ |
13 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_ | 13 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_ |
14 | 14 |
15 TEST(GLES2FormatTest, ActiveTexture) { | 15 TEST_F(GLES2FormatTest, ActiveTexture) { |
16 ActiveTexture cmd = { { 0 } }; | 16 ActiveTexture& cmd = *GetBufferAs<ActiveTexture>(); |
17 void* next_cmd = cmd.Set( | 17 void* next_cmd = cmd.Set( |
18 &cmd, | 18 &cmd, |
19 static_cast<GLenum>(11)); | 19 static_cast<GLenum>(11)); |
20 EXPECT_EQ(static_cast<uint32>(ActiveTexture::kCmdId), | 20 EXPECT_EQ(static_cast<uint32>(ActiveTexture::kCmdId), |
21 cmd.header.command); | 21 cmd.header.command); |
22 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 22 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
23 EXPECT_EQ(static_cast<char*>(next_cmd), | |
24 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
25 EXPECT_EQ(static_cast<GLenum>(11), cmd.texture); | 23 EXPECT_EQ(static_cast<GLenum>(11), cmd.texture); |
| 24 CheckBytesWrittenMatchesExpectedSize( |
| 25 next_cmd, sizeof(cmd)); |
26 } | 26 } |
27 | 27 |
28 TEST(GLES2FormatTest, AttachShader) { | 28 TEST_F(GLES2FormatTest, AttachShader) { |
29 AttachShader cmd = { { 0 } }; | 29 AttachShader& cmd = *GetBufferAs<AttachShader>(); |
30 void* next_cmd = cmd.Set( | 30 void* next_cmd = cmd.Set( |
31 &cmd, | 31 &cmd, |
32 static_cast<GLuint>(11), | 32 static_cast<GLuint>(11), |
33 static_cast<GLuint>(12)); | 33 static_cast<GLuint>(12)); |
34 EXPECT_EQ(static_cast<uint32>(AttachShader::kCmdId), | 34 EXPECT_EQ(static_cast<uint32>(AttachShader::kCmdId), |
35 cmd.header.command); | 35 cmd.header.command); |
36 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 36 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
37 EXPECT_EQ(static_cast<char*>(next_cmd), | |
38 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
39 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 37 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
40 EXPECT_EQ(static_cast<GLuint>(12), cmd.shader); | 38 EXPECT_EQ(static_cast<GLuint>(12), cmd.shader); |
| 39 CheckBytesWrittenMatchesExpectedSize( |
| 40 next_cmd, sizeof(cmd)); |
41 } | 41 } |
42 | 42 |
43 TEST(GLES2FormatTest, BindAttribLocation) { | 43 TEST_F(GLES2FormatTest, BindAttribLocation) { |
44 BindAttribLocation cmd = { { 0 } }; | 44 BindAttribLocation& cmd = *GetBufferAs<BindAttribLocation>(); |
45 void* next_cmd = cmd.Set( | 45 void* next_cmd = cmd.Set( |
46 &cmd, | 46 &cmd, |
47 static_cast<GLuint>(11), | 47 static_cast<GLuint>(11), |
48 static_cast<GLuint>(12), | 48 static_cast<GLuint>(12), |
49 static_cast<uint32>(13), | 49 static_cast<uint32>(13), |
50 static_cast<uint32>(14), | 50 static_cast<uint32>(14), |
51 static_cast<uint32>(15)); | 51 static_cast<uint32>(15)); |
52 EXPECT_EQ(static_cast<uint32>(BindAttribLocation::kCmdId), | 52 EXPECT_EQ(static_cast<uint32>(BindAttribLocation::kCmdId), |
53 cmd.header.command); | 53 cmd.header.command); |
54 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 54 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
55 EXPECT_EQ(static_cast<char*>(next_cmd), | |
56 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
57 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 55 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
58 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); | 56 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); |
59 EXPECT_EQ(static_cast<uint32>(13), cmd.name_shm_id); | 57 EXPECT_EQ(static_cast<uint32>(13), cmd.name_shm_id); |
60 EXPECT_EQ(static_cast<uint32>(14), cmd.name_shm_offset); | 58 EXPECT_EQ(static_cast<uint32>(14), cmd.name_shm_offset); |
61 EXPECT_EQ(static_cast<uint32>(15), cmd.data_size); | 59 EXPECT_EQ(static_cast<uint32>(15), cmd.data_size); |
| 60 CheckBytesWrittenMatchesExpectedSize( |
| 61 next_cmd, sizeof(cmd)); |
62 } | 62 } |
63 | 63 |
64 | 64 |
65 TEST(GLES2FormatTest, BindAttribLocationImmediate) { | 65 TEST_F(GLES2FormatTest, BindAttribLocationImmediate) { |
66 int8 buf[256] = { 0, }; | |
67 BindAttribLocationImmediate& cmd = | 66 BindAttribLocationImmediate& cmd = |
68 *static_cast<BindAttribLocationImmediate*>(static_cast<void*>(&buf)); | 67 *GetBufferAs<BindAttribLocationImmediate>(); |
69 static const char* const test_str = "test string"; | 68 static const char* const test_str = "test string"; |
70 void* next_cmd = cmd.Set( | 69 void* next_cmd = cmd.Set( |
71 &cmd, | 70 &cmd, |
72 static_cast<GLuint>(11), | 71 static_cast<GLuint>(11), |
73 static_cast<GLuint>(12), | 72 static_cast<GLuint>(12), |
74 test_str, | 73 test_str, |
75 strlen(test_str)); | 74 strlen(test_str)); |
76 EXPECT_EQ(static_cast<uint32>(BindAttribLocationImmediate::kCmdId), | 75 EXPECT_EQ(static_cast<uint32>(BindAttribLocationImmediate::kCmdId), |
77 cmd.header.command); | 76 cmd.header.command); |
78 EXPECT_EQ(sizeof(cmd) + | 77 EXPECT_EQ(sizeof(cmd) + |
79 RoundSizeToMultipleOfEntries(strlen(test_str)), | 78 RoundSizeToMultipleOfEntries(strlen(test_str)), |
80 cmd.header.size * 4u); | 79 cmd.header.size * 4u); |
81 EXPECT_EQ(static_cast<char*>(next_cmd), | 80 EXPECT_EQ(static_cast<char*>(next_cmd), |
82 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 81 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + |
83 RoundSizeToMultipleOfEntries(strlen(test_str))); | 82 RoundSizeToMultipleOfEntries(strlen(test_str))); |
84 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 83 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
85 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); | 84 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); |
86 EXPECT_EQ(static_cast<uint32>(strlen(test_str)), cmd.data_size); | 85 EXPECT_EQ(static_cast<uint32>(strlen(test_str)), cmd.data_size); |
87 EXPECT_EQ(0, memcmp(test_str, ImmediateDataAddress(&cmd), strlen(test_str))); | 86 EXPECT_EQ(0, memcmp(test_str, ImmediateDataAddress(&cmd), strlen(test_str))); |
| 87 CheckBytesWritten( |
| 88 next_cmd, |
| 89 sizeof(cmd) + RoundSizeToMultipleOfEntries(strlen(test_str)), |
| 90 sizeof(cmd) + strlen(test_str)); |
88 } | 91 } |
89 | 92 |
90 TEST(GLES2FormatTest, BindAttribLocationBucket) { | 93 TEST_F(GLES2FormatTest, BindAttribLocationBucket) { |
91 BindAttribLocationBucket cmd = { { 0 } }; | 94 BindAttribLocationBucket& cmd = *GetBufferAs<BindAttribLocationBucket>(); |
92 void* next_cmd = cmd.Set( | 95 void* next_cmd = cmd.Set( |
93 &cmd, | 96 &cmd, |
94 static_cast<GLuint>(11), | 97 static_cast<GLuint>(11), |
95 static_cast<GLuint>(12), | 98 static_cast<GLuint>(12), |
96 static_cast<uint32>(13)); | 99 static_cast<uint32>(13)); |
97 EXPECT_EQ(static_cast<uint32>(BindAttribLocationBucket::kCmdId), | 100 EXPECT_EQ(static_cast<uint32>(BindAttribLocationBucket::kCmdId), |
98 cmd.header.command); | 101 cmd.header.command); |
99 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 102 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
100 EXPECT_EQ(static_cast<char*>(next_cmd), | |
101 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
102 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 103 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
103 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); | 104 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); |
104 EXPECT_EQ(static_cast<uint32>(13), cmd.name_bucket_id); | 105 EXPECT_EQ(static_cast<uint32>(13), cmd.name_bucket_id); |
| 106 CheckBytesWrittenMatchesExpectedSize( |
| 107 next_cmd, sizeof(cmd)); |
105 } | 108 } |
106 | 109 |
107 TEST(GLES2FormatTest, BindBuffer) { | 110 TEST_F(GLES2FormatTest, BindBuffer) { |
108 BindBuffer cmd = { { 0 } }; | 111 BindBuffer& cmd = *GetBufferAs<BindBuffer>(); |
109 void* next_cmd = cmd.Set( | 112 void* next_cmd = cmd.Set( |
110 &cmd, | 113 &cmd, |
111 static_cast<GLenum>(11), | 114 static_cast<GLenum>(11), |
112 static_cast<GLuint>(12)); | 115 static_cast<GLuint>(12)); |
113 EXPECT_EQ(static_cast<uint32>(BindBuffer::kCmdId), | 116 EXPECT_EQ(static_cast<uint32>(BindBuffer::kCmdId), |
114 cmd.header.command); | 117 cmd.header.command); |
115 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 118 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
116 EXPECT_EQ(static_cast<char*>(next_cmd), | |
117 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
118 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 119 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
119 EXPECT_EQ(static_cast<GLuint>(12), cmd.buffer); | 120 EXPECT_EQ(static_cast<GLuint>(12), cmd.buffer); |
| 121 CheckBytesWrittenMatchesExpectedSize( |
| 122 next_cmd, sizeof(cmd)); |
120 } | 123 } |
121 | 124 |
122 TEST(GLES2FormatTest, BindFramebuffer) { | 125 TEST_F(GLES2FormatTest, BindFramebuffer) { |
123 BindFramebuffer cmd = { { 0 } }; | 126 BindFramebuffer& cmd = *GetBufferAs<BindFramebuffer>(); |
124 void* next_cmd = cmd.Set( | 127 void* next_cmd = cmd.Set( |
125 &cmd, | 128 &cmd, |
126 static_cast<GLenum>(11), | 129 static_cast<GLenum>(11), |
127 static_cast<GLuint>(12)); | 130 static_cast<GLuint>(12)); |
128 EXPECT_EQ(static_cast<uint32>(BindFramebuffer::kCmdId), | 131 EXPECT_EQ(static_cast<uint32>(BindFramebuffer::kCmdId), |
129 cmd.header.command); | 132 cmd.header.command); |
130 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 133 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
131 EXPECT_EQ(static_cast<char*>(next_cmd), | |
132 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
133 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 134 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
134 EXPECT_EQ(static_cast<GLuint>(12), cmd.framebuffer); | 135 EXPECT_EQ(static_cast<GLuint>(12), cmd.framebuffer); |
| 136 CheckBytesWrittenMatchesExpectedSize( |
| 137 next_cmd, sizeof(cmd)); |
135 } | 138 } |
136 | 139 |
137 TEST(GLES2FormatTest, BindRenderbuffer) { | 140 TEST_F(GLES2FormatTest, BindRenderbuffer) { |
138 BindRenderbuffer cmd = { { 0 } }; | 141 BindRenderbuffer& cmd = *GetBufferAs<BindRenderbuffer>(); |
139 void* next_cmd = cmd.Set( | 142 void* next_cmd = cmd.Set( |
140 &cmd, | 143 &cmd, |
141 static_cast<GLenum>(11), | 144 static_cast<GLenum>(11), |
142 static_cast<GLuint>(12)); | 145 static_cast<GLuint>(12)); |
143 EXPECT_EQ(static_cast<uint32>(BindRenderbuffer::kCmdId), | 146 EXPECT_EQ(static_cast<uint32>(BindRenderbuffer::kCmdId), |
144 cmd.header.command); | 147 cmd.header.command); |
145 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 148 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
146 EXPECT_EQ(static_cast<char*>(next_cmd), | |
147 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
148 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 149 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
149 EXPECT_EQ(static_cast<GLuint>(12), cmd.renderbuffer); | 150 EXPECT_EQ(static_cast<GLuint>(12), cmd.renderbuffer); |
| 151 CheckBytesWrittenMatchesExpectedSize( |
| 152 next_cmd, sizeof(cmd)); |
150 } | 153 } |
151 | 154 |
152 TEST(GLES2FormatTest, BindTexture) { | 155 TEST_F(GLES2FormatTest, BindTexture) { |
153 BindTexture cmd = { { 0 } }; | 156 BindTexture& cmd = *GetBufferAs<BindTexture>(); |
154 void* next_cmd = cmd.Set( | 157 void* next_cmd = cmd.Set( |
155 &cmd, | 158 &cmd, |
156 static_cast<GLenum>(11), | 159 static_cast<GLenum>(11), |
157 static_cast<GLuint>(12)); | 160 static_cast<GLuint>(12)); |
158 EXPECT_EQ(static_cast<uint32>(BindTexture::kCmdId), | 161 EXPECT_EQ(static_cast<uint32>(BindTexture::kCmdId), |
159 cmd.header.command); | 162 cmd.header.command); |
160 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 163 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
161 EXPECT_EQ(static_cast<char*>(next_cmd), | |
162 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
163 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 164 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
164 EXPECT_EQ(static_cast<GLuint>(12), cmd.texture); | 165 EXPECT_EQ(static_cast<GLuint>(12), cmd.texture); |
| 166 CheckBytesWrittenMatchesExpectedSize( |
| 167 next_cmd, sizeof(cmd)); |
165 } | 168 } |
166 | 169 |
167 TEST(GLES2FormatTest, BlendColor) { | 170 TEST_F(GLES2FormatTest, BlendColor) { |
168 BlendColor cmd = { { 0 } }; | 171 BlendColor& cmd = *GetBufferAs<BlendColor>(); |
169 void* next_cmd = cmd.Set( | 172 void* next_cmd = cmd.Set( |
170 &cmd, | 173 &cmd, |
171 static_cast<GLclampf>(11), | 174 static_cast<GLclampf>(11), |
172 static_cast<GLclampf>(12), | 175 static_cast<GLclampf>(12), |
173 static_cast<GLclampf>(13), | 176 static_cast<GLclampf>(13), |
174 static_cast<GLclampf>(14)); | 177 static_cast<GLclampf>(14)); |
175 EXPECT_EQ(static_cast<uint32>(BlendColor::kCmdId), | 178 EXPECT_EQ(static_cast<uint32>(BlendColor::kCmdId), |
176 cmd.header.command); | 179 cmd.header.command); |
177 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 180 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
178 EXPECT_EQ(static_cast<char*>(next_cmd), | |
179 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
180 EXPECT_EQ(static_cast<GLclampf>(11), cmd.red); | 181 EXPECT_EQ(static_cast<GLclampf>(11), cmd.red); |
181 EXPECT_EQ(static_cast<GLclampf>(12), cmd.green); | 182 EXPECT_EQ(static_cast<GLclampf>(12), cmd.green); |
182 EXPECT_EQ(static_cast<GLclampf>(13), cmd.blue); | 183 EXPECT_EQ(static_cast<GLclampf>(13), cmd.blue); |
183 EXPECT_EQ(static_cast<GLclampf>(14), cmd.alpha); | 184 EXPECT_EQ(static_cast<GLclampf>(14), cmd.alpha); |
| 185 CheckBytesWrittenMatchesExpectedSize( |
| 186 next_cmd, sizeof(cmd)); |
184 } | 187 } |
185 | 188 |
186 TEST(GLES2FormatTest, BlendEquation) { | 189 TEST_F(GLES2FormatTest, BlendEquation) { |
187 BlendEquation cmd = { { 0 } }; | 190 BlendEquation& cmd = *GetBufferAs<BlendEquation>(); |
188 void* next_cmd = cmd.Set( | 191 void* next_cmd = cmd.Set( |
189 &cmd, | 192 &cmd, |
190 static_cast<GLenum>(11)); | 193 static_cast<GLenum>(11)); |
191 EXPECT_EQ(static_cast<uint32>(BlendEquation::kCmdId), | 194 EXPECT_EQ(static_cast<uint32>(BlendEquation::kCmdId), |
192 cmd.header.command); | 195 cmd.header.command); |
193 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 196 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
194 EXPECT_EQ(static_cast<char*>(next_cmd), | |
195 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
196 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); | 197 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); |
| 198 CheckBytesWrittenMatchesExpectedSize( |
| 199 next_cmd, sizeof(cmd)); |
197 } | 200 } |
198 | 201 |
199 TEST(GLES2FormatTest, BlendEquationSeparate) { | 202 TEST_F(GLES2FormatTest, BlendEquationSeparate) { |
200 BlendEquationSeparate cmd = { { 0 } }; | 203 BlendEquationSeparate& cmd = *GetBufferAs<BlendEquationSeparate>(); |
201 void* next_cmd = cmd.Set( | 204 void* next_cmd = cmd.Set( |
202 &cmd, | 205 &cmd, |
203 static_cast<GLenum>(11), | 206 static_cast<GLenum>(11), |
204 static_cast<GLenum>(12)); | 207 static_cast<GLenum>(12)); |
205 EXPECT_EQ(static_cast<uint32>(BlendEquationSeparate::kCmdId), | 208 EXPECT_EQ(static_cast<uint32>(BlendEquationSeparate::kCmdId), |
206 cmd.header.command); | 209 cmd.header.command); |
207 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 210 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
208 EXPECT_EQ(static_cast<char*>(next_cmd), | |
209 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
210 EXPECT_EQ(static_cast<GLenum>(11), cmd.modeRGB); | 211 EXPECT_EQ(static_cast<GLenum>(11), cmd.modeRGB); |
211 EXPECT_EQ(static_cast<GLenum>(12), cmd.modeAlpha); | 212 EXPECT_EQ(static_cast<GLenum>(12), cmd.modeAlpha); |
| 213 CheckBytesWrittenMatchesExpectedSize( |
| 214 next_cmd, sizeof(cmd)); |
212 } | 215 } |
213 | 216 |
214 TEST(GLES2FormatTest, BlendFunc) { | 217 TEST_F(GLES2FormatTest, BlendFunc) { |
215 BlendFunc cmd = { { 0 } }; | 218 BlendFunc& cmd = *GetBufferAs<BlendFunc>(); |
216 void* next_cmd = cmd.Set( | 219 void* next_cmd = cmd.Set( |
217 &cmd, | 220 &cmd, |
218 static_cast<GLenum>(11), | 221 static_cast<GLenum>(11), |
219 static_cast<GLenum>(12)); | 222 static_cast<GLenum>(12)); |
220 EXPECT_EQ(static_cast<uint32>(BlendFunc::kCmdId), | 223 EXPECT_EQ(static_cast<uint32>(BlendFunc::kCmdId), |
221 cmd.header.command); | 224 cmd.header.command); |
222 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 225 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
223 EXPECT_EQ(static_cast<char*>(next_cmd), | |
224 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
225 EXPECT_EQ(static_cast<GLenum>(11), cmd.sfactor); | 226 EXPECT_EQ(static_cast<GLenum>(11), cmd.sfactor); |
226 EXPECT_EQ(static_cast<GLenum>(12), cmd.dfactor); | 227 EXPECT_EQ(static_cast<GLenum>(12), cmd.dfactor); |
| 228 CheckBytesWrittenMatchesExpectedSize( |
| 229 next_cmd, sizeof(cmd)); |
227 } | 230 } |
228 | 231 |
229 TEST(GLES2FormatTest, BlendFuncSeparate) { | 232 TEST_F(GLES2FormatTest, BlendFuncSeparate) { |
230 BlendFuncSeparate cmd = { { 0 } }; | 233 BlendFuncSeparate& cmd = *GetBufferAs<BlendFuncSeparate>(); |
231 void* next_cmd = cmd.Set( | 234 void* next_cmd = cmd.Set( |
232 &cmd, | 235 &cmd, |
233 static_cast<GLenum>(11), | 236 static_cast<GLenum>(11), |
234 static_cast<GLenum>(12), | 237 static_cast<GLenum>(12), |
235 static_cast<GLenum>(13), | 238 static_cast<GLenum>(13), |
236 static_cast<GLenum>(14)); | 239 static_cast<GLenum>(14)); |
237 EXPECT_EQ(static_cast<uint32>(BlendFuncSeparate::kCmdId), | 240 EXPECT_EQ(static_cast<uint32>(BlendFuncSeparate::kCmdId), |
238 cmd.header.command); | 241 cmd.header.command); |
239 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 242 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
240 EXPECT_EQ(static_cast<char*>(next_cmd), | |
241 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
242 EXPECT_EQ(static_cast<GLenum>(11), cmd.srcRGB); | 243 EXPECT_EQ(static_cast<GLenum>(11), cmd.srcRGB); |
243 EXPECT_EQ(static_cast<GLenum>(12), cmd.dstRGB); | 244 EXPECT_EQ(static_cast<GLenum>(12), cmd.dstRGB); |
244 EXPECT_EQ(static_cast<GLenum>(13), cmd.srcAlpha); | 245 EXPECT_EQ(static_cast<GLenum>(13), cmd.srcAlpha); |
245 EXPECT_EQ(static_cast<GLenum>(14), cmd.dstAlpha); | 246 EXPECT_EQ(static_cast<GLenum>(14), cmd.dstAlpha); |
| 247 CheckBytesWrittenMatchesExpectedSize( |
| 248 next_cmd, sizeof(cmd)); |
246 } | 249 } |
247 | 250 |
248 TEST(GLES2FormatTest, BufferData) { | 251 TEST_F(GLES2FormatTest, BufferData) { |
249 BufferData cmd = { { 0 } }; | 252 BufferData& cmd = *GetBufferAs<BufferData>(); |
250 void* next_cmd = cmd.Set( | 253 void* next_cmd = cmd.Set( |
251 &cmd, | 254 &cmd, |
252 static_cast<GLenum>(11), | 255 static_cast<GLenum>(11), |
253 static_cast<GLsizeiptr>(12), | 256 static_cast<GLsizeiptr>(12), |
254 static_cast<uint32>(13), | 257 static_cast<uint32>(13), |
255 static_cast<uint32>(14), | 258 static_cast<uint32>(14), |
256 static_cast<GLenum>(15)); | 259 static_cast<GLenum>(15)); |
257 EXPECT_EQ(static_cast<uint32>(BufferData::kCmdId), | 260 EXPECT_EQ(static_cast<uint32>(BufferData::kCmdId), |
258 cmd.header.command); | 261 cmd.header.command); |
259 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 262 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
260 EXPECT_EQ(static_cast<char*>(next_cmd), | |
261 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
262 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 263 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
263 EXPECT_EQ(static_cast<GLsizeiptr>(12), cmd.size); | 264 EXPECT_EQ(static_cast<GLsizeiptr>(12), cmd.size); |
264 EXPECT_EQ(static_cast<uint32>(13), cmd.data_shm_id); | 265 EXPECT_EQ(static_cast<uint32>(13), cmd.data_shm_id); |
265 EXPECT_EQ(static_cast<uint32>(14), cmd.data_shm_offset); | 266 EXPECT_EQ(static_cast<uint32>(14), cmd.data_shm_offset); |
266 EXPECT_EQ(static_cast<GLenum>(15), cmd.usage); | 267 EXPECT_EQ(static_cast<GLenum>(15), cmd.usage); |
| 268 CheckBytesWrittenMatchesExpectedSize( |
| 269 next_cmd, sizeof(cmd)); |
267 } | 270 } |
268 | 271 |
269 // TODO(gman): Implement test for BufferDataImmediate | 272 // TODO(gman): Implement test for BufferDataImmediate |
270 TEST(GLES2FormatTest, BufferSubData) { | 273 TEST_F(GLES2FormatTest, BufferSubData) { |
271 BufferSubData cmd = { { 0 } }; | 274 BufferSubData& cmd = *GetBufferAs<BufferSubData>(); |
272 void* next_cmd = cmd.Set( | 275 void* next_cmd = cmd.Set( |
273 &cmd, | 276 &cmd, |
274 static_cast<GLenum>(11), | 277 static_cast<GLenum>(11), |
275 static_cast<GLintptr>(12), | 278 static_cast<GLintptr>(12), |
276 static_cast<GLsizeiptr>(13), | 279 static_cast<GLsizeiptr>(13), |
277 static_cast<uint32>(14), | 280 static_cast<uint32>(14), |
278 static_cast<uint32>(15)); | 281 static_cast<uint32>(15)); |
279 EXPECT_EQ(static_cast<uint32>(BufferSubData::kCmdId), | 282 EXPECT_EQ(static_cast<uint32>(BufferSubData::kCmdId), |
280 cmd.header.command); | 283 cmd.header.command); |
281 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 284 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
282 EXPECT_EQ(static_cast<char*>(next_cmd), | |
283 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
284 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 285 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
285 EXPECT_EQ(static_cast<GLintptr>(12), cmd.offset); | 286 EXPECT_EQ(static_cast<GLintptr>(12), cmd.offset); |
286 EXPECT_EQ(static_cast<GLsizeiptr>(13), cmd.size); | 287 EXPECT_EQ(static_cast<GLsizeiptr>(13), cmd.size); |
287 EXPECT_EQ(static_cast<uint32>(14), cmd.data_shm_id); | 288 EXPECT_EQ(static_cast<uint32>(14), cmd.data_shm_id); |
288 EXPECT_EQ(static_cast<uint32>(15), cmd.data_shm_offset); | 289 EXPECT_EQ(static_cast<uint32>(15), cmd.data_shm_offset); |
| 290 CheckBytesWrittenMatchesExpectedSize( |
| 291 next_cmd, sizeof(cmd)); |
289 } | 292 } |
290 | 293 |
291 // TODO(gman): Implement test for BufferSubDataImmediate | 294 // TODO(gman): Implement test for BufferSubDataImmediate |
292 TEST(GLES2FormatTest, CheckFramebufferStatus) { | 295 TEST_F(GLES2FormatTest, CheckFramebufferStatus) { |
293 CheckFramebufferStatus cmd = { { 0 } }; | 296 CheckFramebufferStatus& cmd = *GetBufferAs<CheckFramebufferStatus>(); |
294 void* next_cmd = cmd.Set( | 297 void* next_cmd = cmd.Set( |
295 &cmd, | 298 &cmd, |
296 static_cast<GLenum>(11), | 299 static_cast<GLenum>(11), |
297 static_cast<uint32>(12), | 300 static_cast<uint32>(12), |
298 static_cast<uint32>(13)); | 301 static_cast<uint32>(13)); |
299 EXPECT_EQ(static_cast<uint32>(CheckFramebufferStatus::kCmdId), | 302 EXPECT_EQ(static_cast<uint32>(CheckFramebufferStatus::kCmdId), |
300 cmd.header.command); | 303 cmd.header.command); |
301 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 304 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
302 EXPECT_EQ(static_cast<char*>(next_cmd), | |
303 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
304 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 305 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
305 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 306 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
306 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 307 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 308 CheckBytesWrittenMatchesExpectedSize( |
| 309 next_cmd, sizeof(cmd)); |
307 } | 310 } |
308 | 311 |
309 TEST(GLES2FormatTest, Clear) { | 312 TEST_F(GLES2FormatTest, Clear) { |
310 Clear cmd = { { 0 } }; | 313 Clear& cmd = *GetBufferAs<Clear>(); |
311 void* next_cmd = cmd.Set( | 314 void* next_cmd = cmd.Set( |
312 &cmd, | 315 &cmd, |
313 static_cast<GLbitfield>(11)); | 316 static_cast<GLbitfield>(11)); |
314 EXPECT_EQ(static_cast<uint32>(Clear::kCmdId), | 317 EXPECT_EQ(static_cast<uint32>(Clear::kCmdId), |
315 cmd.header.command); | 318 cmd.header.command); |
316 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 319 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
317 EXPECT_EQ(static_cast<char*>(next_cmd), | |
318 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
319 EXPECT_EQ(static_cast<GLbitfield>(11), cmd.mask); | 320 EXPECT_EQ(static_cast<GLbitfield>(11), cmd.mask); |
| 321 CheckBytesWrittenMatchesExpectedSize( |
| 322 next_cmd, sizeof(cmd)); |
320 } | 323 } |
321 | 324 |
322 TEST(GLES2FormatTest, ClearColor) { | 325 TEST_F(GLES2FormatTest, ClearColor) { |
323 ClearColor cmd = { { 0 } }; | 326 ClearColor& cmd = *GetBufferAs<ClearColor>(); |
324 void* next_cmd = cmd.Set( | 327 void* next_cmd = cmd.Set( |
325 &cmd, | 328 &cmd, |
326 static_cast<GLclampf>(11), | 329 static_cast<GLclampf>(11), |
327 static_cast<GLclampf>(12), | 330 static_cast<GLclampf>(12), |
328 static_cast<GLclampf>(13), | 331 static_cast<GLclampf>(13), |
329 static_cast<GLclampf>(14)); | 332 static_cast<GLclampf>(14)); |
330 EXPECT_EQ(static_cast<uint32>(ClearColor::kCmdId), | 333 EXPECT_EQ(static_cast<uint32>(ClearColor::kCmdId), |
331 cmd.header.command); | 334 cmd.header.command); |
332 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 335 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
333 EXPECT_EQ(static_cast<char*>(next_cmd), | |
334 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
335 EXPECT_EQ(static_cast<GLclampf>(11), cmd.red); | 336 EXPECT_EQ(static_cast<GLclampf>(11), cmd.red); |
336 EXPECT_EQ(static_cast<GLclampf>(12), cmd.green); | 337 EXPECT_EQ(static_cast<GLclampf>(12), cmd.green); |
337 EXPECT_EQ(static_cast<GLclampf>(13), cmd.blue); | 338 EXPECT_EQ(static_cast<GLclampf>(13), cmd.blue); |
338 EXPECT_EQ(static_cast<GLclampf>(14), cmd.alpha); | 339 EXPECT_EQ(static_cast<GLclampf>(14), cmd.alpha); |
| 340 CheckBytesWrittenMatchesExpectedSize( |
| 341 next_cmd, sizeof(cmd)); |
339 } | 342 } |
340 | 343 |
341 TEST(GLES2FormatTest, ClearDepthf) { | 344 TEST_F(GLES2FormatTest, ClearDepthf) { |
342 ClearDepthf cmd = { { 0 } }; | 345 ClearDepthf& cmd = *GetBufferAs<ClearDepthf>(); |
343 void* next_cmd = cmd.Set( | 346 void* next_cmd = cmd.Set( |
344 &cmd, | 347 &cmd, |
345 static_cast<GLclampf>(11)); | 348 static_cast<GLclampf>(11)); |
346 EXPECT_EQ(static_cast<uint32>(ClearDepthf::kCmdId), | 349 EXPECT_EQ(static_cast<uint32>(ClearDepthf::kCmdId), |
347 cmd.header.command); | 350 cmd.header.command); |
348 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 351 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
349 EXPECT_EQ(static_cast<char*>(next_cmd), | |
350 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
351 EXPECT_EQ(static_cast<GLclampf>(11), cmd.depth); | 352 EXPECT_EQ(static_cast<GLclampf>(11), cmd.depth); |
| 353 CheckBytesWrittenMatchesExpectedSize( |
| 354 next_cmd, sizeof(cmd)); |
352 } | 355 } |
353 | 356 |
354 TEST(GLES2FormatTest, ClearStencil) { | 357 TEST_F(GLES2FormatTest, ClearStencil) { |
355 ClearStencil cmd = { { 0 } }; | 358 ClearStencil& cmd = *GetBufferAs<ClearStencil>(); |
356 void* next_cmd = cmd.Set( | 359 void* next_cmd = cmd.Set( |
357 &cmd, | 360 &cmd, |
358 static_cast<GLint>(11)); | 361 static_cast<GLint>(11)); |
359 EXPECT_EQ(static_cast<uint32>(ClearStencil::kCmdId), | 362 EXPECT_EQ(static_cast<uint32>(ClearStencil::kCmdId), |
360 cmd.header.command); | 363 cmd.header.command); |
361 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 364 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
362 EXPECT_EQ(static_cast<char*>(next_cmd), | |
363 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
364 EXPECT_EQ(static_cast<GLint>(11), cmd.s); | 365 EXPECT_EQ(static_cast<GLint>(11), cmd.s); |
| 366 CheckBytesWrittenMatchesExpectedSize( |
| 367 next_cmd, sizeof(cmd)); |
365 } | 368 } |
366 | 369 |
367 TEST(GLES2FormatTest, ColorMask) { | 370 TEST_F(GLES2FormatTest, ColorMask) { |
368 ColorMask cmd = { { 0 } }; | 371 ColorMask& cmd = *GetBufferAs<ColorMask>(); |
369 void* next_cmd = cmd.Set( | 372 void* next_cmd = cmd.Set( |
370 &cmd, | 373 &cmd, |
371 static_cast<GLboolean>(11), | 374 static_cast<GLboolean>(11), |
372 static_cast<GLboolean>(12), | 375 static_cast<GLboolean>(12), |
373 static_cast<GLboolean>(13), | 376 static_cast<GLboolean>(13), |
374 static_cast<GLboolean>(14)); | 377 static_cast<GLboolean>(14)); |
375 EXPECT_EQ(static_cast<uint32>(ColorMask::kCmdId), | 378 EXPECT_EQ(static_cast<uint32>(ColorMask::kCmdId), |
376 cmd.header.command); | 379 cmd.header.command); |
377 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 380 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
378 EXPECT_EQ(static_cast<char*>(next_cmd), | |
379 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
380 EXPECT_EQ(static_cast<GLboolean>(11), cmd.red); | 381 EXPECT_EQ(static_cast<GLboolean>(11), cmd.red); |
381 EXPECT_EQ(static_cast<GLboolean>(12), cmd.green); | 382 EXPECT_EQ(static_cast<GLboolean>(12), cmd.green); |
382 EXPECT_EQ(static_cast<GLboolean>(13), cmd.blue); | 383 EXPECT_EQ(static_cast<GLboolean>(13), cmd.blue); |
383 EXPECT_EQ(static_cast<GLboolean>(14), cmd.alpha); | 384 EXPECT_EQ(static_cast<GLboolean>(14), cmd.alpha); |
| 385 CheckBytesWrittenMatchesExpectedSize( |
| 386 next_cmd, sizeof(cmd)); |
384 } | 387 } |
385 | 388 |
386 TEST(GLES2FormatTest, CompileShader) { | 389 TEST_F(GLES2FormatTest, CompileShader) { |
387 CompileShader cmd = { { 0 } }; | 390 CompileShader& cmd = *GetBufferAs<CompileShader>(); |
388 void* next_cmd = cmd.Set( | 391 void* next_cmd = cmd.Set( |
389 &cmd, | 392 &cmd, |
390 static_cast<GLuint>(11)); | 393 static_cast<GLuint>(11)); |
391 EXPECT_EQ(static_cast<uint32>(CompileShader::kCmdId), | 394 EXPECT_EQ(static_cast<uint32>(CompileShader::kCmdId), |
392 cmd.header.command); | 395 cmd.header.command); |
393 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 396 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
394 EXPECT_EQ(static_cast<char*>(next_cmd), | |
395 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
396 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 397 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
| 398 CheckBytesWrittenMatchesExpectedSize( |
| 399 next_cmd, sizeof(cmd)); |
397 } | 400 } |
398 | 401 |
399 TEST(GLES2FormatTest, CompressedTexImage2D) { | 402 TEST_F(GLES2FormatTest, CompressedTexImage2D) { |
400 CompressedTexImage2D cmd = { { 0 } }; | 403 CompressedTexImage2D& cmd = *GetBufferAs<CompressedTexImage2D>(); |
401 void* next_cmd = cmd.Set( | 404 void* next_cmd = cmd.Set( |
402 &cmd, | 405 &cmd, |
403 static_cast<GLenum>(11), | 406 static_cast<GLenum>(11), |
404 static_cast<GLint>(12), | 407 static_cast<GLint>(12), |
405 static_cast<GLenum>(13), | 408 static_cast<GLenum>(13), |
406 static_cast<GLsizei>(14), | 409 static_cast<GLsizei>(14), |
407 static_cast<GLsizei>(15), | 410 static_cast<GLsizei>(15), |
408 static_cast<GLint>(16), | 411 static_cast<GLint>(16), |
409 static_cast<GLsizei>(17), | 412 static_cast<GLsizei>(17), |
410 static_cast<uint32>(18), | 413 static_cast<uint32>(18), |
411 static_cast<uint32>(19)); | 414 static_cast<uint32>(19)); |
412 EXPECT_EQ(static_cast<uint32>(CompressedTexImage2D::kCmdId), | 415 EXPECT_EQ(static_cast<uint32>(CompressedTexImage2D::kCmdId), |
413 cmd.header.command); | 416 cmd.header.command); |
414 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 417 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
415 EXPECT_EQ(static_cast<char*>(next_cmd), | |
416 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
417 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 418 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
418 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 419 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
419 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); | 420 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); |
420 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); | 421 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); |
421 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); | 422 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); |
422 EXPECT_EQ(static_cast<GLint>(16), cmd.border); | 423 EXPECT_EQ(static_cast<GLint>(16), cmd.border); |
423 EXPECT_EQ(static_cast<GLsizei>(17), cmd.imageSize); | 424 EXPECT_EQ(static_cast<GLsizei>(17), cmd.imageSize); |
424 EXPECT_EQ(static_cast<uint32>(18), cmd.data_shm_id); | 425 EXPECT_EQ(static_cast<uint32>(18), cmd.data_shm_id); |
425 EXPECT_EQ(static_cast<uint32>(19), cmd.data_shm_offset); | 426 EXPECT_EQ(static_cast<uint32>(19), cmd.data_shm_offset); |
| 427 CheckBytesWrittenMatchesExpectedSize( |
| 428 next_cmd, sizeof(cmd)); |
426 } | 429 } |
427 | 430 |
428 // TODO(gman): Implement test for CompressedTexImage2DImmediate | 431 // TODO(gman): Implement test for CompressedTexImage2DImmediate |
429 TEST(GLES2FormatTest, CompressedTexImage2DBucket) { | 432 TEST_F(GLES2FormatTest, CompressedTexImage2DBucket) { |
430 CompressedTexImage2DBucket cmd = { { 0 } }; | 433 CompressedTexImage2DBucket& cmd = *GetBufferAs<CompressedTexImage2DBucket>(); |
431 void* next_cmd = cmd.Set( | 434 void* next_cmd = cmd.Set( |
432 &cmd, | 435 &cmd, |
433 static_cast<GLenum>(11), | 436 static_cast<GLenum>(11), |
434 static_cast<GLint>(12), | 437 static_cast<GLint>(12), |
435 static_cast<GLenum>(13), | 438 static_cast<GLenum>(13), |
436 static_cast<GLsizei>(14), | 439 static_cast<GLsizei>(14), |
437 static_cast<GLsizei>(15), | 440 static_cast<GLsizei>(15), |
438 static_cast<GLint>(16), | 441 static_cast<GLint>(16), |
439 static_cast<GLuint>(17)); | 442 static_cast<GLuint>(17)); |
440 EXPECT_EQ(static_cast<uint32>(CompressedTexImage2DBucket::kCmdId), | 443 EXPECT_EQ(static_cast<uint32>(CompressedTexImage2DBucket::kCmdId), |
441 cmd.header.command); | 444 cmd.header.command); |
442 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 445 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
443 EXPECT_EQ(static_cast<char*>(next_cmd), | |
444 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
445 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 446 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
446 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 447 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
447 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); | 448 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); |
448 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); | 449 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); |
449 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); | 450 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); |
450 EXPECT_EQ(static_cast<GLint>(16), cmd.border); | 451 EXPECT_EQ(static_cast<GLint>(16), cmd.border); |
451 EXPECT_EQ(static_cast<GLuint>(17), cmd.bucket_id); | 452 EXPECT_EQ(static_cast<GLuint>(17), cmd.bucket_id); |
| 453 CheckBytesWrittenMatchesExpectedSize( |
| 454 next_cmd, sizeof(cmd)); |
452 } | 455 } |
453 | 456 |
454 TEST(GLES2FormatTest, CompressedTexSubImage2D) { | 457 TEST_F(GLES2FormatTest, CompressedTexSubImage2D) { |
455 CompressedTexSubImage2D cmd = { { 0 } }; | 458 CompressedTexSubImage2D& cmd = *GetBufferAs<CompressedTexSubImage2D>(); |
456 void* next_cmd = cmd.Set( | 459 void* next_cmd = cmd.Set( |
457 &cmd, | 460 &cmd, |
458 static_cast<GLenum>(11), | 461 static_cast<GLenum>(11), |
459 static_cast<GLint>(12), | 462 static_cast<GLint>(12), |
460 static_cast<GLint>(13), | 463 static_cast<GLint>(13), |
461 static_cast<GLint>(14), | 464 static_cast<GLint>(14), |
462 static_cast<GLsizei>(15), | 465 static_cast<GLsizei>(15), |
463 static_cast<GLsizei>(16), | 466 static_cast<GLsizei>(16), |
464 static_cast<GLenum>(17), | 467 static_cast<GLenum>(17), |
465 static_cast<GLsizei>(18), | 468 static_cast<GLsizei>(18), |
466 static_cast<uint32>(19), | 469 static_cast<uint32>(19), |
467 static_cast<uint32>(20)); | 470 static_cast<uint32>(20)); |
468 EXPECT_EQ(static_cast<uint32>(CompressedTexSubImage2D::kCmdId), | 471 EXPECT_EQ(static_cast<uint32>(CompressedTexSubImage2D::kCmdId), |
469 cmd.header.command); | 472 cmd.header.command); |
470 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 473 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
471 EXPECT_EQ(static_cast<char*>(next_cmd), | |
472 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
473 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 474 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
474 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 475 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
475 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); | 476 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); |
476 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); | 477 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); |
477 EXPECT_EQ(static_cast<GLsizei>(15), cmd.width); | 478 EXPECT_EQ(static_cast<GLsizei>(15), cmd.width); |
478 EXPECT_EQ(static_cast<GLsizei>(16), cmd.height); | 479 EXPECT_EQ(static_cast<GLsizei>(16), cmd.height); |
479 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); | 480 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); |
480 EXPECT_EQ(static_cast<GLsizei>(18), cmd.imageSize); | 481 EXPECT_EQ(static_cast<GLsizei>(18), cmd.imageSize); |
481 EXPECT_EQ(static_cast<uint32>(19), cmd.data_shm_id); | 482 EXPECT_EQ(static_cast<uint32>(19), cmd.data_shm_id); |
482 EXPECT_EQ(static_cast<uint32>(20), cmd.data_shm_offset); | 483 EXPECT_EQ(static_cast<uint32>(20), cmd.data_shm_offset); |
| 484 CheckBytesWrittenMatchesExpectedSize( |
| 485 next_cmd, sizeof(cmd)); |
483 } | 486 } |
484 | 487 |
485 // TODO(gman): Implement test for CompressedTexSubImage2DImmediate | 488 // TODO(gman): Implement test for CompressedTexSubImage2DImmediate |
486 TEST(GLES2FormatTest, CompressedTexSubImage2DBucket) { | 489 TEST_F(GLES2FormatTest, CompressedTexSubImage2DBucket) { |
487 CompressedTexSubImage2DBucket cmd = { { 0 } }; | 490 CompressedTexSubImage2DBucket& cmd = |
| 491 *GetBufferAs<CompressedTexSubImage2DBucket>(); |
488 void* next_cmd = cmd.Set( | 492 void* next_cmd = cmd.Set( |
489 &cmd, | 493 &cmd, |
490 static_cast<GLenum>(11), | 494 static_cast<GLenum>(11), |
491 static_cast<GLint>(12), | 495 static_cast<GLint>(12), |
492 static_cast<GLint>(13), | 496 static_cast<GLint>(13), |
493 static_cast<GLint>(14), | 497 static_cast<GLint>(14), |
494 static_cast<GLsizei>(15), | 498 static_cast<GLsizei>(15), |
495 static_cast<GLsizei>(16), | 499 static_cast<GLsizei>(16), |
496 static_cast<GLenum>(17), | 500 static_cast<GLenum>(17), |
497 static_cast<GLuint>(18)); | 501 static_cast<GLuint>(18)); |
498 EXPECT_EQ(static_cast<uint32>(CompressedTexSubImage2DBucket::kCmdId), | 502 EXPECT_EQ(static_cast<uint32>(CompressedTexSubImage2DBucket::kCmdId), |
499 cmd.header.command); | 503 cmd.header.command); |
500 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 504 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
501 EXPECT_EQ(static_cast<char*>(next_cmd), | |
502 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
503 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 505 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
504 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 506 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
505 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); | 507 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); |
506 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); | 508 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); |
507 EXPECT_EQ(static_cast<GLsizei>(15), cmd.width); | 509 EXPECT_EQ(static_cast<GLsizei>(15), cmd.width); |
508 EXPECT_EQ(static_cast<GLsizei>(16), cmd.height); | 510 EXPECT_EQ(static_cast<GLsizei>(16), cmd.height); |
509 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); | 511 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); |
510 EXPECT_EQ(static_cast<GLuint>(18), cmd.bucket_id); | 512 EXPECT_EQ(static_cast<GLuint>(18), cmd.bucket_id); |
| 513 CheckBytesWrittenMatchesExpectedSize( |
| 514 next_cmd, sizeof(cmd)); |
511 } | 515 } |
512 | 516 |
513 TEST(GLES2FormatTest, CopyTexImage2D) { | 517 TEST_F(GLES2FormatTest, CopyTexImage2D) { |
514 CopyTexImage2D cmd = { { 0 } }; | 518 CopyTexImage2D& cmd = *GetBufferAs<CopyTexImage2D>(); |
515 void* next_cmd = cmd.Set( | 519 void* next_cmd = cmd.Set( |
516 &cmd, | 520 &cmd, |
517 static_cast<GLenum>(11), | 521 static_cast<GLenum>(11), |
518 static_cast<GLint>(12), | 522 static_cast<GLint>(12), |
519 static_cast<GLenum>(13), | 523 static_cast<GLenum>(13), |
520 static_cast<GLint>(14), | 524 static_cast<GLint>(14), |
521 static_cast<GLint>(15), | 525 static_cast<GLint>(15), |
522 static_cast<GLsizei>(16), | 526 static_cast<GLsizei>(16), |
523 static_cast<GLsizei>(17), | 527 static_cast<GLsizei>(17), |
524 static_cast<GLint>(18)); | 528 static_cast<GLint>(18)); |
525 EXPECT_EQ(static_cast<uint32>(CopyTexImage2D::kCmdId), | 529 EXPECT_EQ(static_cast<uint32>(CopyTexImage2D::kCmdId), |
526 cmd.header.command); | 530 cmd.header.command); |
527 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 531 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
528 EXPECT_EQ(static_cast<char*>(next_cmd), | |
529 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
530 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 532 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
531 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 533 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
532 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); | 534 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); |
533 EXPECT_EQ(static_cast<GLint>(14), cmd.x); | 535 EXPECT_EQ(static_cast<GLint>(14), cmd.x); |
534 EXPECT_EQ(static_cast<GLint>(15), cmd.y); | 536 EXPECT_EQ(static_cast<GLint>(15), cmd.y); |
535 EXPECT_EQ(static_cast<GLsizei>(16), cmd.width); | 537 EXPECT_EQ(static_cast<GLsizei>(16), cmd.width); |
536 EXPECT_EQ(static_cast<GLsizei>(17), cmd.height); | 538 EXPECT_EQ(static_cast<GLsizei>(17), cmd.height); |
537 EXPECT_EQ(static_cast<GLint>(18), cmd.border); | 539 EXPECT_EQ(static_cast<GLint>(18), cmd.border); |
| 540 CheckBytesWrittenMatchesExpectedSize( |
| 541 next_cmd, sizeof(cmd)); |
538 } | 542 } |
539 | 543 |
540 TEST(GLES2FormatTest, CopyTexSubImage2D) { | 544 TEST_F(GLES2FormatTest, CopyTexSubImage2D) { |
541 CopyTexSubImage2D cmd = { { 0 } }; | 545 CopyTexSubImage2D& cmd = *GetBufferAs<CopyTexSubImage2D>(); |
542 void* next_cmd = cmd.Set( | 546 void* next_cmd = cmd.Set( |
543 &cmd, | 547 &cmd, |
544 static_cast<GLenum>(11), | 548 static_cast<GLenum>(11), |
545 static_cast<GLint>(12), | 549 static_cast<GLint>(12), |
546 static_cast<GLint>(13), | 550 static_cast<GLint>(13), |
547 static_cast<GLint>(14), | 551 static_cast<GLint>(14), |
548 static_cast<GLint>(15), | 552 static_cast<GLint>(15), |
549 static_cast<GLint>(16), | 553 static_cast<GLint>(16), |
550 static_cast<GLsizei>(17), | 554 static_cast<GLsizei>(17), |
551 static_cast<GLsizei>(18)); | 555 static_cast<GLsizei>(18)); |
552 EXPECT_EQ(static_cast<uint32>(CopyTexSubImage2D::kCmdId), | 556 EXPECT_EQ(static_cast<uint32>(CopyTexSubImage2D::kCmdId), |
553 cmd.header.command); | 557 cmd.header.command); |
554 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 558 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
555 EXPECT_EQ(static_cast<char*>(next_cmd), | |
556 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
557 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 559 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
558 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 560 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
559 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); | 561 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); |
560 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); | 562 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); |
561 EXPECT_EQ(static_cast<GLint>(15), cmd.x); | 563 EXPECT_EQ(static_cast<GLint>(15), cmd.x); |
562 EXPECT_EQ(static_cast<GLint>(16), cmd.y); | 564 EXPECT_EQ(static_cast<GLint>(16), cmd.y); |
563 EXPECT_EQ(static_cast<GLsizei>(17), cmd.width); | 565 EXPECT_EQ(static_cast<GLsizei>(17), cmd.width); |
564 EXPECT_EQ(static_cast<GLsizei>(18), cmd.height); | 566 EXPECT_EQ(static_cast<GLsizei>(18), cmd.height); |
| 567 CheckBytesWrittenMatchesExpectedSize( |
| 568 next_cmd, sizeof(cmd)); |
565 } | 569 } |
566 | 570 |
567 TEST(GLES2FormatTest, CreateProgram) { | 571 TEST_F(GLES2FormatTest, CreateProgram) { |
568 CreateProgram cmd = { { 0 } }; | 572 CreateProgram& cmd = *GetBufferAs<CreateProgram>(); |
569 void* next_cmd = cmd.Set( | 573 void* next_cmd = cmd.Set( |
570 &cmd, | 574 &cmd, |
571 static_cast<uint32>(11)); | 575 static_cast<uint32>(11)); |
572 EXPECT_EQ(static_cast<uint32>(CreateProgram::kCmdId), | 576 EXPECT_EQ(static_cast<uint32>(CreateProgram::kCmdId), |
573 cmd.header.command); | 577 cmd.header.command); |
574 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 578 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
575 EXPECT_EQ(static_cast<char*>(next_cmd), | |
576 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
577 EXPECT_EQ(static_cast<uint32>(11), cmd.client_id); | 579 EXPECT_EQ(static_cast<uint32>(11), cmd.client_id); |
| 580 CheckBytesWrittenMatchesExpectedSize( |
| 581 next_cmd, sizeof(cmd)); |
578 } | 582 } |
579 | 583 |
580 TEST(GLES2FormatTest, CreateShader) { | 584 TEST_F(GLES2FormatTest, CreateShader) { |
581 CreateShader cmd = { { 0 } }; | 585 CreateShader& cmd = *GetBufferAs<CreateShader>(); |
582 void* next_cmd = cmd.Set( | 586 void* next_cmd = cmd.Set( |
583 &cmd, | 587 &cmd, |
584 static_cast<GLenum>(11), | 588 static_cast<GLenum>(11), |
585 static_cast<uint32>(12)); | 589 static_cast<uint32>(12)); |
586 EXPECT_EQ(static_cast<uint32>(CreateShader::kCmdId), | 590 EXPECT_EQ(static_cast<uint32>(CreateShader::kCmdId), |
587 cmd.header.command); | 591 cmd.header.command); |
588 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 592 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
589 EXPECT_EQ(static_cast<char*>(next_cmd), | |
590 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
591 EXPECT_EQ(static_cast<GLenum>(11), cmd.type); | 593 EXPECT_EQ(static_cast<GLenum>(11), cmd.type); |
592 EXPECT_EQ(static_cast<uint32>(12), cmd.client_id); | 594 EXPECT_EQ(static_cast<uint32>(12), cmd.client_id); |
| 595 CheckBytesWrittenMatchesExpectedSize( |
| 596 next_cmd, sizeof(cmd)); |
593 } | 597 } |
594 | 598 |
595 TEST(GLES2FormatTest, CullFace) { | 599 TEST_F(GLES2FormatTest, CullFace) { |
596 CullFace cmd = { { 0 } }; | 600 CullFace& cmd = *GetBufferAs<CullFace>(); |
597 void* next_cmd = cmd.Set( | 601 void* next_cmd = cmd.Set( |
598 &cmd, | 602 &cmd, |
599 static_cast<GLenum>(11)); | 603 static_cast<GLenum>(11)); |
600 EXPECT_EQ(static_cast<uint32>(CullFace::kCmdId), | 604 EXPECT_EQ(static_cast<uint32>(CullFace::kCmdId), |
601 cmd.header.command); | 605 cmd.header.command); |
602 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 606 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
603 EXPECT_EQ(static_cast<char*>(next_cmd), | |
604 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
605 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); | 607 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); |
| 608 CheckBytesWrittenMatchesExpectedSize( |
| 609 next_cmd, sizeof(cmd)); |
606 } | 610 } |
607 | 611 |
608 TEST(GLES2FormatTest, DeleteBuffers) { | 612 TEST_F(GLES2FormatTest, DeleteBuffers) { |
609 DeleteBuffers cmd = { { 0 } }; | 613 DeleteBuffers& cmd = *GetBufferAs<DeleteBuffers>(); |
610 void* next_cmd = cmd.Set( | 614 void* next_cmd = cmd.Set( |
611 &cmd, | 615 &cmd, |
612 static_cast<GLsizei>(11), | 616 static_cast<GLsizei>(11), |
613 static_cast<uint32>(12), | 617 static_cast<uint32>(12), |
614 static_cast<uint32>(13)); | 618 static_cast<uint32>(13)); |
615 EXPECT_EQ(static_cast<uint32>(DeleteBuffers::kCmdId), | 619 EXPECT_EQ(static_cast<uint32>(DeleteBuffers::kCmdId), |
616 cmd.header.command); | 620 cmd.header.command); |
617 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 621 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
618 EXPECT_EQ(static_cast<char*>(next_cmd), | |
619 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
620 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 622 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
621 EXPECT_EQ(static_cast<uint32>(12), cmd.buffers_shm_id); | 623 EXPECT_EQ(static_cast<uint32>(12), cmd.buffers_shm_id); |
622 EXPECT_EQ(static_cast<uint32>(13), cmd.buffers_shm_offset); | 624 EXPECT_EQ(static_cast<uint32>(13), cmd.buffers_shm_offset); |
| 625 CheckBytesWrittenMatchesExpectedSize( |
| 626 next_cmd, sizeof(cmd)); |
623 } | 627 } |
624 | 628 |
625 TEST(GLES2FormatTest, DeleteBuffersImmediate) { | 629 TEST_F(GLES2FormatTest, DeleteBuffersImmediate) { |
626 static GLuint ids[] = { 12, 23, 34, }; | 630 static GLuint ids[] = { 12, 23, 34, }; |
627 int8 buf[256] = { 0, }; | 631 DeleteBuffersImmediate& cmd = *GetBufferAs<DeleteBuffersImmediate>(); |
628 DeleteBuffersImmediate& cmd = | |
629 *static_cast<DeleteBuffersImmediate*>(static_cast<void*>(&buf)); | |
630 void* next_cmd = cmd.Set( | 632 void* next_cmd = cmd.Set( |
631 &cmd, | 633 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
632 static_cast<GLsizei>(11), | |
633 ids); | |
634 EXPECT_EQ(static_cast<uint32>(DeleteBuffersImmediate::kCmdId), | 634 EXPECT_EQ(static_cast<uint32>(DeleteBuffersImmediate::kCmdId), |
635 cmd.header.command); | 635 cmd.header.command); |
636 EXPECT_EQ(sizeof(cmd) + | 636 EXPECT_EQ(sizeof(cmd) + |
637 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 637 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
638 cmd.header.size * 4u); | 638 cmd.header.size * 4u); |
639 EXPECT_EQ(static_cast<char*>(next_cmd), | 639 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
640 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 640 CheckBytesWrittenMatchesExpectedSize( |
641 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 641 next_cmd, sizeof(cmd) + |
642 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 642 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
643 // TODO(gman): Check that ids were inserted; | 643 // TODO(gman): Check that ids were inserted; |
644 } | 644 } |
645 | 645 |
646 TEST(GLES2FormatTest, DeleteFramebuffers) { | 646 TEST_F(GLES2FormatTest, DeleteFramebuffers) { |
647 DeleteFramebuffers cmd = { { 0 } }; | 647 DeleteFramebuffers& cmd = *GetBufferAs<DeleteFramebuffers>(); |
648 void* next_cmd = cmd.Set( | 648 void* next_cmd = cmd.Set( |
649 &cmd, | 649 &cmd, |
650 static_cast<GLsizei>(11), | 650 static_cast<GLsizei>(11), |
651 static_cast<uint32>(12), | 651 static_cast<uint32>(12), |
652 static_cast<uint32>(13)); | 652 static_cast<uint32>(13)); |
653 EXPECT_EQ(static_cast<uint32>(DeleteFramebuffers::kCmdId), | 653 EXPECT_EQ(static_cast<uint32>(DeleteFramebuffers::kCmdId), |
654 cmd.header.command); | 654 cmd.header.command); |
655 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 655 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
656 EXPECT_EQ(static_cast<char*>(next_cmd), | |
657 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
658 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 656 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
659 EXPECT_EQ(static_cast<uint32>(12), cmd.framebuffers_shm_id); | 657 EXPECT_EQ(static_cast<uint32>(12), cmd.framebuffers_shm_id); |
660 EXPECT_EQ(static_cast<uint32>(13), cmd.framebuffers_shm_offset); | 658 EXPECT_EQ(static_cast<uint32>(13), cmd.framebuffers_shm_offset); |
| 659 CheckBytesWrittenMatchesExpectedSize( |
| 660 next_cmd, sizeof(cmd)); |
661 } | 661 } |
662 | 662 |
663 TEST(GLES2FormatTest, DeleteFramebuffersImmediate) { | 663 TEST_F(GLES2FormatTest, DeleteFramebuffersImmediate) { |
664 static GLuint ids[] = { 12, 23, 34, }; | 664 static GLuint ids[] = { 12, 23, 34, }; |
665 int8 buf[256] = { 0, }; | |
666 DeleteFramebuffersImmediate& cmd = | 665 DeleteFramebuffersImmediate& cmd = |
667 *static_cast<DeleteFramebuffersImmediate*>(static_cast<void*>(&buf)); | 666 *GetBufferAs<DeleteFramebuffersImmediate>(); |
668 void* next_cmd = cmd.Set( | 667 void* next_cmd = cmd.Set( |
669 &cmd, | 668 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
670 static_cast<GLsizei>(11), | |
671 ids); | |
672 EXPECT_EQ(static_cast<uint32>(DeleteFramebuffersImmediate::kCmdId), | 669 EXPECT_EQ(static_cast<uint32>(DeleteFramebuffersImmediate::kCmdId), |
673 cmd.header.command); | 670 cmd.header.command); |
674 EXPECT_EQ(sizeof(cmd) + | 671 EXPECT_EQ(sizeof(cmd) + |
675 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 672 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
676 cmd.header.size * 4u); | 673 cmd.header.size * 4u); |
677 EXPECT_EQ(static_cast<char*>(next_cmd), | 674 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
678 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 675 CheckBytesWrittenMatchesExpectedSize( |
679 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 676 next_cmd, sizeof(cmd) + |
680 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 677 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
681 // TODO(gman): Check that ids were inserted; | 678 // TODO(gman): Check that ids were inserted; |
682 } | 679 } |
683 | 680 |
684 TEST(GLES2FormatTest, DeleteProgram) { | 681 TEST_F(GLES2FormatTest, DeleteProgram) { |
685 DeleteProgram cmd = { { 0 } }; | 682 DeleteProgram& cmd = *GetBufferAs<DeleteProgram>(); |
686 void* next_cmd = cmd.Set( | 683 void* next_cmd = cmd.Set( |
687 &cmd, | 684 &cmd, |
688 static_cast<GLuint>(11)); | 685 static_cast<GLuint>(11)); |
689 EXPECT_EQ(static_cast<uint32>(DeleteProgram::kCmdId), | 686 EXPECT_EQ(static_cast<uint32>(DeleteProgram::kCmdId), |
690 cmd.header.command); | 687 cmd.header.command); |
691 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 688 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
692 EXPECT_EQ(static_cast<char*>(next_cmd), | |
693 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
694 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 689 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
| 690 CheckBytesWrittenMatchesExpectedSize( |
| 691 next_cmd, sizeof(cmd)); |
695 } | 692 } |
696 | 693 |
697 TEST(GLES2FormatTest, DeleteRenderbuffers) { | 694 TEST_F(GLES2FormatTest, DeleteRenderbuffers) { |
698 DeleteRenderbuffers cmd = { { 0 } }; | 695 DeleteRenderbuffers& cmd = *GetBufferAs<DeleteRenderbuffers>(); |
699 void* next_cmd = cmd.Set( | 696 void* next_cmd = cmd.Set( |
700 &cmd, | 697 &cmd, |
701 static_cast<GLsizei>(11), | 698 static_cast<GLsizei>(11), |
702 static_cast<uint32>(12), | 699 static_cast<uint32>(12), |
703 static_cast<uint32>(13)); | 700 static_cast<uint32>(13)); |
704 EXPECT_EQ(static_cast<uint32>(DeleteRenderbuffers::kCmdId), | 701 EXPECT_EQ(static_cast<uint32>(DeleteRenderbuffers::kCmdId), |
705 cmd.header.command); | 702 cmd.header.command); |
706 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 703 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
707 EXPECT_EQ(static_cast<char*>(next_cmd), | |
708 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
709 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 704 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
710 EXPECT_EQ(static_cast<uint32>(12), cmd.renderbuffers_shm_id); | 705 EXPECT_EQ(static_cast<uint32>(12), cmd.renderbuffers_shm_id); |
711 EXPECT_EQ(static_cast<uint32>(13), cmd.renderbuffers_shm_offset); | 706 EXPECT_EQ(static_cast<uint32>(13), cmd.renderbuffers_shm_offset); |
| 707 CheckBytesWrittenMatchesExpectedSize( |
| 708 next_cmd, sizeof(cmd)); |
712 } | 709 } |
713 | 710 |
714 TEST(GLES2FormatTest, DeleteRenderbuffersImmediate) { | 711 TEST_F(GLES2FormatTest, DeleteRenderbuffersImmediate) { |
715 static GLuint ids[] = { 12, 23, 34, }; | 712 static GLuint ids[] = { 12, 23, 34, }; |
716 int8 buf[256] = { 0, }; | |
717 DeleteRenderbuffersImmediate& cmd = | 713 DeleteRenderbuffersImmediate& cmd = |
718 *static_cast<DeleteRenderbuffersImmediate*>(static_cast<void*>(&buf)); | 714 *GetBufferAs<DeleteRenderbuffersImmediate>(); |
719 void* next_cmd = cmd.Set( | 715 void* next_cmd = cmd.Set( |
720 &cmd, | 716 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
721 static_cast<GLsizei>(11), | |
722 ids); | |
723 EXPECT_EQ(static_cast<uint32>(DeleteRenderbuffersImmediate::kCmdId), | 717 EXPECT_EQ(static_cast<uint32>(DeleteRenderbuffersImmediate::kCmdId), |
724 cmd.header.command); | 718 cmd.header.command); |
725 EXPECT_EQ(sizeof(cmd) + | 719 EXPECT_EQ(sizeof(cmd) + |
726 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 720 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
727 cmd.header.size * 4u); | 721 cmd.header.size * 4u); |
728 EXPECT_EQ(static_cast<char*>(next_cmd), | 722 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
729 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 723 CheckBytesWrittenMatchesExpectedSize( |
730 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 724 next_cmd, sizeof(cmd) + |
731 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 725 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
732 // TODO(gman): Check that ids were inserted; | 726 // TODO(gman): Check that ids were inserted; |
733 } | 727 } |
734 | 728 |
735 TEST(GLES2FormatTest, DeleteShader) { | 729 TEST_F(GLES2FormatTest, DeleteShader) { |
736 DeleteShader cmd = { { 0 } }; | 730 DeleteShader& cmd = *GetBufferAs<DeleteShader>(); |
737 void* next_cmd = cmd.Set( | 731 void* next_cmd = cmd.Set( |
738 &cmd, | 732 &cmd, |
739 static_cast<GLuint>(11)); | 733 static_cast<GLuint>(11)); |
740 EXPECT_EQ(static_cast<uint32>(DeleteShader::kCmdId), | 734 EXPECT_EQ(static_cast<uint32>(DeleteShader::kCmdId), |
741 cmd.header.command); | 735 cmd.header.command); |
742 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 736 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
743 EXPECT_EQ(static_cast<char*>(next_cmd), | |
744 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
745 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 737 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
| 738 CheckBytesWrittenMatchesExpectedSize( |
| 739 next_cmd, sizeof(cmd)); |
746 } | 740 } |
747 | 741 |
748 TEST(GLES2FormatTest, DeleteTextures) { | 742 TEST_F(GLES2FormatTest, DeleteTextures) { |
749 DeleteTextures cmd = { { 0 } }; | 743 DeleteTextures& cmd = *GetBufferAs<DeleteTextures>(); |
750 void* next_cmd = cmd.Set( | 744 void* next_cmd = cmd.Set( |
751 &cmd, | 745 &cmd, |
752 static_cast<GLsizei>(11), | 746 static_cast<GLsizei>(11), |
753 static_cast<uint32>(12), | 747 static_cast<uint32>(12), |
754 static_cast<uint32>(13)); | 748 static_cast<uint32>(13)); |
755 EXPECT_EQ(static_cast<uint32>(DeleteTextures::kCmdId), | 749 EXPECT_EQ(static_cast<uint32>(DeleteTextures::kCmdId), |
756 cmd.header.command); | 750 cmd.header.command); |
757 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 751 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
758 EXPECT_EQ(static_cast<char*>(next_cmd), | |
759 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
760 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 752 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
761 EXPECT_EQ(static_cast<uint32>(12), cmd.textures_shm_id); | 753 EXPECT_EQ(static_cast<uint32>(12), cmd.textures_shm_id); |
762 EXPECT_EQ(static_cast<uint32>(13), cmd.textures_shm_offset); | 754 EXPECT_EQ(static_cast<uint32>(13), cmd.textures_shm_offset); |
| 755 CheckBytesWrittenMatchesExpectedSize( |
| 756 next_cmd, sizeof(cmd)); |
763 } | 757 } |
764 | 758 |
765 TEST(GLES2FormatTest, DeleteTexturesImmediate) { | 759 TEST_F(GLES2FormatTest, DeleteTexturesImmediate) { |
766 static GLuint ids[] = { 12, 23, 34, }; | 760 static GLuint ids[] = { 12, 23, 34, }; |
767 int8 buf[256] = { 0, }; | 761 DeleteTexturesImmediate& cmd = *GetBufferAs<DeleteTexturesImmediate>(); |
768 DeleteTexturesImmediate& cmd = | |
769 *static_cast<DeleteTexturesImmediate*>(static_cast<void*>(&buf)); | |
770 void* next_cmd = cmd.Set( | 762 void* next_cmd = cmd.Set( |
771 &cmd, | 763 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
772 static_cast<GLsizei>(11), | |
773 ids); | |
774 EXPECT_EQ(static_cast<uint32>(DeleteTexturesImmediate::kCmdId), | 764 EXPECT_EQ(static_cast<uint32>(DeleteTexturesImmediate::kCmdId), |
775 cmd.header.command); | 765 cmd.header.command); |
776 EXPECT_EQ(sizeof(cmd) + | 766 EXPECT_EQ(sizeof(cmd) + |
777 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 767 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
778 cmd.header.size * 4u); | 768 cmd.header.size * 4u); |
779 EXPECT_EQ(static_cast<char*>(next_cmd), | 769 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
780 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 770 CheckBytesWrittenMatchesExpectedSize( |
781 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 771 next_cmd, sizeof(cmd) + |
782 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 772 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
783 // TODO(gman): Check that ids were inserted; | 773 // TODO(gman): Check that ids were inserted; |
784 } | 774 } |
785 | 775 |
786 TEST(GLES2FormatTest, DepthFunc) { | 776 TEST_F(GLES2FormatTest, DepthFunc) { |
787 DepthFunc cmd = { { 0 } }; | 777 DepthFunc& cmd = *GetBufferAs<DepthFunc>(); |
788 void* next_cmd = cmd.Set( | 778 void* next_cmd = cmd.Set( |
789 &cmd, | 779 &cmd, |
790 static_cast<GLenum>(11)); | 780 static_cast<GLenum>(11)); |
791 EXPECT_EQ(static_cast<uint32>(DepthFunc::kCmdId), | 781 EXPECT_EQ(static_cast<uint32>(DepthFunc::kCmdId), |
792 cmd.header.command); | 782 cmd.header.command); |
793 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 783 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
794 EXPECT_EQ(static_cast<char*>(next_cmd), | |
795 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
796 EXPECT_EQ(static_cast<GLenum>(11), cmd.func); | 784 EXPECT_EQ(static_cast<GLenum>(11), cmd.func); |
| 785 CheckBytesWrittenMatchesExpectedSize( |
| 786 next_cmd, sizeof(cmd)); |
797 } | 787 } |
798 | 788 |
799 TEST(GLES2FormatTest, DepthMask) { | 789 TEST_F(GLES2FormatTest, DepthMask) { |
800 DepthMask cmd = { { 0 } }; | 790 DepthMask& cmd = *GetBufferAs<DepthMask>(); |
801 void* next_cmd = cmd.Set( | 791 void* next_cmd = cmd.Set( |
802 &cmd, | 792 &cmd, |
803 static_cast<GLboolean>(11)); | 793 static_cast<GLboolean>(11)); |
804 EXPECT_EQ(static_cast<uint32>(DepthMask::kCmdId), | 794 EXPECT_EQ(static_cast<uint32>(DepthMask::kCmdId), |
805 cmd.header.command); | 795 cmd.header.command); |
806 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 796 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
807 EXPECT_EQ(static_cast<char*>(next_cmd), | |
808 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
809 EXPECT_EQ(static_cast<GLboolean>(11), cmd.flag); | 797 EXPECT_EQ(static_cast<GLboolean>(11), cmd.flag); |
| 798 CheckBytesWrittenMatchesExpectedSize( |
| 799 next_cmd, sizeof(cmd)); |
810 } | 800 } |
811 | 801 |
812 TEST(GLES2FormatTest, DepthRangef) { | 802 TEST_F(GLES2FormatTest, DepthRangef) { |
813 DepthRangef cmd = { { 0 } }; | 803 DepthRangef& cmd = *GetBufferAs<DepthRangef>(); |
814 void* next_cmd = cmd.Set( | 804 void* next_cmd = cmd.Set( |
815 &cmd, | 805 &cmd, |
816 static_cast<GLclampf>(11), | 806 static_cast<GLclampf>(11), |
817 static_cast<GLclampf>(12)); | 807 static_cast<GLclampf>(12)); |
818 EXPECT_EQ(static_cast<uint32>(DepthRangef::kCmdId), | 808 EXPECT_EQ(static_cast<uint32>(DepthRangef::kCmdId), |
819 cmd.header.command); | 809 cmd.header.command); |
820 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 810 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
821 EXPECT_EQ(static_cast<char*>(next_cmd), | |
822 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
823 EXPECT_EQ(static_cast<GLclampf>(11), cmd.zNear); | 811 EXPECT_EQ(static_cast<GLclampf>(11), cmd.zNear); |
824 EXPECT_EQ(static_cast<GLclampf>(12), cmd.zFar); | 812 EXPECT_EQ(static_cast<GLclampf>(12), cmd.zFar); |
| 813 CheckBytesWrittenMatchesExpectedSize( |
| 814 next_cmd, sizeof(cmd)); |
825 } | 815 } |
826 | 816 |
827 TEST(GLES2FormatTest, DetachShader) { | 817 TEST_F(GLES2FormatTest, DetachShader) { |
828 DetachShader cmd = { { 0 } }; | 818 DetachShader& cmd = *GetBufferAs<DetachShader>(); |
829 void* next_cmd = cmd.Set( | 819 void* next_cmd = cmd.Set( |
830 &cmd, | 820 &cmd, |
831 static_cast<GLuint>(11), | 821 static_cast<GLuint>(11), |
832 static_cast<GLuint>(12)); | 822 static_cast<GLuint>(12)); |
833 EXPECT_EQ(static_cast<uint32>(DetachShader::kCmdId), | 823 EXPECT_EQ(static_cast<uint32>(DetachShader::kCmdId), |
834 cmd.header.command); | 824 cmd.header.command); |
835 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 825 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
836 EXPECT_EQ(static_cast<char*>(next_cmd), | |
837 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
838 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 826 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
839 EXPECT_EQ(static_cast<GLuint>(12), cmd.shader); | 827 EXPECT_EQ(static_cast<GLuint>(12), cmd.shader); |
| 828 CheckBytesWrittenMatchesExpectedSize( |
| 829 next_cmd, sizeof(cmd)); |
840 } | 830 } |
841 | 831 |
842 TEST(GLES2FormatTest, Disable) { | 832 TEST_F(GLES2FormatTest, Disable) { |
843 Disable cmd = { { 0 } }; | 833 Disable& cmd = *GetBufferAs<Disable>(); |
844 void* next_cmd = cmd.Set( | 834 void* next_cmd = cmd.Set( |
845 &cmd, | 835 &cmd, |
846 static_cast<GLenum>(11)); | 836 static_cast<GLenum>(11)); |
847 EXPECT_EQ(static_cast<uint32>(Disable::kCmdId), | 837 EXPECT_EQ(static_cast<uint32>(Disable::kCmdId), |
848 cmd.header.command); | 838 cmd.header.command); |
849 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 839 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
850 EXPECT_EQ(static_cast<char*>(next_cmd), | |
851 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
852 EXPECT_EQ(static_cast<GLenum>(11), cmd.cap); | 840 EXPECT_EQ(static_cast<GLenum>(11), cmd.cap); |
| 841 CheckBytesWrittenMatchesExpectedSize( |
| 842 next_cmd, sizeof(cmd)); |
853 } | 843 } |
854 | 844 |
855 TEST(GLES2FormatTest, DisableVertexAttribArray) { | 845 TEST_F(GLES2FormatTest, DisableVertexAttribArray) { |
856 DisableVertexAttribArray cmd = { { 0 } }; | 846 DisableVertexAttribArray& cmd = *GetBufferAs<DisableVertexAttribArray>(); |
857 void* next_cmd = cmd.Set( | 847 void* next_cmd = cmd.Set( |
858 &cmd, | 848 &cmd, |
859 static_cast<GLuint>(11)); | 849 static_cast<GLuint>(11)); |
860 EXPECT_EQ(static_cast<uint32>(DisableVertexAttribArray::kCmdId), | 850 EXPECT_EQ(static_cast<uint32>(DisableVertexAttribArray::kCmdId), |
861 cmd.header.command); | 851 cmd.header.command); |
862 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 852 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
863 EXPECT_EQ(static_cast<char*>(next_cmd), | |
864 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
865 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); | 853 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); |
| 854 CheckBytesWrittenMatchesExpectedSize( |
| 855 next_cmd, sizeof(cmd)); |
866 } | 856 } |
867 | 857 |
868 TEST(GLES2FormatTest, DrawArrays) { | 858 TEST_F(GLES2FormatTest, DrawArrays) { |
869 DrawArrays cmd = { { 0 } }; | 859 DrawArrays& cmd = *GetBufferAs<DrawArrays>(); |
870 void* next_cmd = cmd.Set( | 860 void* next_cmd = cmd.Set( |
871 &cmd, | 861 &cmd, |
872 static_cast<GLenum>(11), | 862 static_cast<GLenum>(11), |
873 static_cast<GLint>(12), | 863 static_cast<GLint>(12), |
874 static_cast<GLsizei>(13)); | 864 static_cast<GLsizei>(13)); |
875 EXPECT_EQ(static_cast<uint32>(DrawArrays::kCmdId), | 865 EXPECT_EQ(static_cast<uint32>(DrawArrays::kCmdId), |
876 cmd.header.command); | 866 cmd.header.command); |
877 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 867 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
878 EXPECT_EQ(static_cast<char*>(next_cmd), | |
879 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
880 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); | 868 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); |
881 EXPECT_EQ(static_cast<GLint>(12), cmd.first); | 869 EXPECT_EQ(static_cast<GLint>(12), cmd.first); |
882 EXPECT_EQ(static_cast<GLsizei>(13), cmd.count); | 870 EXPECT_EQ(static_cast<GLsizei>(13), cmd.count); |
| 871 CheckBytesWrittenMatchesExpectedSize( |
| 872 next_cmd, sizeof(cmd)); |
883 } | 873 } |
884 | 874 |
885 TEST(GLES2FormatTest, DrawElements) { | 875 TEST_F(GLES2FormatTest, DrawElements) { |
886 DrawElements cmd = { { 0 } }; | 876 DrawElements& cmd = *GetBufferAs<DrawElements>(); |
887 void* next_cmd = cmd.Set( | 877 void* next_cmd = cmd.Set( |
888 &cmd, | 878 &cmd, |
889 static_cast<GLenum>(11), | 879 static_cast<GLenum>(11), |
890 static_cast<GLsizei>(12), | 880 static_cast<GLsizei>(12), |
891 static_cast<GLenum>(13), | 881 static_cast<GLenum>(13), |
892 static_cast<GLuint>(14)); | 882 static_cast<GLuint>(14)); |
893 EXPECT_EQ(static_cast<uint32>(DrawElements::kCmdId), | 883 EXPECT_EQ(static_cast<uint32>(DrawElements::kCmdId), |
894 cmd.header.command); | 884 cmd.header.command); |
895 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 885 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
896 EXPECT_EQ(static_cast<char*>(next_cmd), | |
897 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
898 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); | 886 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); |
899 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 887 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
900 EXPECT_EQ(static_cast<GLenum>(13), cmd.type); | 888 EXPECT_EQ(static_cast<GLenum>(13), cmd.type); |
901 EXPECT_EQ(static_cast<GLuint>(14), cmd.index_offset); | 889 EXPECT_EQ(static_cast<GLuint>(14), cmd.index_offset); |
| 890 CheckBytesWrittenMatchesExpectedSize( |
| 891 next_cmd, sizeof(cmd)); |
902 } | 892 } |
903 | 893 |
904 TEST(GLES2FormatTest, Enable) { | 894 TEST_F(GLES2FormatTest, Enable) { |
905 Enable cmd = { { 0 } }; | 895 Enable& cmd = *GetBufferAs<Enable>(); |
906 void* next_cmd = cmd.Set( | 896 void* next_cmd = cmd.Set( |
907 &cmd, | 897 &cmd, |
908 static_cast<GLenum>(11)); | 898 static_cast<GLenum>(11)); |
909 EXPECT_EQ(static_cast<uint32>(Enable::kCmdId), | 899 EXPECT_EQ(static_cast<uint32>(Enable::kCmdId), |
910 cmd.header.command); | 900 cmd.header.command); |
911 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 901 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
912 EXPECT_EQ(static_cast<char*>(next_cmd), | |
913 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
914 EXPECT_EQ(static_cast<GLenum>(11), cmd.cap); | 902 EXPECT_EQ(static_cast<GLenum>(11), cmd.cap); |
| 903 CheckBytesWrittenMatchesExpectedSize( |
| 904 next_cmd, sizeof(cmd)); |
915 } | 905 } |
916 | 906 |
917 TEST(GLES2FormatTest, EnableVertexAttribArray) { | 907 TEST_F(GLES2FormatTest, EnableVertexAttribArray) { |
918 EnableVertexAttribArray cmd = { { 0 } }; | 908 EnableVertexAttribArray& cmd = *GetBufferAs<EnableVertexAttribArray>(); |
919 void* next_cmd = cmd.Set( | 909 void* next_cmd = cmd.Set( |
920 &cmd, | 910 &cmd, |
921 static_cast<GLuint>(11)); | 911 static_cast<GLuint>(11)); |
922 EXPECT_EQ(static_cast<uint32>(EnableVertexAttribArray::kCmdId), | 912 EXPECT_EQ(static_cast<uint32>(EnableVertexAttribArray::kCmdId), |
923 cmd.header.command); | 913 cmd.header.command); |
924 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 914 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
925 EXPECT_EQ(static_cast<char*>(next_cmd), | |
926 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
927 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); | 915 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); |
| 916 CheckBytesWrittenMatchesExpectedSize( |
| 917 next_cmd, sizeof(cmd)); |
928 } | 918 } |
929 | 919 |
930 TEST(GLES2FormatTest, Finish) { | 920 TEST_F(GLES2FormatTest, Finish) { |
931 Finish cmd = { { 0 } }; | 921 Finish& cmd = *GetBufferAs<Finish>(); |
932 void* next_cmd = cmd.Set( | 922 void* next_cmd = cmd.Set( |
933 &cmd); | 923 &cmd); |
934 EXPECT_EQ(static_cast<uint32>(Finish::kCmdId), | 924 EXPECT_EQ(static_cast<uint32>(Finish::kCmdId), |
935 cmd.header.command); | 925 cmd.header.command); |
936 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 926 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
937 EXPECT_EQ(static_cast<char*>(next_cmd), | 927 CheckBytesWrittenMatchesExpectedSize( |
938 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 928 next_cmd, sizeof(cmd)); |
939 } | 929 } |
940 | 930 |
941 TEST(GLES2FormatTest, Flush) { | 931 TEST_F(GLES2FormatTest, Flush) { |
942 Flush cmd = { { 0 } }; | 932 Flush& cmd = *GetBufferAs<Flush>(); |
943 void* next_cmd = cmd.Set( | 933 void* next_cmd = cmd.Set( |
944 &cmd); | 934 &cmd); |
945 EXPECT_EQ(static_cast<uint32>(Flush::kCmdId), | 935 EXPECT_EQ(static_cast<uint32>(Flush::kCmdId), |
946 cmd.header.command); | 936 cmd.header.command); |
947 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 937 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
948 EXPECT_EQ(static_cast<char*>(next_cmd), | 938 CheckBytesWrittenMatchesExpectedSize( |
949 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 939 next_cmd, sizeof(cmd)); |
950 } | 940 } |
951 | 941 |
952 TEST(GLES2FormatTest, FramebufferRenderbuffer) { | 942 TEST_F(GLES2FormatTest, FramebufferRenderbuffer) { |
953 FramebufferRenderbuffer cmd = { { 0 } }; | 943 FramebufferRenderbuffer& cmd = *GetBufferAs<FramebufferRenderbuffer>(); |
954 void* next_cmd = cmd.Set( | 944 void* next_cmd = cmd.Set( |
955 &cmd, | 945 &cmd, |
956 static_cast<GLenum>(11), | 946 static_cast<GLenum>(11), |
957 static_cast<GLenum>(12), | 947 static_cast<GLenum>(12), |
958 static_cast<GLenum>(13), | 948 static_cast<GLenum>(13), |
959 static_cast<GLuint>(14)); | 949 static_cast<GLuint>(14)); |
960 EXPECT_EQ(static_cast<uint32>(FramebufferRenderbuffer::kCmdId), | 950 EXPECT_EQ(static_cast<uint32>(FramebufferRenderbuffer::kCmdId), |
961 cmd.header.command); | 951 cmd.header.command); |
962 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 952 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
963 EXPECT_EQ(static_cast<char*>(next_cmd), | |
964 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
965 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 953 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
966 EXPECT_EQ(static_cast<GLenum>(12), cmd.attachment); | 954 EXPECT_EQ(static_cast<GLenum>(12), cmd.attachment); |
967 EXPECT_EQ(static_cast<GLenum>(13), cmd.renderbuffertarget); | 955 EXPECT_EQ(static_cast<GLenum>(13), cmd.renderbuffertarget); |
968 EXPECT_EQ(static_cast<GLuint>(14), cmd.renderbuffer); | 956 EXPECT_EQ(static_cast<GLuint>(14), cmd.renderbuffer); |
| 957 CheckBytesWrittenMatchesExpectedSize( |
| 958 next_cmd, sizeof(cmd)); |
969 } | 959 } |
970 | 960 |
971 TEST(GLES2FormatTest, FramebufferTexture2D) { | 961 TEST_F(GLES2FormatTest, FramebufferTexture2D) { |
972 FramebufferTexture2D cmd = { { 0 } }; | 962 FramebufferTexture2D& cmd = *GetBufferAs<FramebufferTexture2D>(); |
973 void* next_cmd = cmd.Set( | 963 void* next_cmd = cmd.Set( |
974 &cmd, | 964 &cmd, |
975 static_cast<GLenum>(11), | 965 static_cast<GLenum>(11), |
976 static_cast<GLenum>(12), | 966 static_cast<GLenum>(12), |
977 static_cast<GLenum>(13), | 967 static_cast<GLenum>(13), |
978 static_cast<GLuint>(14), | 968 static_cast<GLuint>(14), |
979 static_cast<GLint>(15)); | 969 static_cast<GLint>(15)); |
980 EXPECT_EQ(static_cast<uint32>(FramebufferTexture2D::kCmdId), | 970 EXPECT_EQ(static_cast<uint32>(FramebufferTexture2D::kCmdId), |
981 cmd.header.command); | 971 cmd.header.command); |
982 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 972 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
983 EXPECT_EQ(static_cast<char*>(next_cmd), | |
984 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
985 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 973 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
986 EXPECT_EQ(static_cast<GLenum>(12), cmd.attachment); | 974 EXPECT_EQ(static_cast<GLenum>(12), cmd.attachment); |
987 EXPECT_EQ(static_cast<GLenum>(13), cmd.textarget); | 975 EXPECT_EQ(static_cast<GLenum>(13), cmd.textarget); |
988 EXPECT_EQ(static_cast<GLuint>(14), cmd.texture); | 976 EXPECT_EQ(static_cast<GLuint>(14), cmd.texture); |
989 EXPECT_EQ(static_cast<GLint>(15), cmd.level); | 977 EXPECT_EQ(static_cast<GLint>(15), cmd.level); |
| 978 CheckBytesWrittenMatchesExpectedSize( |
| 979 next_cmd, sizeof(cmd)); |
990 } | 980 } |
991 | 981 |
992 TEST(GLES2FormatTest, FrontFace) { | 982 TEST_F(GLES2FormatTest, FrontFace) { |
993 FrontFace cmd = { { 0 } }; | 983 FrontFace& cmd = *GetBufferAs<FrontFace>(); |
994 void* next_cmd = cmd.Set( | 984 void* next_cmd = cmd.Set( |
995 &cmd, | 985 &cmd, |
996 static_cast<GLenum>(11)); | 986 static_cast<GLenum>(11)); |
997 EXPECT_EQ(static_cast<uint32>(FrontFace::kCmdId), | 987 EXPECT_EQ(static_cast<uint32>(FrontFace::kCmdId), |
998 cmd.header.command); | 988 cmd.header.command); |
999 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 989 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1000 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1001 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1002 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); | 990 EXPECT_EQ(static_cast<GLenum>(11), cmd.mode); |
| 991 CheckBytesWrittenMatchesExpectedSize( |
| 992 next_cmd, sizeof(cmd)); |
1003 } | 993 } |
1004 | 994 |
1005 TEST(GLES2FormatTest, GenBuffers) { | 995 TEST_F(GLES2FormatTest, GenBuffers) { |
1006 GenBuffers cmd = { { 0 } }; | 996 GenBuffers& cmd = *GetBufferAs<GenBuffers>(); |
1007 void* next_cmd = cmd.Set( | 997 void* next_cmd = cmd.Set( |
1008 &cmd, | 998 &cmd, |
1009 static_cast<GLsizei>(11), | 999 static_cast<GLsizei>(11), |
1010 static_cast<uint32>(12), | 1000 static_cast<uint32>(12), |
1011 static_cast<uint32>(13)); | 1001 static_cast<uint32>(13)); |
1012 EXPECT_EQ(static_cast<uint32>(GenBuffers::kCmdId), | 1002 EXPECT_EQ(static_cast<uint32>(GenBuffers::kCmdId), |
1013 cmd.header.command); | 1003 cmd.header.command); |
1014 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1004 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1015 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1016 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1017 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1005 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
1018 EXPECT_EQ(static_cast<uint32>(12), cmd.buffers_shm_id); | 1006 EXPECT_EQ(static_cast<uint32>(12), cmd.buffers_shm_id); |
1019 EXPECT_EQ(static_cast<uint32>(13), cmd.buffers_shm_offset); | 1007 EXPECT_EQ(static_cast<uint32>(13), cmd.buffers_shm_offset); |
| 1008 CheckBytesWrittenMatchesExpectedSize( |
| 1009 next_cmd, sizeof(cmd)); |
1020 } | 1010 } |
1021 | 1011 |
1022 TEST(GLES2FormatTest, GenBuffersImmediate) { | 1012 TEST_F(GLES2FormatTest, GenBuffersImmediate) { |
1023 static GLuint ids[] = { 12, 23, 34, }; | 1013 static GLuint ids[] = { 12, 23, 34, }; |
1024 int8 buf[256] = { 0, }; | 1014 GenBuffersImmediate& cmd = *GetBufferAs<GenBuffersImmediate>(); |
1025 GenBuffersImmediate& cmd = | |
1026 *static_cast<GenBuffersImmediate*>(static_cast<void*>(&buf)); | |
1027 void* next_cmd = cmd.Set( | 1015 void* next_cmd = cmd.Set( |
1028 &cmd, | 1016 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
1029 static_cast<GLsizei>(11), | |
1030 ids); | |
1031 EXPECT_EQ(static_cast<uint32>(GenBuffersImmediate::kCmdId), | 1017 EXPECT_EQ(static_cast<uint32>(GenBuffersImmediate::kCmdId), |
1032 cmd.header.command); | 1018 cmd.header.command); |
1033 EXPECT_EQ(sizeof(cmd) + | 1019 EXPECT_EQ(sizeof(cmd) + |
1034 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 1020 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
1035 cmd.header.size * 4u); | 1021 cmd.header.size * 4u); |
1036 EXPECT_EQ(static_cast<char*>(next_cmd), | 1022 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
1037 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 1023 CheckBytesWrittenMatchesExpectedSize( |
1038 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 1024 next_cmd, sizeof(cmd) + |
1039 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1025 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
1040 // TODO(gman): Check that ids were inserted; | 1026 // TODO(gman): Check that ids were inserted; |
1041 } | 1027 } |
1042 | 1028 |
1043 TEST(GLES2FormatTest, GenerateMipmap) { | 1029 TEST_F(GLES2FormatTest, GenerateMipmap) { |
1044 GenerateMipmap cmd = { { 0 } }; | 1030 GenerateMipmap& cmd = *GetBufferAs<GenerateMipmap>(); |
1045 void* next_cmd = cmd.Set( | 1031 void* next_cmd = cmd.Set( |
1046 &cmd, | 1032 &cmd, |
1047 static_cast<GLenum>(11)); | 1033 static_cast<GLenum>(11)); |
1048 EXPECT_EQ(static_cast<uint32>(GenerateMipmap::kCmdId), | 1034 EXPECT_EQ(static_cast<uint32>(GenerateMipmap::kCmdId), |
1049 cmd.header.command); | 1035 cmd.header.command); |
1050 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1036 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1051 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1052 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1053 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1037 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
| 1038 CheckBytesWrittenMatchesExpectedSize( |
| 1039 next_cmd, sizeof(cmd)); |
1054 } | 1040 } |
1055 | 1041 |
1056 TEST(GLES2FormatTest, GenFramebuffers) { | 1042 TEST_F(GLES2FormatTest, GenFramebuffers) { |
1057 GenFramebuffers cmd = { { 0 } }; | 1043 GenFramebuffers& cmd = *GetBufferAs<GenFramebuffers>(); |
1058 void* next_cmd = cmd.Set( | 1044 void* next_cmd = cmd.Set( |
1059 &cmd, | 1045 &cmd, |
1060 static_cast<GLsizei>(11), | 1046 static_cast<GLsizei>(11), |
1061 static_cast<uint32>(12), | 1047 static_cast<uint32>(12), |
1062 static_cast<uint32>(13)); | 1048 static_cast<uint32>(13)); |
1063 EXPECT_EQ(static_cast<uint32>(GenFramebuffers::kCmdId), | 1049 EXPECT_EQ(static_cast<uint32>(GenFramebuffers::kCmdId), |
1064 cmd.header.command); | 1050 cmd.header.command); |
1065 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1051 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1066 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1067 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1068 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1052 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
1069 EXPECT_EQ(static_cast<uint32>(12), cmd.framebuffers_shm_id); | 1053 EXPECT_EQ(static_cast<uint32>(12), cmd.framebuffers_shm_id); |
1070 EXPECT_EQ(static_cast<uint32>(13), cmd.framebuffers_shm_offset); | 1054 EXPECT_EQ(static_cast<uint32>(13), cmd.framebuffers_shm_offset); |
| 1055 CheckBytesWrittenMatchesExpectedSize( |
| 1056 next_cmd, sizeof(cmd)); |
1071 } | 1057 } |
1072 | 1058 |
1073 TEST(GLES2FormatTest, GenFramebuffersImmediate) { | 1059 TEST_F(GLES2FormatTest, GenFramebuffersImmediate) { |
1074 static GLuint ids[] = { 12, 23, 34, }; | 1060 static GLuint ids[] = { 12, 23, 34, }; |
1075 int8 buf[256] = { 0, }; | 1061 GenFramebuffersImmediate& cmd = *GetBufferAs<GenFramebuffersImmediate>(); |
1076 GenFramebuffersImmediate& cmd = | |
1077 *static_cast<GenFramebuffersImmediate*>(static_cast<void*>(&buf)); | |
1078 void* next_cmd = cmd.Set( | 1062 void* next_cmd = cmd.Set( |
1079 &cmd, | 1063 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
1080 static_cast<GLsizei>(11), | |
1081 ids); | |
1082 EXPECT_EQ(static_cast<uint32>(GenFramebuffersImmediate::kCmdId), | 1064 EXPECT_EQ(static_cast<uint32>(GenFramebuffersImmediate::kCmdId), |
1083 cmd.header.command); | 1065 cmd.header.command); |
1084 EXPECT_EQ(sizeof(cmd) + | 1066 EXPECT_EQ(sizeof(cmd) + |
1085 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 1067 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
1086 cmd.header.size * 4u); | 1068 cmd.header.size * 4u); |
1087 EXPECT_EQ(static_cast<char*>(next_cmd), | 1069 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
1088 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 1070 CheckBytesWrittenMatchesExpectedSize( |
1089 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 1071 next_cmd, sizeof(cmd) + |
1090 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1072 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
1091 // TODO(gman): Check that ids were inserted; | 1073 // TODO(gman): Check that ids were inserted; |
1092 } | 1074 } |
1093 | 1075 |
1094 TEST(GLES2FormatTest, GenRenderbuffers) { | 1076 TEST_F(GLES2FormatTest, GenRenderbuffers) { |
1095 GenRenderbuffers cmd = { { 0 } }; | 1077 GenRenderbuffers& cmd = *GetBufferAs<GenRenderbuffers>(); |
1096 void* next_cmd = cmd.Set( | 1078 void* next_cmd = cmd.Set( |
1097 &cmd, | 1079 &cmd, |
1098 static_cast<GLsizei>(11), | 1080 static_cast<GLsizei>(11), |
1099 static_cast<uint32>(12), | 1081 static_cast<uint32>(12), |
1100 static_cast<uint32>(13)); | 1082 static_cast<uint32>(13)); |
1101 EXPECT_EQ(static_cast<uint32>(GenRenderbuffers::kCmdId), | 1083 EXPECT_EQ(static_cast<uint32>(GenRenderbuffers::kCmdId), |
1102 cmd.header.command); | 1084 cmd.header.command); |
1103 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1085 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1104 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1105 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1106 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1086 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
1107 EXPECT_EQ(static_cast<uint32>(12), cmd.renderbuffers_shm_id); | 1087 EXPECT_EQ(static_cast<uint32>(12), cmd.renderbuffers_shm_id); |
1108 EXPECT_EQ(static_cast<uint32>(13), cmd.renderbuffers_shm_offset); | 1088 EXPECT_EQ(static_cast<uint32>(13), cmd.renderbuffers_shm_offset); |
| 1089 CheckBytesWrittenMatchesExpectedSize( |
| 1090 next_cmd, sizeof(cmd)); |
1109 } | 1091 } |
1110 | 1092 |
1111 TEST(GLES2FormatTest, GenRenderbuffersImmediate) { | 1093 TEST_F(GLES2FormatTest, GenRenderbuffersImmediate) { |
1112 static GLuint ids[] = { 12, 23, 34, }; | 1094 static GLuint ids[] = { 12, 23, 34, }; |
1113 int8 buf[256] = { 0, }; | 1095 GenRenderbuffersImmediate& cmd = *GetBufferAs<GenRenderbuffersImmediate>(); |
1114 GenRenderbuffersImmediate& cmd = | |
1115 *static_cast<GenRenderbuffersImmediate*>(static_cast<void*>(&buf)); | |
1116 void* next_cmd = cmd.Set( | 1096 void* next_cmd = cmd.Set( |
1117 &cmd, | 1097 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
1118 static_cast<GLsizei>(11), | |
1119 ids); | |
1120 EXPECT_EQ(static_cast<uint32>(GenRenderbuffersImmediate::kCmdId), | 1098 EXPECT_EQ(static_cast<uint32>(GenRenderbuffersImmediate::kCmdId), |
1121 cmd.header.command); | 1099 cmd.header.command); |
1122 EXPECT_EQ(sizeof(cmd) + | 1100 EXPECT_EQ(sizeof(cmd) + |
1123 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 1101 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
1124 cmd.header.size * 4u); | 1102 cmd.header.size * 4u); |
1125 EXPECT_EQ(static_cast<char*>(next_cmd), | 1103 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
1126 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 1104 CheckBytesWrittenMatchesExpectedSize( |
1127 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 1105 next_cmd, sizeof(cmd) + |
1128 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1106 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
1129 // TODO(gman): Check that ids were inserted; | 1107 // TODO(gman): Check that ids were inserted; |
1130 } | 1108 } |
1131 | 1109 |
1132 TEST(GLES2FormatTest, GenTextures) { | 1110 TEST_F(GLES2FormatTest, GenTextures) { |
1133 GenTextures cmd = { { 0 } }; | 1111 GenTextures& cmd = *GetBufferAs<GenTextures>(); |
1134 void* next_cmd = cmd.Set( | 1112 void* next_cmd = cmd.Set( |
1135 &cmd, | 1113 &cmd, |
1136 static_cast<GLsizei>(11), | 1114 static_cast<GLsizei>(11), |
1137 static_cast<uint32>(12), | 1115 static_cast<uint32>(12), |
1138 static_cast<uint32>(13)); | 1116 static_cast<uint32>(13)); |
1139 EXPECT_EQ(static_cast<uint32>(GenTextures::kCmdId), | 1117 EXPECT_EQ(static_cast<uint32>(GenTextures::kCmdId), |
1140 cmd.header.command); | 1118 cmd.header.command); |
1141 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1119 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1142 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1143 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1144 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1120 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
1145 EXPECT_EQ(static_cast<uint32>(12), cmd.textures_shm_id); | 1121 EXPECT_EQ(static_cast<uint32>(12), cmd.textures_shm_id); |
1146 EXPECT_EQ(static_cast<uint32>(13), cmd.textures_shm_offset); | 1122 EXPECT_EQ(static_cast<uint32>(13), cmd.textures_shm_offset); |
| 1123 CheckBytesWrittenMatchesExpectedSize( |
| 1124 next_cmd, sizeof(cmd)); |
1147 } | 1125 } |
1148 | 1126 |
1149 TEST(GLES2FormatTest, GenTexturesImmediate) { | 1127 TEST_F(GLES2FormatTest, GenTexturesImmediate) { |
1150 static GLuint ids[] = { 12, 23, 34, }; | 1128 static GLuint ids[] = { 12, 23, 34, }; |
1151 int8 buf[256] = { 0, }; | 1129 GenTexturesImmediate& cmd = *GetBufferAs<GenTexturesImmediate>(); |
1152 GenTexturesImmediate& cmd = | |
1153 *static_cast<GenTexturesImmediate*>(static_cast<void*>(&buf)); | |
1154 void* next_cmd = cmd.Set( | 1130 void* next_cmd = cmd.Set( |
1155 &cmd, | 1131 &cmd, static_cast<GLsizei>(arraysize(ids)), ids); |
1156 static_cast<GLsizei>(11), | |
1157 ids); | |
1158 EXPECT_EQ(static_cast<uint32>(GenTexturesImmediate::kCmdId), | 1132 EXPECT_EQ(static_cast<uint32>(GenTexturesImmediate::kCmdId), |
1159 cmd.header.command); | 1133 cmd.header.command); |
1160 EXPECT_EQ(sizeof(cmd) + | 1134 EXPECT_EQ(sizeof(cmd) + |
1161 RoundSizeToMultipleOfEntries(cmd.n * 4u), | 1135 RoundSizeToMultipleOfEntries(cmd.n * 4u), |
1162 cmd.header.size * 4u); | 1136 cmd.header.size * 4u); |
1163 EXPECT_EQ(static_cast<char*>(next_cmd), | 1137 EXPECT_EQ(static_cast<GLsizei>(arraysize(ids)), cmd.n); |
1164 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | 1138 CheckBytesWrittenMatchesExpectedSize( |
1165 RoundSizeToMultipleOfEntries(cmd.n * 4u)); | 1139 next_cmd, sizeof(cmd) + |
1166 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1140 RoundSizeToMultipleOfEntries(arraysize(ids) * 4u)); |
1167 // TODO(gman): Check that ids were inserted; | 1141 // TODO(gman): Check that ids were inserted; |
1168 } | 1142 } |
1169 | 1143 |
1170 TEST(GLES2FormatTest, GetActiveAttrib) { | 1144 TEST_F(GLES2FormatTest, GetActiveAttrib) { |
1171 GetActiveAttrib cmd = { { 0 } }; | 1145 GetActiveAttrib& cmd = *GetBufferAs<GetActiveAttrib>(); |
1172 void* next_cmd = cmd.Set( | 1146 void* next_cmd = cmd.Set( |
1173 &cmd, | 1147 &cmd, |
1174 static_cast<GLuint>(11), | 1148 static_cast<GLuint>(11), |
1175 static_cast<GLuint>(12), | 1149 static_cast<GLuint>(12), |
1176 static_cast<uint32>(13), | 1150 static_cast<uint32>(13), |
1177 static_cast<uint32>(14), | 1151 static_cast<uint32>(14), |
1178 static_cast<uint32>(15)); | 1152 static_cast<uint32>(15)); |
1179 EXPECT_EQ(static_cast<uint32>(GetActiveAttrib::kCmdId), | 1153 EXPECT_EQ(static_cast<uint32>(GetActiveAttrib::kCmdId), |
1180 cmd.header.command); | 1154 cmd.header.command); |
1181 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1155 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1182 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1183 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1184 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1156 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1185 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); | 1157 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); |
1186 EXPECT_EQ(static_cast<uint32>(13), cmd.name_bucket_id); | 1158 EXPECT_EQ(static_cast<uint32>(13), cmd.name_bucket_id); |
1187 EXPECT_EQ(static_cast<uint32>(14), cmd.result_shm_id); | 1159 EXPECT_EQ(static_cast<uint32>(14), cmd.result_shm_id); |
1188 EXPECT_EQ(static_cast<uint32>(15), cmd.result_shm_offset); | 1160 EXPECT_EQ(static_cast<uint32>(15), cmd.result_shm_offset); |
| 1161 CheckBytesWrittenMatchesExpectedSize( |
| 1162 next_cmd, sizeof(cmd)); |
1189 } | 1163 } |
1190 | 1164 |
1191 TEST(GLES2FormatTest, GetActiveUniform) { | 1165 TEST_F(GLES2FormatTest, GetActiveUniform) { |
1192 GetActiveUniform cmd = { { 0 } }; | 1166 GetActiveUniform& cmd = *GetBufferAs<GetActiveUniform>(); |
1193 void* next_cmd = cmd.Set( | 1167 void* next_cmd = cmd.Set( |
1194 &cmd, | 1168 &cmd, |
1195 static_cast<GLuint>(11), | 1169 static_cast<GLuint>(11), |
1196 static_cast<GLuint>(12), | 1170 static_cast<GLuint>(12), |
1197 static_cast<uint32>(13), | 1171 static_cast<uint32>(13), |
1198 static_cast<uint32>(14), | 1172 static_cast<uint32>(14), |
1199 static_cast<uint32>(15)); | 1173 static_cast<uint32>(15)); |
1200 EXPECT_EQ(static_cast<uint32>(GetActiveUniform::kCmdId), | 1174 EXPECT_EQ(static_cast<uint32>(GetActiveUniform::kCmdId), |
1201 cmd.header.command); | 1175 cmd.header.command); |
1202 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1176 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1203 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1204 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1205 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1177 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1206 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); | 1178 EXPECT_EQ(static_cast<GLuint>(12), cmd.index); |
1207 EXPECT_EQ(static_cast<uint32>(13), cmd.name_bucket_id); | 1179 EXPECT_EQ(static_cast<uint32>(13), cmd.name_bucket_id); |
1208 EXPECT_EQ(static_cast<uint32>(14), cmd.result_shm_id); | 1180 EXPECT_EQ(static_cast<uint32>(14), cmd.result_shm_id); |
1209 EXPECT_EQ(static_cast<uint32>(15), cmd.result_shm_offset); | 1181 EXPECT_EQ(static_cast<uint32>(15), cmd.result_shm_offset); |
| 1182 CheckBytesWrittenMatchesExpectedSize( |
| 1183 next_cmd, sizeof(cmd)); |
1210 } | 1184 } |
1211 | 1185 |
1212 TEST(GLES2FormatTest, GetAttachedShaders) { | 1186 TEST_F(GLES2FormatTest, GetAttachedShaders) { |
1213 GetAttachedShaders cmd = { { 0 } }; | 1187 GetAttachedShaders& cmd = *GetBufferAs<GetAttachedShaders>(); |
1214 void* next_cmd = cmd.Set( | 1188 void* next_cmd = cmd.Set( |
1215 &cmd, | 1189 &cmd, |
1216 static_cast<GLuint>(11), | 1190 static_cast<GLuint>(11), |
1217 static_cast<uint32>(12), | 1191 static_cast<uint32>(12), |
1218 static_cast<uint32>(13), | 1192 static_cast<uint32>(13), |
1219 static_cast<uint32>(14)); | 1193 static_cast<uint32>(14)); |
1220 EXPECT_EQ(static_cast<uint32>(GetAttachedShaders::kCmdId), | 1194 EXPECT_EQ(static_cast<uint32>(GetAttachedShaders::kCmdId), |
1221 cmd.header.command); | 1195 cmd.header.command); |
1222 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1196 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1223 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1224 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1225 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1197 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1226 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1198 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1227 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1199 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
1228 EXPECT_EQ(static_cast<uint32>(14), cmd.result_size); | 1200 EXPECT_EQ(static_cast<uint32>(14), cmd.result_size); |
| 1201 CheckBytesWrittenMatchesExpectedSize( |
| 1202 next_cmd, sizeof(cmd)); |
1229 } | 1203 } |
1230 | 1204 |
1231 // TODO(gman): Write test for GetAttribLocation | 1205 // TODO(gman): Write test for GetAttribLocation |
1232 // TODO(gman): Write test for GetAttribLocationImmediate | 1206 // TODO(gman): Write test for GetAttribLocationImmediate |
1233 // TODO(gman): Write test for GetAttribLocationBucket | 1207 // TODO(gman): Write test for GetAttribLocationBucket |
1234 TEST(GLES2FormatTest, GetBooleanv) { | 1208 TEST_F(GLES2FormatTest, GetBooleanv) { |
1235 GetBooleanv cmd = { { 0 } }; | 1209 GetBooleanv& cmd = *GetBufferAs<GetBooleanv>(); |
1236 void* next_cmd = cmd.Set( | 1210 void* next_cmd = cmd.Set( |
1237 &cmd, | 1211 &cmd, |
1238 static_cast<GLenum>(11), | 1212 static_cast<GLenum>(11), |
1239 static_cast<uint32>(12), | 1213 static_cast<uint32>(12), |
1240 static_cast<uint32>(13)); | 1214 static_cast<uint32>(13)); |
1241 EXPECT_EQ(static_cast<uint32>(GetBooleanv::kCmdId), | 1215 EXPECT_EQ(static_cast<uint32>(GetBooleanv::kCmdId), |
1242 cmd.header.command); | 1216 cmd.header.command); |
1243 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1217 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1244 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1245 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1246 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); | 1218 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); |
1247 EXPECT_EQ(static_cast<uint32>(12), cmd.params_shm_id); | 1219 EXPECT_EQ(static_cast<uint32>(12), cmd.params_shm_id); |
1248 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_offset); | 1220 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_offset); |
| 1221 CheckBytesWrittenMatchesExpectedSize( |
| 1222 next_cmd, sizeof(cmd)); |
1249 } | 1223 } |
1250 | 1224 |
1251 TEST(GLES2FormatTest, GetBufferParameteriv) { | 1225 TEST_F(GLES2FormatTest, GetBufferParameteriv) { |
1252 GetBufferParameteriv cmd = { { 0 } }; | 1226 GetBufferParameteriv& cmd = *GetBufferAs<GetBufferParameteriv>(); |
1253 void* next_cmd = cmd.Set( | 1227 void* next_cmd = cmd.Set( |
1254 &cmd, | 1228 &cmd, |
1255 static_cast<GLenum>(11), | 1229 static_cast<GLenum>(11), |
1256 static_cast<GLenum>(12), | 1230 static_cast<GLenum>(12), |
1257 static_cast<uint32>(13), | 1231 static_cast<uint32>(13), |
1258 static_cast<uint32>(14)); | 1232 static_cast<uint32>(14)); |
1259 EXPECT_EQ(static_cast<uint32>(GetBufferParameteriv::kCmdId), | 1233 EXPECT_EQ(static_cast<uint32>(GetBufferParameteriv::kCmdId), |
1260 cmd.header.command); | 1234 cmd.header.command); |
1261 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1235 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1262 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1263 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1264 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1236 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1265 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1237 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1266 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1238 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1267 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1239 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1240 CheckBytesWrittenMatchesExpectedSize( |
| 1241 next_cmd, sizeof(cmd)); |
1268 } | 1242 } |
1269 | 1243 |
1270 TEST(GLES2FormatTest, GetError) { | 1244 TEST_F(GLES2FormatTest, GetError) { |
1271 GetError cmd = { { 0 } }; | 1245 GetError& cmd = *GetBufferAs<GetError>(); |
1272 void* next_cmd = cmd.Set( | 1246 void* next_cmd = cmd.Set( |
1273 &cmd, | 1247 &cmd, |
1274 static_cast<uint32>(11), | 1248 static_cast<uint32>(11), |
1275 static_cast<uint32>(12)); | 1249 static_cast<uint32>(12)); |
1276 EXPECT_EQ(static_cast<uint32>(GetError::kCmdId), | 1250 EXPECT_EQ(static_cast<uint32>(GetError::kCmdId), |
1277 cmd.header.command); | 1251 cmd.header.command); |
1278 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1252 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1279 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1280 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1281 EXPECT_EQ(static_cast<uint32>(11), cmd.result_shm_id); | 1253 EXPECT_EQ(static_cast<uint32>(11), cmd.result_shm_id); |
1282 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_offset); | 1254 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_offset); |
| 1255 CheckBytesWrittenMatchesExpectedSize( |
| 1256 next_cmd, sizeof(cmd)); |
1283 } | 1257 } |
1284 | 1258 |
1285 TEST(GLES2FormatTest, GetFloatv) { | 1259 TEST_F(GLES2FormatTest, GetFloatv) { |
1286 GetFloatv cmd = { { 0 } }; | 1260 GetFloatv& cmd = *GetBufferAs<GetFloatv>(); |
1287 void* next_cmd = cmd.Set( | 1261 void* next_cmd = cmd.Set( |
1288 &cmd, | 1262 &cmd, |
1289 static_cast<GLenum>(11), | 1263 static_cast<GLenum>(11), |
1290 static_cast<uint32>(12), | 1264 static_cast<uint32>(12), |
1291 static_cast<uint32>(13)); | 1265 static_cast<uint32>(13)); |
1292 EXPECT_EQ(static_cast<uint32>(GetFloatv::kCmdId), | 1266 EXPECT_EQ(static_cast<uint32>(GetFloatv::kCmdId), |
1293 cmd.header.command); | 1267 cmd.header.command); |
1294 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1268 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1295 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1296 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1297 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); | 1269 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); |
1298 EXPECT_EQ(static_cast<uint32>(12), cmd.params_shm_id); | 1270 EXPECT_EQ(static_cast<uint32>(12), cmd.params_shm_id); |
1299 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_offset); | 1271 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_offset); |
| 1272 CheckBytesWrittenMatchesExpectedSize( |
| 1273 next_cmd, sizeof(cmd)); |
1300 } | 1274 } |
1301 | 1275 |
1302 TEST(GLES2FormatTest, GetFramebufferAttachmentParameteriv) { | 1276 TEST_F(GLES2FormatTest, GetFramebufferAttachmentParameteriv) { |
1303 GetFramebufferAttachmentParameteriv cmd = { { 0 } }; | 1277 GetFramebufferAttachmentParameteriv& cmd = |
| 1278 *GetBufferAs<GetFramebufferAttachmentParameteriv>(); |
1304 void* next_cmd = cmd.Set( | 1279 void* next_cmd = cmd.Set( |
1305 &cmd, | 1280 &cmd, |
1306 static_cast<GLenum>(11), | 1281 static_cast<GLenum>(11), |
1307 static_cast<GLenum>(12), | 1282 static_cast<GLenum>(12), |
1308 static_cast<GLenum>(13), | 1283 static_cast<GLenum>(13), |
1309 static_cast<uint32>(14), | 1284 static_cast<uint32>(14), |
1310 static_cast<uint32>(15)); | 1285 static_cast<uint32>(15)); |
1311 EXPECT_EQ(static_cast<uint32>(GetFramebufferAttachmentParameteriv::kCmdId), | 1286 EXPECT_EQ(static_cast<uint32>(GetFramebufferAttachmentParameteriv::kCmdId), |
1312 cmd.header.command); | 1287 cmd.header.command); |
1313 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1288 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1314 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1315 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1316 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1289 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1317 EXPECT_EQ(static_cast<GLenum>(12), cmd.attachment); | 1290 EXPECT_EQ(static_cast<GLenum>(12), cmd.attachment); |
1318 EXPECT_EQ(static_cast<GLenum>(13), cmd.pname); | 1291 EXPECT_EQ(static_cast<GLenum>(13), cmd.pname); |
1319 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_id); | 1292 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_id); |
1320 EXPECT_EQ(static_cast<uint32>(15), cmd.params_shm_offset); | 1293 EXPECT_EQ(static_cast<uint32>(15), cmd.params_shm_offset); |
| 1294 CheckBytesWrittenMatchesExpectedSize( |
| 1295 next_cmd, sizeof(cmd)); |
1321 } | 1296 } |
1322 | 1297 |
1323 TEST(GLES2FormatTest, GetIntegerv) { | 1298 TEST_F(GLES2FormatTest, GetIntegerv) { |
1324 GetIntegerv cmd = { { 0 } }; | 1299 GetIntegerv& cmd = *GetBufferAs<GetIntegerv>(); |
1325 void* next_cmd = cmd.Set( | 1300 void* next_cmd = cmd.Set( |
1326 &cmd, | 1301 &cmd, |
1327 static_cast<GLenum>(11), | 1302 static_cast<GLenum>(11), |
1328 static_cast<uint32>(12), | 1303 static_cast<uint32>(12), |
1329 static_cast<uint32>(13)); | 1304 static_cast<uint32>(13)); |
1330 EXPECT_EQ(static_cast<uint32>(GetIntegerv::kCmdId), | 1305 EXPECT_EQ(static_cast<uint32>(GetIntegerv::kCmdId), |
1331 cmd.header.command); | 1306 cmd.header.command); |
1332 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1307 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1333 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1334 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1335 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); | 1308 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); |
1336 EXPECT_EQ(static_cast<uint32>(12), cmd.params_shm_id); | 1309 EXPECT_EQ(static_cast<uint32>(12), cmd.params_shm_id); |
1337 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_offset); | 1310 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_offset); |
| 1311 CheckBytesWrittenMatchesExpectedSize( |
| 1312 next_cmd, sizeof(cmd)); |
1338 } | 1313 } |
1339 | 1314 |
1340 TEST(GLES2FormatTest, GetProgramiv) { | 1315 TEST_F(GLES2FormatTest, GetProgramiv) { |
1341 GetProgramiv cmd = { { 0 } }; | 1316 GetProgramiv& cmd = *GetBufferAs<GetProgramiv>(); |
1342 void* next_cmd = cmd.Set( | 1317 void* next_cmd = cmd.Set( |
1343 &cmd, | 1318 &cmd, |
1344 static_cast<GLuint>(11), | 1319 static_cast<GLuint>(11), |
1345 static_cast<GLenum>(12), | 1320 static_cast<GLenum>(12), |
1346 static_cast<uint32>(13), | 1321 static_cast<uint32>(13), |
1347 static_cast<uint32>(14)); | 1322 static_cast<uint32>(14)); |
1348 EXPECT_EQ(static_cast<uint32>(GetProgramiv::kCmdId), | 1323 EXPECT_EQ(static_cast<uint32>(GetProgramiv::kCmdId), |
1349 cmd.header.command); | 1324 cmd.header.command); |
1350 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1325 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1351 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1352 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1353 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1326 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1354 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1327 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1355 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1328 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1356 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1329 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1330 CheckBytesWrittenMatchesExpectedSize( |
| 1331 next_cmd, sizeof(cmd)); |
1357 } | 1332 } |
1358 | 1333 |
1359 TEST(GLES2FormatTest, GetProgramInfoLog) { | 1334 TEST_F(GLES2FormatTest, GetProgramInfoLog) { |
1360 GetProgramInfoLog cmd = { { 0 } }; | 1335 GetProgramInfoLog& cmd = *GetBufferAs<GetProgramInfoLog>(); |
1361 void* next_cmd = cmd.Set( | 1336 void* next_cmd = cmd.Set( |
1362 &cmd, | 1337 &cmd, |
1363 static_cast<GLuint>(11), | 1338 static_cast<GLuint>(11), |
1364 static_cast<uint32>(12)); | 1339 static_cast<uint32>(12)); |
1365 EXPECT_EQ(static_cast<uint32>(GetProgramInfoLog::kCmdId), | 1340 EXPECT_EQ(static_cast<uint32>(GetProgramInfoLog::kCmdId), |
1366 cmd.header.command); | 1341 cmd.header.command); |
1367 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1342 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1368 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1369 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1370 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1343 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1371 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); | 1344 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); |
| 1345 CheckBytesWrittenMatchesExpectedSize( |
| 1346 next_cmd, sizeof(cmd)); |
1372 } | 1347 } |
1373 | 1348 |
1374 TEST(GLES2FormatTest, GetRenderbufferParameteriv) { | 1349 TEST_F(GLES2FormatTest, GetRenderbufferParameteriv) { |
1375 GetRenderbufferParameteriv cmd = { { 0 } }; | 1350 GetRenderbufferParameteriv& cmd = *GetBufferAs<GetRenderbufferParameteriv>(); |
1376 void* next_cmd = cmd.Set( | 1351 void* next_cmd = cmd.Set( |
1377 &cmd, | 1352 &cmd, |
1378 static_cast<GLenum>(11), | 1353 static_cast<GLenum>(11), |
1379 static_cast<GLenum>(12), | 1354 static_cast<GLenum>(12), |
1380 static_cast<uint32>(13), | 1355 static_cast<uint32>(13), |
1381 static_cast<uint32>(14)); | 1356 static_cast<uint32>(14)); |
1382 EXPECT_EQ(static_cast<uint32>(GetRenderbufferParameteriv::kCmdId), | 1357 EXPECT_EQ(static_cast<uint32>(GetRenderbufferParameteriv::kCmdId), |
1383 cmd.header.command); | 1358 cmd.header.command); |
1384 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1359 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1385 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1386 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1387 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1360 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1388 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1361 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1389 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1362 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1390 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1363 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1364 CheckBytesWrittenMatchesExpectedSize( |
| 1365 next_cmd, sizeof(cmd)); |
1391 } | 1366 } |
1392 | 1367 |
1393 TEST(GLES2FormatTest, GetShaderiv) { | 1368 TEST_F(GLES2FormatTest, GetShaderiv) { |
1394 GetShaderiv cmd = { { 0 } }; | 1369 GetShaderiv& cmd = *GetBufferAs<GetShaderiv>(); |
1395 void* next_cmd = cmd.Set( | 1370 void* next_cmd = cmd.Set( |
1396 &cmd, | 1371 &cmd, |
1397 static_cast<GLuint>(11), | 1372 static_cast<GLuint>(11), |
1398 static_cast<GLenum>(12), | 1373 static_cast<GLenum>(12), |
1399 static_cast<uint32>(13), | 1374 static_cast<uint32>(13), |
1400 static_cast<uint32>(14)); | 1375 static_cast<uint32>(14)); |
1401 EXPECT_EQ(static_cast<uint32>(GetShaderiv::kCmdId), | 1376 EXPECT_EQ(static_cast<uint32>(GetShaderiv::kCmdId), |
1402 cmd.header.command); | 1377 cmd.header.command); |
1403 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1378 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1404 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1405 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1406 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 1379 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
1407 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1380 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1408 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1381 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1409 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1382 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1383 CheckBytesWrittenMatchesExpectedSize( |
| 1384 next_cmd, sizeof(cmd)); |
1410 } | 1385 } |
1411 | 1386 |
1412 TEST(GLES2FormatTest, GetShaderInfoLog) { | 1387 TEST_F(GLES2FormatTest, GetShaderInfoLog) { |
1413 GetShaderInfoLog cmd = { { 0 } }; | 1388 GetShaderInfoLog& cmd = *GetBufferAs<GetShaderInfoLog>(); |
1414 void* next_cmd = cmd.Set( | 1389 void* next_cmd = cmd.Set( |
1415 &cmd, | 1390 &cmd, |
1416 static_cast<GLuint>(11), | 1391 static_cast<GLuint>(11), |
1417 static_cast<uint32>(12)); | 1392 static_cast<uint32>(12)); |
1418 EXPECT_EQ(static_cast<uint32>(GetShaderInfoLog::kCmdId), | 1393 EXPECT_EQ(static_cast<uint32>(GetShaderInfoLog::kCmdId), |
1419 cmd.header.command); | 1394 cmd.header.command); |
1420 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1395 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1421 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1422 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1423 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 1396 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
1424 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); | 1397 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); |
| 1398 CheckBytesWrittenMatchesExpectedSize( |
| 1399 next_cmd, sizeof(cmd)); |
1425 } | 1400 } |
1426 | 1401 |
1427 TEST(GLES2FormatTest, GetShaderPrecisionFormat) { | 1402 TEST_F(GLES2FormatTest, GetShaderPrecisionFormat) { |
1428 GetShaderPrecisionFormat cmd = { { 0 } }; | 1403 GetShaderPrecisionFormat& cmd = *GetBufferAs<GetShaderPrecisionFormat>(); |
1429 void* next_cmd = cmd.Set( | 1404 void* next_cmd = cmd.Set( |
1430 &cmd, | 1405 &cmd, |
1431 static_cast<GLenum>(11), | 1406 static_cast<GLenum>(11), |
1432 static_cast<GLenum>(12), | 1407 static_cast<GLenum>(12), |
1433 static_cast<uint32>(13), | 1408 static_cast<uint32>(13), |
1434 static_cast<uint32>(14)); | 1409 static_cast<uint32>(14)); |
1435 EXPECT_EQ(static_cast<uint32>(GetShaderPrecisionFormat::kCmdId), | 1410 EXPECT_EQ(static_cast<uint32>(GetShaderPrecisionFormat::kCmdId), |
1436 cmd.header.command); | 1411 cmd.header.command); |
1437 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1412 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1438 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1439 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1440 EXPECT_EQ(static_cast<GLenum>(11), cmd.shadertype); | 1413 EXPECT_EQ(static_cast<GLenum>(11), cmd.shadertype); |
1441 EXPECT_EQ(static_cast<GLenum>(12), cmd.precisiontype); | 1414 EXPECT_EQ(static_cast<GLenum>(12), cmd.precisiontype); |
1442 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_id); | 1415 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_id); |
1443 EXPECT_EQ(static_cast<uint32>(14), cmd.result_shm_offset); | 1416 EXPECT_EQ(static_cast<uint32>(14), cmd.result_shm_offset); |
| 1417 CheckBytesWrittenMatchesExpectedSize( |
| 1418 next_cmd, sizeof(cmd)); |
1444 } | 1419 } |
1445 | 1420 |
1446 TEST(GLES2FormatTest, GetShaderSource) { | 1421 TEST_F(GLES2FormatTest, GetShaderSource) { |
1447 GetShaderSource cmd = { { 0 } }; | 1422 GetShaderSource& cmd = *GetBufferAs<GetShaderSource>(); |
1448 void* next_cmd = cmd.Set( | 1423 void* next_cmd = cmd.Set( |
1449 &cmd, | 1424 &cmd, |
1450 static_cast<GLuint>(11), | 1425 static_cast<GLuint>(11), |
1451 static_cast<uint32>(12)); | 1426 static_cast<uint32>(12)); |
1452 EXPECT_EQ(static_cast<uint32>(GetShaderSource::kCmdId), | 1427 EXPECT_EQ(static_cast<uint32>(GetShaderSource::kCmdId), |
1453 cmd.header.command); | 1428 cmd.header.command); |
1454 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1429 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1455 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1456 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1457 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 1430 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
1458 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); | 1431 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); |
| 1432 CheckBytesWrittenMatchesExpectedSize( |
| 1433 next_cmd, sizeof(cmd)); |
1459 } | 1434 } |
1460 | 1435 |
1461 TEST(GLES2FormatTest, GetString) { | 1436 TEST_F(GLES2FormatTest, GetString) { |
1462 GetString cmd = { { 0 } }; | 1437 GetString& cmd = *GetBufferAs<GetString>(); |
1463 void* next_cmd = cmd.Set( | 1438 void* next_cmd = cmd.Set( |
1464 &cmd, | 1439 &cmd, |
1465 static_cast<GLenum>(11), | 1440 static_cast<GLenum>(11), |
1466 static_cast<uint32>(12)); | 1441 static_cast<uint32>(12)); |
1467 EXPECT_EQ(static_cast<uint32>(GetString::kCmdId), | 1442 EXPECT_EQ(static_cast<uint32>(GetString::kCmdId), |
1468 cmd.header.command); | 1443 cmd.header.command); |
1469 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1444 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1470 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1471 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1472 EXPECT_EQ(static_cast<GLenum>(11), cmd.name); | 1445 EXPECT_EQ(static_cast<GLenum>(11), cmd.name); |
1473 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); | 1446 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); |
| 1447 CheckBytesWrittenMatchesExpectedSize( |
| 1448 next_cmd, sizeof(cmd)); |
1474 } | 1449 } |
1475 | 1450 |
1476 TEST(GLES2FormatTest, GetTexParameterfv) { | 1451 TEST_F(GLES2FormatTest, GetTexParameterfv) { |
1477 GetTexParameterfv cmd = { { 0 } }; | 1452 GetTexParameterfv& cmd = *GetBufferAs<GetTexParameterfv>(); |
1478 void* next_cmd = cmd.Set( | 1453 void* next_cmd = cmd.Set( |
1479 &cmd, | 1454 &cmd, |
1480 static_cast<GLenum>(11), | 1455 static_cast<GLenum>(11), |
1481 static_cast<GLenum>(12), | 1456 static_cast<GLenum>(12), |
1482 static_cast<uint32>(13), | 1457 static_cast<uint32>(13), |
1483 static_cast<uint32>(14)); | 1458 static_cast<uint32>(14)); |
1484 EXPECT_EQ(static_cast<uint32>(GetTexParameterfv::kCmdId), | 1459 EXPECT_EQ(static_cast<uint32>(GetTexParameterfv::kCmdId), |
1485 cmd.header.command); | 1460 cmd.header.command); |
1486 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1461 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1487 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1488 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1489 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1462 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1490 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1463 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1491 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1464 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1492 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1465 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1466 CheckBytesWrittenMatchesExpectedSize( |
| 1467 next_cmd, sizeof(cmd)); |
1493 } | 1468 } |
1494 | 1469 |
1495 TEST(GLES2FormatTest, GetTexParameteriv) { | 1470 TEST_F(GLES2FormatTest, GetTexParameteriv) { |
1496 GetTexParameteriv cmd = { { 0 } }; | 1471 GetTexParameteriv& cmd = *GetBufferAs<GetTexParameteriv>(); |
1497 void* next_cmd = cmd.Set( | 1472 void* next_cmd = cmd.Set( |
1498 &cmd, | 1473 &cmd, |
1499 static_cast<GLenum>(11), | 1474 static_cast<GLenum>(11), |
1500 static_cast<GLenum>(12), | 1475 static_cast<GLenum>(12), |
1501 static_cast<uint32>(13), | 1476 static_cast<uint32>(13), |
1502 static_cast<uint32>(14)); | 1477 static_cast<uint32>(14)); |
1503 EXPECT_EQ(static_cast<uint32>(GetTexParameteriv::kCmdId), | 1478 EXPECT_EQ(static_cast<uint32>(GetTexParameteriv::kCmdId), |
1504 cmd.header.command); | 1479 cmd.header.command); |
1505 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1480 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1506 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1507 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1508 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1481 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1509 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1482 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1510 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1483 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1511 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1484 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1485 CheckBytesWrittenMatchesExpectedSize( |
| 1486 next_cmd, sizeof(cmd)); |
1512 } | 1487 } |
1513 | 1488 |
1514 TEST(GLES2FormatTest, GetUniformfv) { | 1489 TEST_F(GLES2FormatTest, GetUniformfv) { |
1515 GetUniformfv cmd = { { 0 } }; | 1490 GetUniformfv& cmd = *GetBufferAs<GetUniformfv>(); |
1516 void* next_cmd = cmd.Set( | 1491 void* next_cmd = cmd.Set( |
1517 &cmd, | 1492 &cmd, |
1518 static_cast<GLuint>(11), | 1493 static_cast<GLuint>(11), |
1519 static_cast<GLint>(12), | 1494 static_cast<GLint>(12), |
1520 static_cast<uint32>(13), | 1495 static_cast<uint32>(13), |
1521 static_cast<uint32>(14)); | 1496 static_cast<uint32>(14)); |
1522 EXPECT_EQ(static_cast<uint32>(GetUniformfv::kCmdId), | 1497 EXPECT_EQ(static_cast<uint32>(GetUniformfv::kCmdId), |
1523 cmd.header.command); | 1498 cmd.header.command); |
1524 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1499 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1525 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1526 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1527 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1500 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1528 EXPECT_EQ(static_cast<GLint>(12), cmd.location); | 1501 EXPECT_EQ(static_cast<GLint>(12), cmd.location); |
1529 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1502 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1530 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1503 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1504 CheckBytesWrittenMatchesExpectedSize( |
| 1505 next_cmd, sizeof(cmd)); |
1531 } | 1506 } |
1532 | 1507 |
1533 TEST(GLES2FormatTest, GetUniformiv) { | 1508 TEST_F(GLES2FormatTest, GetUniformiv) { |
1534 GetUniformiv cmd = { { 0 } }; | 1509 GetUniformiv& cmd = *GetBufferAs<GetUniformiv>(); |
1535 void* next_cmd = cmd.Set( | 1510 void* next_cmd = cmd.Set( |
1536 &cmd, | 1511 &cmd, |
1537 static_cast<GLuint>(11), | 1512 static_cast<GLuint>(11), |
1538 static_cast<GLint>(12), | 1513 static_cast<GLint>(12), |
1539 static_cast<uint32>(13), | 1514 static_cast<uint32>(13), |
1540 static_cast<uint32>(14)); | 1515 static_cast<uint32>(14)); |
1541 EXPECT_EQ(static_cast<uint32>(GetUniformiv::kCmdId), | 1516 EXPECT_EQ(static_cast<uint32>(GetUniformiv::kCmdId), |
1542 cmd.header.command); | 1517 cmd.header.command); |
1543 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1518 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1544 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1545 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1546 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1519 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1547 EXPECT_EQ(static_cast<GLint>(12), cmd.location); | 1520 EXPECT_EQ(static_cast<GLint>(12), cmd.location); |
1548 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1521 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1549 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1522 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1523 CheckBytesWrittenMatchesExpectedSize( |
| 1524 next_cmd, sizeof(cmd)); |
1550 } | 1525 } |
1551 | 1526 |
1552 // TODO(gman): Write test for GetUniformLocation | 1527 // TODO(gman): Write test for GetUniformLocation |
1553 // TODO(gman): Write test for GetUniformLocationImmediate | 1528 // TODO(gman): Write test for GetUniformLocationImmediate |
1554 // TODO(gman): Write test for GetUniformLocationBucket | 1529 // TODO(gman): Write test for GetUniformLocationBucket |
1555 TEST(GLES2FormatTest, GetVertexAttribfv) { | 1530 TEST_F(GLES2FormatTest, GetVertexAttribfv) { |
1556 GetVertexAttribfv cmd = { { 0 } }; | 1531 GetVertexAttribfv& cmd = *GetBufferAs<GetVertexAttribfv>(); |
1557 void* next_cmd = cmd.Set( | 1532 void* next_cmd = cmd.Set( |
1558 &cmd, | 1533 &cmd, |
1559 static_cast<GLuint>(11), | 1534 static_cast<GLuint>(11), |
1560 static_cast<GLenum>(12), | 1535 static_cast<GLenum>(12), |
1561 static_cast<uint32>(13), | 1536 static_cast<uint32>(13), |
1562 static_cast<uint32>(14)); | 1537 static_cast<uint32>(14)); |
1563 EXPECT_EQ(static_cast<uint32>(GetVertexAttribfv::kCmdId), | 1538 EXPECT_EQ(static_cast<uint32>(GetVertexAttribfv::kCmdId), |
1564 cmd.header.command); | 1539 cmd.header.command); |
1565 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1540 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1566 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1567 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1568 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); | 1541 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); |
1569 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1542 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1570 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1543 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1571 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1544 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1545 CheckBytesWrittenMatchesExpectedSize( |
| 1546 next_cmd, sizeof(cmd)); |
1572 } | 1547 } |
1573 | 1548 |
1574 TEST(GLES2FormatTest, GetVertexAttribiv) { | 1549 TEST_F(GLES2FormatTest, GetVertexAttribiv) { |
1575 GetVertexAttribiv cmd = { { 0 } }; | 1550 GetVertexAttribiv& cmd = *GetBufferAs<GetVertexAttribiv>(); |
1576 void* next_cmd = cmd.Set( | 1551 void* next_cmd = cmd.Set( |
1577 &cmd, | 1552 &cmd, |
1578 static_cast<GLuint>(11), | 1553 static_cast<GLuint>(11), |
1579 static_cast<GLenum>(12), | 1554 static_cast<GLenum>(12), |
1580 static_cast<uint32>(13), | 1555 static_cast<uint32>(13), |
1581 static_cast<uint32>(14)); | 1556 static_cast<uint32>(14)); |
1582 EXPECT_EQ(static_cast<uint32>(GetVertexAttribiv::kCmdId), | 1557 EXPECT_EQ(static_cast<uint32>(GetVertexAttribiv::kCmdId), |
1583 cmd.header.command); | 1558 cmd.header.command); |
1584 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1559 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1585 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1586 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1587 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); | 1560 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); |
1588 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1561 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1589 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 1562 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
1590 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 1563 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 1564 CheckBytesWrittenMatchesExpectedSize( |
| 1565 next_cmd, sizeof(cmd)); |
1591 } | 1566 } |
1592 | 1567 |
1593 TEST(GLES2FormatTest, GetVertexAttribPointerv) { | 1568 TEST_F(GLES2FormatTest, GetVertexAttribPointerv) { |
1594 GetVertexAttribPointerv cmd = { { 0 } }; | 1569 GetVertexAttribPointerv& cmd = *GetBufferAs<GetVertexAttribPointerv>(); |
1595 void* next_cmd = cmd.Set( | 1570 void* next_cmd = cmd.Set( |
1596 &cmd, | 1571 &cmd, |
1597 static_cast<GLuint>(11), | 1572 static_cast<GLuint>(11), |
1598 static_cast<GLenum>(12), | 1573 static_cast<GLenum>(12), |
1599 static_cast<uint32>(13), | 1574 static_cast<uint32>(13), |
1600 static_cast<uint32>(14)); | 1575 static_cast<uint32>(14)); |
1601 EXPECT_EQ(static_cast<uint32>(GetVertexAttribPointerv::kCmdId), | 1576 EXPECT_EQ(static_cast<uint32>(GetVertexAttribPointerv::kCmdId), |
1602 cmd.header.command); | 1577 cmd.header.command); |
1603 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1578 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1604 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1605 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1606 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); | 1579 EXPECT_EQ(static_cast<GLuint>(11), cmd.index); |
1607 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 1580 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
1608 EXPECT_EQ(static_cast<uint32>(13), cmd.pointer_shm_id); | 1581 EXPECT_EQ(static_cast<uint32>(13), cmd.pointer_shm_id); |
1609 EXPECT_EQ(static_cast<uint32>(14), cmd.pointer_shm_offset); | 1582 EXPECT_EQ(static_cast<uint32>(14), cmd.pointer_shm_offset); |
| 1583 CheckBytesWrittenMatchesExpectedSize( |
| 1584 next_cmd, sizeof(cmd)); |
1610 } | 1585 } |
1611 | 1586 |
1612 TEST(GLES2FormatTest, Hint) { | 1587 TEST_F(GLES2FormatTest, Hint) { |
1613 Hint cmd = { { 0 } }; | 1588 Hint& cmd = *GetBufferAs<Hint>(); |
1614 void* next_cmd = cmd.Set( | 1589 void* next_cmd = cmd.Set( |
1615 &cmd, | 1590 &cmd, |
1616 static_cast<GLenum>(11), | 1591 static_cast<GLenum>(11), |
1617 static_cast<GLenum>(12)); | 1592 static_cast<GLenum>(12)); |
1618 EXPECT_EQ(static_cast<uint32>(Hint::kCmdId), | 1593 EXPECT_EQ(static_cast<uint32>(Hint::kCmdId), |
1619 cmd.header.command); | 1594 cmd.header.command); |
1620 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1595 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1621 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1622 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1623 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1596 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1624 EXPECT_EQ(static_cast<GLenum>(12), cmd.mode); | 1597 EXPECT_EQ(static_cast<GLenum>(12), cmd.mode); |
| 1598 CheckBytesWrittenMatchesExpectedSize( |
| 1599 next_cmd, sizeof(cmd)); |
1625 } | 1600 } |
1626 | 1601 |
1627 TEST(GLES2FormatTest, IsBuffer) { | 1602 TEST_F(GLES2FormatTest, IsBuffer) { |
1628 IsBuffer cmd = { { 0 } }; | 1603 IsBuffer& cmd = *GetBufferAs<IsBuffer>(); |
1629 void* next_cmd = cmd.Set( | 1604 void* next_cmd = cmd.Set( |
1630 &cmd, | 1605 &cmd, |
1631 static_cast<GLuint>(11), | 1606 static_cast<GLuint>(11), |
1632 static_cast<uint32>(12), | 1607 static_cast<uint32>(12), |
1633 static_cast<uint32>(13)); | 1608 static_cast<uint32>(13)); |
1634 EXPECT_EQ(static_cast<uint32>(IsBuffer::kCmdId), | 1609 EXPECT_EQ(static_cast<uint32>(IsBuffer::kCmdId), |
1635 cmd.header.command); | 1610 cmd.header.command); |
1636 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1611 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1637 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1638 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1639 EXPECT_EQ(static_cast<GLuint>(11), cmd.buffer); | 1612 EXPECT_EQ(static_cast<GLuint>(11), cmd.buffer); |
1640 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1613 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1641 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1614 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1615 CheckBytesWrittenMatchesExpectedSize( |
| 1616 next_cmd, sizeof(cmd)); |
1642 } | 1617 } |
1643 | 1618 |
1644 TEST(GLES2FormatTest, IsEnabled) { | 1619 TEST_F(GLES2FormatTest, IsEnabled) { |
1645 IsEnabled cmd = { { 0 } }; | 1620 IsEnabled& cmd = *GetBufferAs<IsEnabled>(); |
1646 void* next_cmd = cmd.Set( | 1621 void* next_cmd = cmd.Set( |
1647 &cmd, | 1622 &cmd, |
1648 static_cast<GLenum>(11), | 1623 static_cast<GLenum>(11), |
1649 static_cast<uint32>(12), | 1624 static_cast<uint32>(12), |
1650 static_cast<uint32>(13)); | 1625 static_cast<uint32>(13)); |
1651 EXPECT_EQ(static_cast<uint32>(IsEnabled::kCmdId), | 1626 EXPECT_EQ(static_cast<uint32>(IsEnabled::kCmdId), |
1652 cmd.header.command); | 1627 cmd.header.command); |
1653 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1628 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1654 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1655 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1656 EXPECT_EQ(static_cast<GLenum>(11), cmd.cap); | 1629 EXPECT_EQ(static_cast<GLenum>(11), cmd.cap); |
1657 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1630 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1658 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1631 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1632 CheckBytesWrittenMatchesExpectedSize( |
| 1633 next_cmd, sizeof(cmd)); |
1659 } | 1634 } |
1660 | 1635 |
1661 TEST(GLES2FormatTest, IsFramebuffer) { | 1636 TEST_F(GLES2FormatTest, IsFramebuffer) { |
1662 IsFramebuffer cmd = { { 0 } }; | 1637 IsFramebuffer& cmd = *GetBufferAs<IsFramebuffer>(); |
1663 void* next_cmd = cmd.Set( | 1638 void* next_cmd = cmd.Set( |
1664 &cmd, | 1639 &cmd, |
1665 static_cast<GLuint>(11), | 1640 static_cast<GLuint>(11), |
1666 static_cast<uint32>(12), | 1641 static_cast<uint32>(12), |
1667 static_cast<uint32>(13)); | 1642 static_cast<uint32>(13)); |
1668 EXPECT_EQ(static_cast<uint32>(IsFramebuffer::kCmdId), | 1643 EXPECT_EQ(static_cast<uint32>(IsFramebuffer::kCmdId), |
1669 cmd.header.command); | 1644 cmd.header.command); |
1670 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1645 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1671 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1672 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1673 EXPECT_EQ(static_cast<GLuint>(11), cmd.framebuffer); | 1646 EXPECT_EQ(static_cast<GLuint>(11), cmd.framebuffer); |
1674 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1647 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1675 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1648 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1649 CheckBytesWrittenMatchesExpectedSize( |
| 1650 next_cmd, sizeof(cmd)); |
1676 } | 1651 } |
1677 | 1652 |
1678 TEST(GLES2FormatTest, IsProgram) { | 1653 TEST_F(GLES2FormatTest, IsProgram) { |
1679 IsProgram cmd = { { 0 } }; | 1654 IsProgram& cmd = *GetBufferAs<IsProgram>(); |
1680 void* next_cmd = cmd.Set( | 1655 void* next_cmd = cmd.Set( |
1681 &cmd, | 1656 &cmd, |
1682 static_cast<GLuint>(11), | 1657 static_cast<GLuint>(11), |
1683 static_cast<uint32>(12), | 1658 static_cast<uint32>(12), |
1684 static_cast<uint32>(13)); | 1659 static_cast<uint32>(13)); |
1685 EXPECT_EQ(static_cast<uint32>(IsProgram::kCmdId), | 1660 EXPECT_EQ(static_cast<uint32>(IsProgram::kCmdId), |
1686 cmd.header.command); | 1661 cmd.header.command); |
1687 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1662 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1688 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1689 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1690 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1663 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
1691 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1664 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1692 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1665 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1666 CheckBytesWrittenMatchesExpectedSize( |
| 1667 next_cmd, sizeof(cmd)); |
1693 } | 1668 } |
1694 | 1669 |
1695 TEST(GLES2FormatTest, IsRenderbuffer) { | 1670 TEST_F(GLES2FormatTest, IsRenderbuffer) { |
1696 IsRenderbuffer cmd = { { 0 } }; | 1671 IsRenderbuffer& cmd = *GetBufferAs<IsRenderbuffer>(); |
1697 void* next_cmd = cmd.Set( | 1672 void* next_cmd = cmd.Set( |
1698 &cmd, | 1673 &cmd, |
1699 static_cast<GLuint>(11), | 1674 static_cast<GLuint>(11), |
1700 static_cast<uint32>(12), | 1675 static_cast<uint32>(12), |
1701 static_cast<uint32>(13)); | 1676 static_cast<uint32>(13)); |
1702 EXPECT_EQ(static_cast<uint32>(IsRenderbuffer::kCmdId), | 1677 EXPECT_EQ(static_cast<uint32>(IsRenderbuffer::kCmdId), |
1703 cmd.header.command); | 1678 cmd.header.command); |
1704 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1679 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1705 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1706 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1707 EXPECT_EQ(static_cast<GLuint>(11), cmd.renderbuffer); | 1680 EXPECT_EQ(static_cast<GLuint>(11), cmd.renderbuffer); |
1708 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1681 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1709 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1682 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1683 CheckBytesWrittenMatchesExpectedSize( |
| 1684 next_cmd, sizeof(cmd)); |
1710 } | 1685 } |
1711 | 1686 |
1712 TEST(GLES2FormatTest, IsShader) { | 1687 TEST_F(GLES2FormatTest, IsShader) { |
1713 IsShader cmd = { { 0 } }; | 1688 IsShader& cmd = *GetBufferAs<IsShader>(); |
1714 void* next_cmd = cmd.Set( | 1689 void* next_cmd = cmd.Set( |
1715 &cmd, | 1690 &cmd, |
1716 static_cast<GLuint>(11), | 1691 static_cast<GLuint>(11), |
1717 static_cast<uint32>(12), | 1692 static_cast<uint32>(12), |
1718 static_cast<uint32>(13)); | 1693 static_cast<uint32>(13)); |
1719 EXPECT_EQ(static_cast<uint32>(IsShader::kCmdId), | 1694 EXPECT_EQ(static_cast<uint32>(IsShader::kCmdId), |
1720 cmd.header.command); | 1695 cmd.header.command); |
1721 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1696 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1722 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1723 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1724 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 1697 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
1725 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1698 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1726 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1699 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1700 CheckBytesWrittenMatchesExpectedSize( |
| 1701 next_cmd, sizeof(cmd)); |
1727 } | 1702 } |
1728 | 1703 |
1729 TEST(GLES2FormatTest, IsTexture) { | 1704 TEST_F(GLES2FormatTest, IsTexture) { |
1730 IsTexture cmd = { { 0 } }; | 1705 IsTexture& cmd = *GetBufferAs<IsTexture>(); |
1731 void* next_cmd = cmd.Set( | 1706 void* next_cmd = cmd.Set( |
1732 &cmd, | 1707 &cmd, |
1733 static_cast<GLuint>(11), | 1708 static_cast<GLuint>(11), |
1734 static_cast<uint32>(12), | 1709 static_cast<uint32>(12), |
1735 static_cast<uint32>(13)); | 1710 static_cast<uint32>(13)); |
1736 EXPECT_EQ(static_cast<uint32>(IsTexture::kCmdId), | 1711 EXPECT_EQ(static_cast<uint32>(IsTexture::kCmdId), |
1737 cmd.header.command); | 1712 cmd.header.command); |
1738 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1713 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1739 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1740 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1741 EXPECT_EQ(static_cast<GLuint>(11), cmd.texture); | 1714 EXPECT_EQ(static_cast<GLuint>(11), cmd.texture); |
1742 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 1715 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
1743 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 1716 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 1717 CheckBytesWrittenMatchesExpectedSize( |
| 1718 next_cmd, sizeof(cmd)); |
1744 } | 1719 } |
1745 | 1720 |
1746 TEST(GLES2FormatTest, LineWidth) { | 1721 TEST_F(GLES2FormatTest, LineWidth) { |
1747 LineWidth cmd = { { 0 } }; | 1722 LineWidth& cmd = *GetBufferAs<LineWidth>(); |
1748 void* next_cmd = cmd.Set( | 1723 void* next_cmd = cmd.Set( |
1749 &cmd, | 1724 &cmd, |
1750 static_cast<GLfloat>(11)); | 1725 static_cast<GLfloat>(11)); |
1751 EXPECT_EQ(static_cast<uint32>(LineWidth::kCmdId), | 1726 EXPECT_EQ(static_cast<uint32>(LineWidth::kCmdId), |
1752 cmd.header.command); | 1727 cmd.header.command); |
1753 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1728 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1754 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1755 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1756 EXPECT_EQ(static_cast<GLfloat>(11), cmd.width); | 1729 EXPECT_EQ(static_cast<GLfloat>(11), cmd.width); |
| 1730 CheckBytesWrittenMatchesExpectedSize( |
| 1731 next_cmd, sizeof(cmd)); |
1757 } | 1732 } |
1758 | 1733 |
1759 TEST(GLES2FormatTest, LinkProgram) { | 1734 TEST_F(GLES2FormatTest, LinkProgram) { |
1760 LinkProgram cmd = { { 0 } }; | 1735 LinkProgram& cmd = *GetBufferAs<LinkProgram>(); |
1761 void* next_cmd = cmd.Set( | 1736 void* next_cmd = cmd.Set( |
1762 &cmd, | 1737 &cmd, |
1763 static_cast<GLuint>(11)); | 1738 static_cast<GLuint>(11)); |
1764 EXPECT_EQ(static_cast<uint32>(LinkProgram::kCmdId), | 1739 EXPECT_EQ(static_cast<uint32>(LinkProgram::kCmdId), |
1765 cmd.header.command); | 1740 cmd.header.command); |
1766 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1741 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1767 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1768 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1769 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 1742 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
| 1743 CheckBytesWrittenMatchesExpectedSize( |
| 1744 next_cmd, sizeof(cmd)); |
1770 } | 1745 } |
1771 | 1746 |
1772 TEST(GLES2FormatTest, PixelStorei) { | 1747 TEST_F(GLES2FormatTest, PixelStorei) { |
1773 PixelStorei cmd = { { 0 } }; | 1748 PixelStorei& cmd = *GetBufferAs<PixelStorei>(); |
1774 void* next_cmd = cmd.Set( | 1749 void* next_cmd = cmd.Set( |
1775 &cmd, | 1750 &cmd, |
1776 static_cast<GLenum>(11), | 1751 static_cast<GLenum>(11), |
1777 static_cast<GLint>(12)); | 1752 static_cast<GLint>(12)); |
1778 EXPECT_EQ(static_cast<uint32>(PixelStorei::kCmdId), | 1753 EXPECT_EQ(static_cast<uint32>(PixelStorei::kCmdId), |
1779 cmd.header.command); | 1754 cmd.header.command); |
1780 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1755 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1781 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1782 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1783 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); | 1756 EXPECT_EQ(static_cast<GLenum>(11), cmd.pname); |
1784 EXPECT_EQ(static_cast<GLint>(12), cmd.param); | 1757 EXPECT_EQ(static_cast<GLint>(12), cmd.param); |
| 1758 CheckBytesWrittenMatchesExpectedSize( |
| 1759 next_cmd, sizeof(cmd)); |
1785 } | 1760 } |
1786 | 1761 |
1787 TEST(GLES2FormatTest, PolygonOffset) { | 1762 TEST_F(GLES2FormatTest, PolygonOffset) { |
1788 PolygonOffset cmd = { { 0 } }; | 1763 PolygonOffset& cmd = *GetBufferAs<PolygonOffset>(); |
1789 void* next_cmd = cmd.Set( | 1764 void* next_cmd = cmd.Set( |
1790 &cmd, | 1765 &cmd, |
1791 static_cast<GLfloat>(11), | 1766 static_cast<GLfloat>(11), |
1792 static_cast<GLfloat>(12)); | 1767 static_cast<GLfloat>(12)); |
1793 EXPECT_EQ(static_cast<uint32>(PolygonOffset::kCmdId), | 1768 EXPECT_EQ(static_cast<uint32>(PolygonOffset::kCmdId), |
1794 cmd.header.command); | 1769 cmd.header.command); |
1795 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1770 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1796 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1797 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1798 EXPECT_EQ(static_cast<GLfloat>(11), cmd.factor); | 1771 EXPECT_EQ(static_cast<GLfloat>(11), cmd.factor); |
1799 EXPECT_EQ(static_cast<GLfloat>(12), cmd.units); | 1772 EXPECT_EQ(static_cast<GLfloat>(12), cmd.units); |
| 1773 CheckBytesWrittenMatchesExpectedSize( |
| 1774 next_cmd, sizeof(cmd)); |
1800 } | 1775 } |
1801 | 1776 |
1802 TEST(GLES2FormatTest, ReadPixels) { | 1777 TEST_F(GLES2FormatTest, ReadPixels) { |
1803 ReadPixels cmd = { { 0 } }; | 1778 ReadPixels& cmd = *GetBufferAs<ReadPixels>(); |
1804 void* next_cmd = cmd.Set( | 1779 void* next_cmd = cmd.Set( |
1805 &cmd, | 1780 &cmd, |
1806 static_cast<GLint>(11), | 1781 static_cast<GLint>(11), |
1807 static_cast<GLint>(12), | 1782 static_cast<GLint>(12), |
1808 static_cast<GLsizei>(13), | 1783 static_cast<GLsizei>(13), |
1809 static_cast<GLsizei>(14), | 1784 static_cast<GLsizei>(14), |
1810 static_cast<GLenum>(15), | 1785 static_cast<GLenum>(15), |
1811 static_cast<GLenum>(16), | 1786 static_cast<GLenum>(16), |
1812 static_cast<uint32>(17), | 1787 static_cast<uint32>(17), |
1813 static_cast<uint32>(18), | 1788 static_cast<uint32>(18), |
1814 static_cast<uint32>(19), | 1789 static_cast<uint32>(19), |
1815 static_cast<uint32>(20)); | 1790 static_cast<uint32>(20)); |
1816 EXPECT_EQ(static_cast<uint32>(ReadPixels::kCmdId), | 1791 EXPECT_EQ(static_cast<uint32>(ReadPixels::kCmdId), |
1817 cmd.header.command); | 1792 cmd.header.command); |
1818 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1793 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1819 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1820 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1821 EXPECT_EQ(static_cast<GLint>(11), cmd.x); | 1794 EXPECT_EQ(static_cast<GLint>(11), cmd.x); |
1822 EXPECT_EQ(static_cast<GLint>(12), cmd.y); | 1795 EXPECT_EQ(static_cast<GLint>(12), cmd.y); |
1823 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); | 1796 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); |
1824 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); | 1797 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); |
1825 EXPECT_EQ(static_cast<GLenum>(15), cmd.format); | 1798 EXPECT_EQ(static_cast<GLenum>(15), cmd.format); |
1826 EXPECT_EQ(static_cast<GLenum>(16), cmd.type); | 1799 EXPECT_EQ(static_cast<GLenum>(16), cmd.type); |
1827 EXPECT_EQ(static_cast<uint32>(17), cmd.pixels_shm_id); | 1800 EXPECT_EQ(static_cast<uint32>(17), cmd.pixels_shm_id); |
1828 EXPECT_EQ(static_cast<uint32>(18), cmd.pixels_shm_offset); | 1801 EXPECT_EQ(static_cast<uint32>(18), cmd.pixels_shm_offset); |
1829 EXPECT_EQ(static_cast<uint32>(19), cmd.result_shm_id); | 1802 EXPECT_EQ(static_cast<uint32>(19), cmd.result_shm_id); |
1830 EXPECT_EQ(static_cast<uint32>(20), cmd.result_shm_offset); | 1803 EXPECT_EQ(static_cast<uint32>(20), cmd.result_shm_offset); |
| 1804 CheckBytesWrittenMatchesExpectedSize( |
| 1805 next_cmd, sizeof(cmd)); |
1831 } | 1806 } |
1832 | 1807 |
1833 TEST(GLES2FormatTest, ReleaseShaderCompiler) { | 1808 TEST_F(GLES2FormatTest, ReleaseShaderCompiler) { |
1834 ReleaseShaderCompiler cmd = { { 0 } }; | 1809 ReleaseShaderCompiler& cmd = *GetBufferAs<ReleaseShaderCompiler>(); |
1835 void* next_cmd = cmd.Set( | 1810 void* next_cmd = cmd.Set( |
1836 &cmd); | 1811 &cmd); |
1837 EXPECT_EQ(static_cast<uint32>(ReleaseShaderCompiler::kCmdId), | 1812 EXPECT_EQ(static_cast<uint32>(ReleaseShaderCompiler::kCmdId), |
1838 cmd.header.command); | 1813 cmd.header.command); |
1839 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1814 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1840 EXPECT_EQ(static_cast<char*>(next_cmd), | 1815 CheckBytesWrittenMatchesExpectedSize( |
1841 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 1816 next_cmd, sizeof(cmd)); |
1842 } | 1817 } |
1843 | 1818 |
1844 TEST(GLES2FormatTest, RenderbufferStorage) { | 1819 TEST_F(GLES2FormatTest, RenderbufferStorage) { |
1845 RenderbufferStorage cmd = { { 0 } }; | 1820 RenderbufferStorage& cmd = *GetBufferAs<RenderbufferStorage>(); |
1846 void* next_cmd = cmd.Set( | 1821 void* next_cmd = cmd.Set( |
1847 &cmd, | 1822 &cmd, |
1848 static_cast<GLenum>(11), | 1823 static_cast<GLenum>(11), |
1849 static_cast<GLenum>(12), | 1824 static_cast<GLenum>(12), |
1850 static_cast<GLsizei>(13), | 1825 static_cast<GLsizei>(13), |
1851 static_cast<GLsizei>(14)); | 1826 static_cast<GLsizei>(14)); |
1852 EXPECT_EQ(static_cast<uint32>(RenderbufferStorage::kCmdId), | 1827 EXPECT_EQ(static_cast<uint32>(RenderbufferStorage::kCmdId), |
1853 cmd.header.command); | 1828 cmd.header.command); |
1854 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1829 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1855 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1856 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1857 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 1830 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
1858 EXPECT_EQ(static_cast<GLenum>(12), cmd.internalformat); | 1831 EXPECT_EQ(static_cast<GLenum>(12), cmd.internalformat); |
1859 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); | 1832 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); |
1860 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); | 1833 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); |
| 1834 CheckBytesWrittenMatchesExpectedSize( |
| 1835 next_cmd, sizeof(cmd)); |
1861 } | 1836 } |
1862 | 1837 |
1863 TEST(GLES2FormatTest, SampleCoverage) { | 1838 TEST_F(GLES2FormatTest, SampleCoverage) { |
1864 SampleCoverage cmd = { { 0 } }; | 1839 SampleCoverage& cmd = *GetBufferAs<SampleCoverage>(); |
1865 void* next_cmd = cmd.Set( | 1840 void* next_cmd = cmd.Set( |
1866 &cmd, | 1841 &cmd, |
1867 static_cast<GLclampf>(11), | 1842 static_cast<GLclampf>(11), |
1868 static_cast<GLboolean>(12)); | 1843 static_cast<GLboolean>(12)); |
1869 EXPECT_EQ(static_cast<uint32>(SampleCoverage::kCmdId), | 1844 EXPECT_EQ(static_cast<uint32>(SampleCoverage::kCmdId), |
1870 cmd.header.command); | 1845 cmd.header.command); |
1871 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1846 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1872 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1873 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1874 EXPECT_EQ(static_cast<GLclampf>(11), cmd.value); | 1847 EXPECT_EQ(static_cast<GLclampf>(11), cmd.value); |
1875 EXPECT_EQ(static_cast<GLboolean>(12), cmd.invert); | 1848 EXPECT_EQ(static_cast<GLboolean>(12), cmd.invert); |
| 1849 CheckBytesWrittenMatchesExpectedSize( |
| 1850 next_cmd, sizeof(cmd)); |
1876 } | 1851 } |
1877 | 1852 |
1878 TEST(GLES2FormatTest, Scissor) { | 1853 TEST_F(GLES2FormatTest, Scissor) { |
1879 Scissor cmd = { { 0 } }; | 1854 Scissor& cmd = *GetBufferAs<Scissor>(); |
1880 void* next_cmd = cmd.Set( | 1855 void* next_cmd = cmd.Set( |
1881 &cmd, | 1856 &cmd, |
1882 static_cast<GLint>(11), | 1857 static_cast<GLint>(11), |
1883 static_cast<GLint>(12), | 1858 static_cast<GLint>(12), |
1884 static_cast<GLsizei>(13), | 1859 static_cast<GLsizei>(13), |
1885 static_cast<GLsizei>(14)); | 1860 static_cast<GLsizei>(14)); |
1886 EXPECT_EQ(static_cast<uint32>(Scissor::kCmdId), | 1861 EXPECT_EQ(static_cast<uint32>(Scissor::kCmdId), |
1887 cmd.header.command); | 1862 cmd.header.command); |
1888 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1863 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1889 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1890 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1891 EXPECT_EQ(static_cast<GLint>(11), cmd.x); | 1864 EXPECT_EQ(static_cast<GLint>(11), cmd.x); |
1892 EXPECT_EQ(static_cast<GLint>(12), cmd.y); | 1865 EXPECT_EQ(static_cast<GLint>(12), cmd.y); |
1893 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); | 1866 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); |
1894 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); | 1867 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); |
| 1868 CheckBytesWrittenMatchesExpectedSize( |
| 1869 next_cmd, sizeof(cmd)); |
1895 } | 1870 } |
1896 | 1871 |
1897 TEST(GLES2FormatTest, ShaderBinary) { | 1872 TEST_F(GLES2FormatTest, ShaderBinary) { |
1898 ShaderBinary cmd = { { 0 } }; | 1873 ShaderBinary& cmd = *GetBufferAs<ShaderBinary>(); |
1899 void* next_cmd = cmd.Set( | 1874 void* next_cmd = cmd.Set( |
1900 &cmd, | 1875 &cmd, |
1901 static_cast<GLsizei>(11), | 1876 static_cast<GLsizei>(11), |
1902 static_cast<uint32>(12), | 1877 static_cast<uint32>(12), |
1903 static_cast<uint32>(13), | 1878 static_cast<uint32>(13), |
1904 static_cast<GLenum>(14), | 1879 static_cast<GLenum>(14), |
1905 static_cast<uint32>(15), | 1880 static_cast<uint32>(15), |
1906 static_cast<uint32>(16), | 1881 static_cast<uint32>(16), |
1907 static_cast<GLsizei>(17)); | 1882 static_cast<GLsizei>(17)); |
1908 EXPECT_EQ(static_cast<uint32>(ShaderBinary::kCmdId), | 1883 EXPECT_EQ(static_cast<uint32>(ShaderBinary::kCmdId), |
1909 cmd.header.command); | 1884 cmd.header.command); |
1910 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1885 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1911 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1912 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1913 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); | 1886 EXPECT_EQ(static_cast<GLsizei>(11), cmd.n); |
1914 EXPECT_EQ(static_cast<uint32>(12), cmd.shaders_shm_id); | 1887 EXPECT_EQ(static_cast<uint32>(12), cmd.shaders_shm_id); |
1915 EXPECT_EQ(static_cast<uint32>(13), cmd.shaders_shm_offset); | 1888 EXPECT_EQ(static_cast<uint32>(13), cmd.shaders_shm_offset); |
1916 EXPECT_EQ(static_cast<GLenum>(14), cmd.binaryformat); | 1889 EXPECT_EQ(static_cast<GLenum>(14), cmd.binaryformat); |
1917 EXPECT_EQ(static_cast<uint32>(15), cmd.binary_shm_id); | 1890 EXPECT_EQ(static_cast<uint32>(15), cmd.binary_shm_id); |
1918 EXPECT_EQ(static_cast<uint32>(16), cmd.binary_shm_offset); | 1891 EXPECT_EQ(static_cast<uint32>(16), cmd.binary_shm_offset); |
1919 EXPECT_EQ(static_cast<GLsizei>(17), cmd.length); | 1892 EXPECT_EQ(static_cast<GLsizei>(17), cmd.length); |
| 1893 CheckBytesWrittenMatchesExpectedSize( |
| 1894 next_cmd, sizeof(cmd)); |
1920 } | 1895 } |
1921 | 1896 |
1922 TEST(GLES2FormatTest, ShaderSource) { | 1897 TEST_F(GLES2FormatTest, ShaderSource) { |
1923 ShaderSource cmd = { { 0 } }; | 1898 ShaderSource& cmd = *GetBufferAs<ShaderSource>(); |
1924 void* next_cmd = cmd.Set( | 1899 void* next_cmd = cmd.Set( |
1925 &cmd, | 1900 &cmd, |
1926 static_cast<GLuint>(11), | 1901 static_cast<GLuint>(11), |
1927 static_cast<uint32>(12), | 1902 static_cast<uint32>(12), |
1928 static_cast<uint32>(13), | 1903 static_cast<uint32>(13), |
1929 static_cast<uint32>(14)); | 1904 static_cast<uint32>(14)); |
1930 EXPECT_EQ(static_cast<uint32>(ShaderSource::kCmdId), | 1905 EXPECT_EQ(static_cast<uint32>(ShaderSource::kCmdId), |
1931 cmd.header.command); | 1906 cmd.header.command); |
1932 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1907 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1933 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1934 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1935 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 1908 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
1936 EXPECT_EQ(static_cast<uint32>(12), cmd.data_shm_id); | 1909 EXPECT_EQ(static_cast<uint32>(12), cmd.data_shm_id); |
1937 EXPECT_EQ(static_cast<uint32>(13), cmd.data_shm_offset); | 1910 EXPECT_EQ(static_cast<uint32>(13), cmd.data_shm_offset); |
1938 EXPECT_EQ(static_cast<uint32>(14), cmd.data_size); | 1911 EXPECT_EQ(static_cast<uint32>(14), cmd.data_size); |
| 1912 CheckBytesWrittenMatchesExpectedSize( |
| 1913 next_cmd, sizeof(cmd)); |
1939 } | 1914 } |
1940 | 1915 |
1941 // TODO(gman): Implement test for ShaderSourceImmediate | 1916 // TODO(gman): Implement test for ShaderSourceImmediate |
1942 TEST(GLES2FormatTest, ShaderSourceBucket) { | 1917 TEST_F(GLES2FormatTest, ShaderSourceBucket) { |
1943 ShaderSourceBucket cmd = { { 0 } }; | 1918 ShaderSourceBucket& cmd = *GetBufferAs<ShaderSourceBucket>(); |
1944 void* next_cmd = cmd.Set( | 1919 void* next_cmd = cmd.Set( |
1945 &cmd, | 1920 &cmd, |
1946 static_cast<GLuint>(11), | 1921 static_cast<GLuint>(11), |
1947 static_cast<uint32>(12)); | 1922 static_cast<uint32>(12)); |
1948 EXPECT_EQ(static_cast<uint32>(ShaderSourceBucket::kCmdId), | 1923 EXPECT_EQ(static_cast<uint32>(ShaderSourceBucket::kCmdId), |
1949 cmd.header.command); | 1924 cmd.header.command); |
1950 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1925 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1951 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1952 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1953 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); | 1926 EXPECT_EQ(static_cast<GLuint>(11), cmd.shader); |
1954 EXPECT_EQ(static_cast<uint32>(12), cmd.data_bucket_id); | 1927 EXPECT_EQ(static_cast<uint32>(12), cmd.data_bucket_id); |
| 1928 CheckBytesWrittenMatchesExpectedSize( |
| 1929 next_cmd, sizeof(cmd)); |
1955 } | 1930 } |
1956 | 1931 |
1957 TEST(GLES2FormatTest, StencilFunc) { | 1932 TEST_F(GLES2FormatTest, StencilFunc) { |
1958 StencilFunc cmd = { { 0 } }; | 1933 StencilFunc& cmd = *GetBufferAs<StencilFunc>(); |
1959 void* next_cmd = cmd.Set( | 1934 void* next_cmd = cmd.Set( |
1960 &cmd, | 1935 &cmd, |
1961 static_cast<GLenum>(11), | 1936 static_cast<GLenum>(11), |
1962 static_cast<GLint>(12), | 1937 static_cast<GLint>(12), |
1963 static_cast<GLuint>(13)); | 1938 static_cast<GLuint>(13)); |
1964 EXPECT_EQ(static_cast<uint32>(StencilFunc::kCmdId), | 1939 EXPECT_EQ(static_cast<uint32>(StencilFunc::kCmdId), |
1965 cmd.header.command); | 1940 cmd.header.command); |
1966 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1941 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1967 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1968 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1969 EXPECT_EQ(static_cast<GLenum>(11), cmd.func); | 1942 EXPECT_EQ(static_cast<GLenum>(11), cmd.func); |
1970 EXPECT_EQ(static_cast<GLint>(12), cmd.ref); | 1943 EXPECT_EQ(static_cast<GLint>(12), cmd.ref); |
1971 EXPECT_EQ(static_cast<GLuint>(13), cmd.mask); | 1944 EXPECT_EQ(static_cast<GLuint>(13), cmd.mask); |
| 1945 CheckBytesWrittenMatchesExpectedSize( |
| 1946 next_cmd, sizeof(cmd)); |
1972 } | 1947 } |
1973 | 1948 |
1974 TEST(GLES2FormatTest, StencilFuncSeparate) { | 1949 TEST_F(GLES2FormatTest, StencilFuncSeparate) { |
1975 StencilFuncSeparate cmd = { { 0 } }; | 1950 StencilFuncSeparate& cmd = *GetBufferAs<StencilFuncSeparate>(); |
1976 void* next_cmd = cmd.Set( | 1951 void* next_cmd = cmd.Set( |
1977 &cmd, | 1952 &cmd, |
1978 static_cast<GLenum>(11), | 1953 static_cast<GLenum>(11), |
1979 static_cast<GLenum>(12), | 1954 static_cast<GLenum>(12), |
1980 static_cast<GLint>(13), | 1955 static_cast<GLint>(13), |
1981 static_cast<GLuint>(14)); | 1956 static_cast<GLuint>(14)); |
1982 EXPECT_EQ(static_cast<uint32>(StencilFuncSeparate::kCmdId), | 1957 EXPECT_EQ(static_cast<uint32>(StencilFuncSeparate::kCmdId), |
1983 cmd.header.command); | 1958 cmd.header.command); |
1984 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1959 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
1985 EXPECT_EQ(static_cast<char*>(next_cmd), | |
1986 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
1987 EXPECT_EQ(static_cast<GLenum>(11), cmd.face); | 1960 EXPECT_EQ(static_cast<GLenum>(11), cmd.face); |
1988 EXPECT_EQ(static_cast<GLenum>(12), cmd.func); | 1961 EXPECT_EQ(static_cast<GLenum>(12), cmd.func); |
1989 EXPECT_EQ(static_cast<GLint>(13), cmd.ref); | 1962 EXPECT_EQ(static_cast<GLint>(13), cmd.ref); |
1990 EXPECT_EQ(static_cast<GLuint>(14), cmd.mask); | 1963 EXPECT_EQ(static_cast<GLuint>(14), cmd.mask); |
| 1964 CheckBytesWrittenMatchesExpectedSize( |
| 1965 next_cmd, sizeof(cmd)); |
1991 } | 1966 } |
1992 | 1967 |
1993 TEST(GLES2FormatTest, StencilMask) { | 1968 TEST_F(GLES2FormatTest, StencilMask) { |
1994 StencilMask cmd = { { 0 } }; | 1969 StencilMask& cmd = *GetBufferAs<StencilMask>(); |
1995 void* next_cmd = cmd.Set( | 1970 void* next_cmd = cmd.Set( |
1996 &cmd, | 1971 &cmd, |
1997 static_cast<GLuint>(11)); | 1972 static_cast<GLuint>(11)); |
1998 EXPECT_EQ(static_cast<uint32>(StencilMask::kCmdId), | 1973 EXPECT_EQ(static_cast<uint32>(StencilMask::kCmdId), |
1999 cmd.header.command); | 1974 cmd.header.command); |
2000 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1975 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2001 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2002 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2003 EXPECT_EQ(static_cast<GLuint>(11), cmd.mask); | 1976 EXPECT_EQ(static_cast<GLuint>(11), cmd.mask); |
| 1977 CheckBytesWrittenMatchesExpectedSize( |
| 1978 next_cmd, sizeof(cmd)); |
2004 } | 1979 } |
2005 | 1980 |
2006 TEST(GLES2FormatTest, StencilMaskSeparate) { | 1981 TEST_F(GLES2FormatTest, StencilMaskSeparate) { |
2007 StencilMaskSeparate cmd = { { 0 } }; | 1982 StencilMaskSeparate& cmd = *GetBufferAs<StencilMaskSeparate>(); |
2008 void* next_cmd = cmd.Set( | 1983 void* next_cmd = cmd.Set( |
2009 &cmd, | 1984 &cmd, |
2010 static_cast<GLenum>(11), | 1985 static_cast<GLenum>(11), |
2011 static_cast<GLuint>(12)); | 1986 static_cast<GLuint>(12)); |
2012 EXPECT_EQ(static_cast<uint32>(StencilMaskSeparate::kCmdId), | 1987 EXPECT_EQ(static_cast<uint32>(StencilMaskSeparate::kCmdId), |
2013 cmd.header.command); | 1988 cmd.header.command); |
2014 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 1989 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2015 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2016 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2017 EXPECT_EQ(static_cast<GLenum>(11), cmd.face); | 1990 EXPECT_EQ(static_cast<GLenum>(11), cmd.face); |
2018 EXPECT_EQ(static_cast<GLuint>(12), cmd.mask); | 1991 EXPECT_EQ(static_cast<GLuint>(12), cmd.mask); |
| 1992 CheckBytesWrittenMatchesExpectedSize( |
| 1993 next_cmd, sizeof(cmd)); |
2019 } | 1994 } |
2020 | 1995 |
2021 TEST(GLES2FormatTest, StencilOp) { | 1996 TEST_F(GLES2FormatTest, StencilOp) { |
2022 StencilOp cmd = { { 0 } }; | 1997 StencilOp& cmd = *GetBufferAs<StencilOp>(); |
2023 void* next_cmd = cmd.Set( | 1998 void* next_cmd = cmd.Set( |
2024 &cmd, | 1999 &cmd, |
2025 static_cast<GLenum>(11), | 2000 static_cast<GLenum>(11), |
2026 static_cast<GLenum>(12), | 2001 static_cast<GLenum>(12), |
2027 static_cast<GLenum>(13)); | 2002 static_cast<GLenum>(13)); |
2028 EXPECT_EQ(static_cast<uint32>(StencilOp::kCmdId), | 2003 EXPECT_EQ(static_cast<uint32>(StencilOp::kCmdId), |
2029 cmd.header.command); | 2004 cmd.header.command); |
2030 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2005 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2031 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2032 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2033 EXPECT_EQ(static_cast<GLenum>(11), cmd.fail); | 2006 EXPECT_EQ(static_cast<GLenum>(11), cmd.fail); |
2034 EXPECT_EQ(static_cast<GLenum>(12), cmd.zfail); | 2007 EXPECT_EQ(static_cast<GLenum>(12), cmd.zfail); |
2035 EXPECT_EQ(static_cast<GLenum>(13), cmd.zpass); | 2008 EXPECT_EQ(static_cast<GLenum>(13), cmd.zpass); |
| 2009 CheckBytesWrittenMatchesExpectedSize( |
| 2010 next_cmd, sizeof(cmd)); |
2036 } | 2011 } |
2037 | 2012 |
2038 TEST(GLES2FormatTest, StencilOpSeparate) { | 2013 TEST_F(GLES2FormatTest, StencilOpSeparate) { |
2039 StencilOpSeparate cmd = { { 0 } }; | 2014 StencilOpSeparate& cmd = *GetBufferAs<StencilOpSeparate>(); |
2040 void* next_cmd = cmd.Set( | 2015 void* next_cmd = cmd.Set( |
2041 &cmd, | 2016 &cmd, |
2042 static_cast<GLenum>(11), | 2017 static_cast<GLenum>(11), |
2043 static_cast<GLenum>(12), | 2018 static_cast<GLenum>(12), |
2044 static_cast<GLenum>(13), | 2019 static_cast<GLenum>(13), |
2045 static_cast<GLenum>(14)); | 2020 static_cast<GLenum>(14)); |
2046 EXPECT_EQ(static_cast<uint32>(StencilOpSeparate::kCmdId), | 2021 EXPECT_EQ(static_cast<uint32>(StencilOpSeparate::kCmdId), |
2047 cmd.header.command); | 2022 cmd.header.command); |
2048 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2023 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2049 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2050 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2051 EXPECT_EQ(static_cast<GLenum>(11), cmd.face); | 2024 EXPECT_EQ(static_cast<GLenum>(11), cmd.face); |
2052 EXPECT_EQ(static_cast<GLenum>(12), cmd.fail); | 2025 EXPECT_EQ(static_cast<GLenum>(12), cmd.fail); |
2053 EXPECT_EQ(static_cast<GLenum>(13), cmd.zfail); | 2026 EXPECT_EQ(static_cast<GLenum>(13), cmd.zfail); |
2054 EXPECT_EQ(static_cast<GLenum>(14), cmd.zpass); | 2027 EXPECT_EQ(static_cast<GLenum>(14), cmd.zpass); |
| 2028 CheckBytesWrittenMatchesExpectedSize( |
| 2029 next_cmd, sizeof(cmd)); |
2055 } | 2030 } |
2056 | 2031 |
2057 TEST(GLES2FormatTest, TexImage2D) { | 2032 TEST_F(GLES2FormatTest, TexImage2D) { |
2058 TexImage2D cmd = { { 0 } }; | 2033 TexImage2D& cmd = *GetBufferAs<TexImage2D>(); |
2059 void* next_cmd = cmd.Set( | 2034 void* next_cmd = cmd.Set( |
2060 &cmd, | 2035 &cmd, |
2061 static_cast<GLenum>(11), | 2036 static_cast<GLenum>(11), |
2062 static_cast<GLint>(12), | 2037 static_cast<GLint>(12), |
2063 static_cast<GLint>(13), | 2038 static_cast<GLint>(13), |
2064 static_cast<GLsizei>(14), | 2039 static_cast<GLsizei>(14), |
2065 static_cast<GLsizei>(15), | 2040 static_cast<GLsizei>(15), |
2066 static_cast<GLint>(16), | 2041 static_cast<GLint>(16), |
2067 static_cast<GLenum>(17), | 2042 static_cast<GLenum>(17), |
2068 static_cast<GLenum>(18), | 2043 static_cast<GLenum>(18), |
2069 static_cast<uint32>(19), | 2044 static_cast<uint32>(19), |
2070 static_cast<uint32>(20)); | 2045 static_cast<uint32>(20)); |
2071 EXPECT_EQ(static_cast<uint32>(TexImage2D::kCmdId), | 2046 EXPECT_EQ(static_cast<uint32>(TexImage2D::kCmdId), |
2072 cmd.header.command); | 2047 cmd.header.command); |
2073 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2048 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2074 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2075 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2076 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2049 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2077 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 2050 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
2078 EXPECT_EQ(static_cast<GLint>(13), cmd.internalformat); | 2051 EXPECT_EQ(static_cast<GLint>(13), cmd.internalformat); |
2079 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); | 2052 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); |
2080 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); | 2053 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); |
2081 EXPECT_EQ(static_cast<GLint>(16), cmd.border); | 2054 EXPECT_EQ(static_cast<GLint>(16), cmd.border); |
2082 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); | 2055 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); |
2083 EXPECT_EQ(static_cast<GLenum>(18), cmd.type); | 2056 EXPECT_EQ(static_cast<GLenum>(18), cmd.type); |
2084 EXPECT_EQ(static_cast<uint32>(19), cmd.pixels_shm_id); | 2057 EXPECT_EQ(static_cast<uint32>(19), cmd.pixels_shm_id); |
2085 EXPECT_EQ(static_cast<uint32>(20), cmd.pixels_shm_offset); | 2058 EXPECT_EQ(static_cast<uint32>(20), cmd.pixels_shm_offset); |
| 2059 CheckBytesWrittenMatchesExpectedSize( |
| 2060 next_cmd, sizeof(cmd)); |
2086 } | 2061 } |
2087 | 2062 |
2088 // TODO(gman): Implement test for TexImage2DImmediate | 2063 // TODO(gman): Implement test for TexImage2DImmediate |
2089 TEST(GLES2FormatTest, TexParameterf) { | 2064 TEST_F(GLES2FormatTest, TexParameterf) { |
2090 TexParameterf cmd = { { 0 } }; | 2065 TexParameterf& cmd = *GetBufferAs<TexParameterf>(); |
2091 void* next_cmd = cmd.Set( | 2066 void* next_cmd = cmd.Set( |
2092 &cmd, | 2067 &cmd, |
2093 static_cast<GLenum>(11), | 2068 static_cast<GLenum>(11), |
2094 static_cast<GLenum>(12), | 2069 static_cast<GLenum>(12), |
2095 static_cast<GLfloat>(13)); | 2070 static_cast<GLfloat>(13)); |
2096 EXPECT_EQ(static_cast<uint32>(TexParameterf::kCmdId), | 2071 EXPECT_EQ(static_cast<uint32>(TexParameterf::kCmdId), |
2097 cmd.header.command); | 2072 cmd.header.command); |
2098 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2073 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2099 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2100 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2101 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2074 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2102 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 2075 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
2103 EXPECT_EQ(static_cast<GLfloat>(13), cmd.param); | 2076 EXPECT_EQ(static_cast<GLfloat>(13), cmd.param); |
| 2077 CheckBytesWrittenMatchesExpectedSize( |
| 2078 next_cmd, sizeof(cmd)); |
2104 } | 2079 } |
2105 | 2080 |
2106 TEST(GLES2FormatTest, TexParameterfv) { | 2081 TEST_F(GLES2FormatTest, TexParameterfv) { |
2107 TexParameterfv cmd = { { 0 } }; | 2082 TexParameterfv& cmd = *GetBufferAs<TexParameterfv>(); |
2108 void* next_cmd = cmd.Set( | 2083 void* next_cmd = cmd.Set( |
2109 &cmd, | 2084 &cmd, |
2110 static_cast<GLenum>(11), | 2085 static_cast<GLenum>(11), |
2111 static_cast<GLenum>(12), | 2086 static_cast<GLenum>(12), |
2112 static_cast<uint32>(13), | 2087 static_cast<uint32>(13), |
2113 static_cast<uint32>(14)); | 2088 static_cast<uint32>(14)); |
2114 EXPECT_EQ(static_cast<uint32>(TexParameterfv::kCmdId), | 2089 EXPECT_EQ(static_cast<uint32>(TexParameterfv::kCmdId), |
2115 cmd.header.command); | 2090 cmd.header.command); |
2116 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2091 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2117 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2118 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2119 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2092 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2120 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 2093 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
2121 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 2094 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
2122 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 2095 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 2096 CheckBytesWrittenMatchesExpectedSize( |
| 2097 next_cmd, sizeof(cmd)); |
2123 } | 2098 } |
2124 | 2099 |
2125 TEST(GLES2FormatTest, TexParameterfvImmediate) { | 2100 TEST_F(GLES2FormatTest, TexParameterfvImmediate) { |
2126 const int kSomeBaseValueToTestWith = 51; | 2101 const int kSomeBaseValueToTestWith = 51; |
2127 static GLfloat data[] = { | 2102 static GLfloat data[] = { |
2128 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2103 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2129 }; | 2104 }; |
2130 int8 buf[256] = { 0, }; | 2105 TexParameterfvImmediate& cmd = *GetBufferAs<TexParameterfvImmediate>(); |
2131 TexParameterfvImmediate& cmd = | |
2132 *static_cast<TexParameterfvImmediate*>(static_cast<void*>(&buf)); | |
2133 void* next_cmd = cmd.Set( | 2106 void* next_cmd = cmd.Set( |
2134 &cmd, | 2107 &cmd, |
2135 static_cast<GLenum>(11), | 2108 static_cast<GLenum>(11), |
2136 static_cast<GLenum>(12), | 2109 static_cast<GLenum>(12), |
2137 data); | 2110 data); |
2138 EXPECT_EQ(static_cast<uint32>(TexParameterfvImmediate::kCmdId), | 2111 EXPECT_EQ(static_cast<uint32>(TexParameterfvImmediate::kCmdId), |
2139 cmd.header.command); | 2112 cmd.header.command); |
2140 EXPECT_EQ(sizeof(cmd) + | 2113 EXPECT_EQ(sizeof(cmd) + |
2141 RoundSizeToMultipleOfEntries(sizeof(data)), | 2114 RoundSizeToMultipleOfEntries(sizeof(data)), |
2142 cmd.header.size * 4u); | 2115 cmd.header.size * 4u); |
2143 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2144 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2145 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2146 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2116 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2147 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 2117 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
| 2118 CheckBytesWrittenMatchesExpectedSize( |
| 2119 next_cmd, sizeof(cmd) + |
| 2120 RoundSizeToMultipleOfEntries(sizeof(data))); |
2148 // TODO(gman): Check that data was inserted; | 2121 // TODO(gman): Check that data was inserted; |
2149 } | 2122 } |
2150 | 2123 |
2151 TEST(GLES2FormatTest, TexParameteri) { | 2124 TEST_F(GLES2FormatTest, TexParameteri) { |
2152 TexParameteri cmd = { { 0 } }; | 2125 TexParameteri& cmd = *GetBufferAs<TexParameteri>(); |
2153 void* next_cmd = cmd.Set( | 2126 void* next_cmd = cmd.Set( |
2154 &cmd, | 2127 &cmd, |
2155 static_cast<GLenum>(11), | 2128 static_cast<GLenum>(11), |
2156 static_cast<GLenum>(12), | 2129 static_cast<GLenum>(12), |
2157 static_cast<GLint>(13)); | 2130 static_cast<GLint>(13)); |
2158 EXPECT_EQ(static_cast<uint32>(TexParameteri::kCmdId), | 2131 EXPECT_EQ(static_cast<uint32>(TexParameteri::kCmdId), |
2159 cmd.header.command); | 2132 cmd.header.command); |
2160 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2133 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2161 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2162 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2163 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2134 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2164 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 2135 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
2165 EXPECT_EQ(static_cast<GLint>(13), cmd.param); | 2136 EXPECT_EQ(static_cast<GLint>(13), cmd.param); |
| 2137 CheckBytesWrittenMatchesExpectedSize( |
| 2138 next_cmd, sizeof(cmd)); |
2166 } | 2139 } |
2167 | 2140 |
2168 TEST(GLES2FormatTest, TexParameteriv) { | 2141 TEST_F(GLES2FormatTest, TexParameteriv) { |
2169 TexParameteriv cmd = { { 0 } }; | 2142 TexParameteriv& cmd = *GetBufferAs<TexParameteriv>(); |
2170 void* next_cmd = cmd.Set( | 2143 void* next_cmd = cmd.Set( |
2171 &cmd, | 2144 &cmd, |
2172 static_cast<GLenum>(11), | 2145 static_cast<GLenum>(11), |
2173 static_cast<GLenum>(12), | 2146 static_cast<GLenum>(12), |
2174 static_cast<uint32>(13), | 2147 static_cast<uint32>(13), |
2175 static_cast<uint32>(14)); | 2148 static_cast<uint32>(14)); |
2176 EXPECT_EQ(static_cast<uint32>(TexParameteriv::kCmdId), | 2149 EXPECT_EQ(static_cast<uint32>(TexParameteriv::kCmdId), |
2177 cmd.header.command); | 2150 cmd.header.command); |
2178 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2151 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2179 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2180 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2181 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2152 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2182 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 2153 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
2183 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); | 2154 EXPECT_EQ(static_cast<uint32>(13), cmd.params_shm_id); |
2184 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); | 2155 EXPECT_EQ(static_cast<uint32>(14), cmd.params_shm_offset); |
| 2156 CheckBytesWrittenMatchesExpectedSize( |
| 2157 next_cmd, sizeof(cmd)); |
2185 } | 2158 } |
2186 | 2159 |
2187 TEST(GLES2FormatTest, TexParameterivImmediate) { | 2160 TEST_F(GLES2FormatTest, TexParameterivImmediate) { |
2188 const int kSomeBaseValueToTestWith = 51; | 2161 const int kSomeBaseValueToTestWith = 51; |
2189 static GLint data[] = { | 2162 static GLint data[] = { |
2190 static_cast<GLint>(kSomeBaseValueToTestWith + 0), | 2163 static_cast<GLint>(kSomeBaseValueToTestWith + 0), |
2191 }; | 2164 }; |
2192 int8 buf[256] = { 0, }; | 2165 TexParameterivImmediate& cmd = *GetBufferAs<TexParameterivImmediate>(); |
2193 TexParameterivImmediate& cmd = | |
2194 *static_cast<TexParameterivImmediate*>(static_cast<void*>(&buf)); | |
2195 void* next_cmd = cmd.Set( | 2166 void* next_cmd = cmd.Set( |
2196 &cmd, | 2167 &cmd, |
2197 static_cast<GLenum>(11), | 2168 static_cast<GLenum>(11), |
2198 static_cast<GLenum>(12), | 2169 static_cast<GLenum>(12), |
2199 data); | 2170 data); |
2200 EXPECT_EQ(static_cast<uint32>(TexParameterivImmediate::kCmdId), | 2171 EXPECT_EQ(static_cast<uint32>(TexParameterivImmediate::kCmdId), |
2201 cmd.header.command); | 2172 cmd.header.command); |
2202 EXPECT_EQ(sizeof(cmd) + | 2173 EXPECT_EQ(sizeof(cmd) + |
2203 RoundSizeToMultipleOfEntries(sizeof(data)), | 2174 RoundSizeToMultipleOfEntries(sizeof(data)), |
2204 cmd.header.size * 4u); | 2175 cmd.header.size * 4u); |
2205 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2206 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2207 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2208 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2176 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2209 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); | 2177 EXPECT_EQ(static_cast<GLenum>(12), cmd.pname); |
| 2178 CheckBytesWrittenMatchesExpectedSize( |
| 2179 next_cmd, sizeof(cmd) + |
| 2180 RoundSizeToMultipleOfEntries(sizeof(data))); |
2210 // TODO(gman): Check that data was inserted; | 2181 // TODO(gman): Check that data was inserted; |
2211 } | 2182 } |
2212 | 2183 |
2213 TEST(GLES2FormatTest, TexSubImage2D) { | 2184 TEST_F(GLES2FormatTest, TexSubImage2D) { |
2214 TexSubImage2D cmd = { { 0 } }; | 2185 TexSubImage2D& cmd = *GetBufferAs<TexSubImage2D>(); |
2215 void* next_cmd = cmd.Set( | 2186 void* next_cmd = cmd.Set( |
2216 &cmd, | 2187 &cmd, |
2217 static_cast<GLenum>(11), | 2188 static_cast<GLenum>(11), |
2218 static_cast<GLint>(12), | 2189 static_cast<GLint>(12), |
2219 static_cast<GLint>(13), | 2190 static_cast<GLint>(13), |
2220 static_cast<GLint>(14), | 2191 static_cast<GLint>(14), |
2221 static_cast<GLsizei>(15), | 2192 static_cast<GLsizei>(15), |
2222 static_cast<GLsizei>(16), | 2193 static_cast<GLsizei>(16), |
2223 static_cast<GLenum>(17), | 2194 static_cast<GLenum>(17), |
2224 static_cast<GLenum>(18), | 2195 static_cast<GLenum>(18), |
2225 static_cast<uint32>(19), | 2196 static_cast<uint32>(19), |
2226 static_cast<uint32>(20), | 2197 static_cast<uint32>(20), |
2227 static_cast<GLboolean>(21)); | 2198 static_cast<GLboolean>(21)); |
2228 EXPECT_EQ(static_cast<uint32>(TexSubImage2D::kCmdId), | 2199 EXPECT_EQ(static_cast<uint32>(TexSubImage2D::kCmdId), |
2229 cmd.header.command); | 2200 cmd.header.command); |
2230 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2201 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2231 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2232 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2233 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 2202 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
2234 EXPECT_EQ(static_cast<GLint>(12), cmd.level); | 2203 EXPECT_EQ(static_cast<GLint>(12), cmd.level); |
2235 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); | 2204 EXPECT_EQ(static_cast<GLint>(13), cmd.xoffset); |
2236 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); | 2205 EXPECT_EQ(static_cast<GLint>(14), cmd.yoffset); |
2237 EXPECT_EQ(static_cast<GLsizei>(15), cmd.width); | 2206 EXPECT_EQ(static_cast<GLsizei>(15), cmd.width); |
2238 EXPECT_EQ(static_cast<GLsizei>(16), cmd.height); | 2207 EXPECT_EQ(static_cast<GLsizei>(16), cmd.height); |
2239 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); | 2208 EXPECT_EQ(static_cast<GLenum>(17), cmd.format); |
2240 EXPECT_EQ(static_cast<GLenum>(18), cmd.type); | 2209 EXPECT_EQ(static_cast<GLenum>(18), cmd.type); |
2241 EXPECT_EQ(static_cast<uint32>(19), cmd.pixels_shm_id); | 2210 EXPECT_EQ(static_cast<uint32>(19), cmd.pixels_shm_id); |
2242 EXPECT_EQ(static_cast<uint32>(20), cmd.pixels_shm_offset); | 2211 EXPECT_EQ(static_cast<uint32>(20), cmd.pixels_shm_offset); |
2243 EXPECT_EQ(static_cast<GLboolean>(21), cmd.internal); | 2212 EXPECT_EQ(static_cast<GLboolean>(21), cmd.internal); |
| 2213 CheckBytesWrittenMatchesExpectedSize( |
| 2214 next_cmd, sizeof(cmd)); |
2244 } | 2215 } |
2245 | 2216 |
2246 // TODO(gman): Implement test for TexSubImage2DImmediate | 2217 // TODO(gman): Implement test for TexSubImage2DImmediate |
2247 TEST(GLES2FormatTest, Uniform1f) { | 2218 TEST_F(GLES2FormatTest, Uniform1f) { |
2248 Uniform1f cmd = { { 0 } }; | 2219 Uniform1f& cmd = *GetBufferAs<Uniform1f>(); |
2249 void* next_cmd = cmd.Set( | 2220 void* next_cmd = cmd.Set( |
2250 &cmd, | 2221 &cmd, |
2251 static_cast<GLint>(11), | 2222 static_cast<GLint>(11), |
2252 static_cast<GLfloat>(12)); | 2223 static_cast<GLfloat>(12)); |
2253 EXPECT_EQ(static_cast<uint32>(Uniform1f::kCmdId), | 2224 EXPECT_EQ(static_cast<uint32>(Uniform1f::kCmdId), |
2254 cmd.header.command); | 2225 cmd.header.command); |
2255 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2226 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2256 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2257 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2258 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2227 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2259 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 2228 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
| 2229 CheckBytesWrittenMatchesExpectedSize( |
| 2230 next_cmd, sizeof(cmd)); |
2260 } | 2231 } |
2261 | 2232 |
2262 TEST(GLES2FormatTest, Uniform1fv) { | 2233 TEST_F(GLES2FormatTest, Uniform1fv) { |
2263 Uniform1fv cmd = { { 0 } }; | 2234 Uniform1fv& cmd = *GetBufferAs<Uniform1fv>(); |
2264 void* next_cmd = cmd.Set( | 2235 void* next_cmd = cmd.Set( |
2265 &cmd, | 2236 &cmd, |
2266 static_cast<GLint>(11), | 2237 static_cast<GLint>(11), |
2267 static_cast<GLsizei>(12), | 2238 static_cast<GLsizei>(12), |
2268 static_cast<uint32>(13), | 2239 static_cast<uint32>(13), |
2269 static_cast<uint32>(14)); | 2240 static_cast<uint32>(14)); |
2270 EXPECT_EQ(static_cast<uint32>(Uniform1fv::kCmdId), | 2241 EXPECT_EQ(static_cast<uint32>(Uniform1fv::kCmdId), |
2271 cmd.header.command); | 2242 cmd.header.command); |
2272 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2243 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2273 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2274 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2275 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2244 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2276 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2245 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2277 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2246 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2278 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2247 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2248 CheckBytesWrittenMatchesExpectedSize( |
| 2249 next_cmd, sizeof(cmd)); |
2279 } | 2250 } |
2280 | 2251 |
2281 TEST(GLES2FormatTest, Uniform1fvImmediate) { | 2252 TEST_F(GLES2FormatTest, Uniform1fvImmediate) { |
2282 const int kSomeBaseValueToTestWith = 51; | 2253 const int kSomeBaseValueToTestWith = 51; |
2283 static GLfloat data[] = { | 2254 static GLfloat data[] = { |
2284 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2255 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2285 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2256 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2286 }; | 2257 }; |
2287 int8 buf[256] = { 0, }; | 2258 Uniform1fvImmediate& cmd = *GetBufferAs<Uniform1fvImmediate>(); |
2288 Uniform1fvImmediate& cmd = | 2259 const GLsizei kNumElements = 2; |
2289 *static_cast<Uniform1fvImmediate*>(static_cast<void*>(&buf)); | 2260 const size_t kExpectedCmdSize = |
| 2261 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 1; |
2290 void* next_cmd = cmd.Set( | 2262 void* next_cmd = cmd.Set( |
2291 &cmd, | 2263 &cmd, |
2292 static_cast<GLint>(1), | 2264 static_cast<GLint>(1), |
2293 static_cast<GLsizei>(2), | 2265 static_cast<GLsizei>(2), |
2294 data); | 2266 data); |
2295 EXPECT_EQ(static_cast<uint32>(Uniform1fvImmediate::kCmdId), | 2267 EXPECT_EQ(static_cast<uint32>(Uniform1fvImmediate::kCmdId), |
2296 cmd.header.command); | 2268 cmd.header.command); |
2297 EXPECT_EQ(sizeof(cmd) + | 2269 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2298 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2299 cmd.header.size * 4u); | |
2300 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2301 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2302 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2303 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2270 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2304 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2271 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2272 CheckBytesWrittenMatchesExpectedSize( |
| 2273 next_cmd, sizeof(cmd) + |
| 2274 RoundSizeToMultipleOfEntries(sizeof(data))); |
2305 // TODO(gman): Check that data was inserted; | 2275 // TODO(gman): Check that data was inserted; |
2306 } | 2276 } |
2307 | 2277 |
2308 TEST(GLES2FormatTest, Uniform1i) { | 2278 TEST_F(GLES2FormatTest, Uniform1i) { |
2309 Uniform1i cmd = { { 0 } }; | 2279 Uniform1i& cmd = *GetBufferAs<Uniform1i>(); |
2310 void* next_cmd = cmd.Set( | 2280 void* next_cmd = cmd.Set( |
2311 &cmd, | 2281 &cmd, |
2312 static_cast<GLint>(11), | 2282 static_cast<GLint>(11), |
2313 static_cast<GLint>(12)); | 2283 static_cast<GLint>(12)); |
2314 EXPECT_EQ(static_cast<uint32>(Uniform1i::kCmdId), | 2284 EXPECT_EQ(static_cast<uint32>(Uniform1i::kCmdId), |
2315 cmd.header.command); | 2285 cmd.header.command); |
2316 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2286 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2317 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2318 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2319 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2287 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2320 EXPECT_EQ(static_cast<GLint>(12), cmd.x); | 2288 EXPECT_EQ(static_cast<GLint>(12), cmd.x); |
| 2289 CheckBytesWrittenMatchesExpectedSize( |
| 2290 next_cmd, sizeof(cmd)); |
2321 } | 2291 } |
2322 | 2292 |
2323 TEST(GLES2FormatTest, Uniform1iv) { | 2293 TEST_F(GLES2FormatTest, Uniform1iv) { |
2324 Uniform1iv cmd = { { 0 } }; | 2294 Uniform1iv& cmd = *GetBufferAs<Uniform1iv>(); |
2325 void* next_cmd = cmd.Set( | 2295 void* next_cmd = cmd.Set( |
2326 &cmd, | 2296 &cmd, |
2327 static_cast<GLint>(11), | 2297 static_cast<GLint>(11), |
2328 static_cast<GLsizei>(12), | 2298 static_cast<GLsizei>(12), |
2329 static_cast<uint32>(13), | 2299 static_cast<uint32>(13), |
2330 static_cast<uint32>(14)); | 2300 static_cast<uint32>(14)); |
2331 EXPECT_EQ(static_cast<uint32>(Uniform1iv::kCmdId), | 2301 EXPECT_EQ(static_cast<uint32>(Uniform1iv::kCmdId), |
2332 cmd.header.command); | 2302 cmd.header.command); |
2333 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2303 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2334 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2335 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2336 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2304 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2337 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2305 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2338 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2306 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2339 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2307 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2308 CheckBytesWrittenMatchesExpectedSize( |
| 2309 next_cmd, sizeof(cmd)); |
2340 } | 2310 } |
2341 | 2311 |
2342 TEST(GLES2FormatTest, Uniform1ivImmediate) { | 2312 TEST_F(GLES2FormatTest, Uniform1ivImmediate) { |
2343 const int kSomeBaseValueToTestWith = 51; | 2313 const int kSomeBaseValueToTestWith = 51; |
2344 static GLint data[] = { | 2314 static GLint data[] = { |
2345 static_cast<GLint>(kSomeBaseValueToTestWith + 0), | 2315 static_cast<GLint>(kSomeBaseValueToTestWith + 0), |
2346 static_cast<GLint>(kSomeBaseValueToTestWith + 1), | 2316 static_cast<GLint>(kSomeBaseValueToTestWith + 1), |
2347 }; | 2317 }; |
2348 int8 buf[256] = { 0, }; | 2318 Uniform1ivImmediate& cmd = *GetBufferAs<Uniform1ivImmediate>(); |
2349 Uniform1ivImmediate& cmd = | 2319 const GLsizei kNumElements = 2; |
2350 *static_cast<Uniform1ivImmediate*>(static_cast<void*>(&buf)); | 2320 const size_t kExpectedCmdSize = |
| 2321 sizeof(cmd) + kNumElements * sizeof(GLint) * 1; |
2351 void* next_cmd = cmd.Set( | 2322 void* next_cmd = cmd.Set( |
2352 &cmd, | 2323 &cmd, |
2353 static_cast<GLint>(1), | 2324 static_cast<GLint>(1), |
2354 static_cast<GLsizei>(2), | 2325 static_cast<GLsizei>(2), |
2355 data); | 2326 data); |
2356 EXPECT_EQ(static_cast<uint32>(Uniform1ivImmediate::kCmdId), | 2327 EXPECT_EQ(static_cast<uint32>(Uniform1ivImmediate::kCmdId), |
2357 cmd.header.command); | 2328 cmd.header.command); |
2358 EXPECT_EQ(sizeof(cmd) + | 2329 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2359 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2360 cmd.header.size * 4u); | |
2361 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2362 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2363 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2364 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2330 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2365 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2331 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2332 CheckBytesWrittenMatchesExpectedSize( |
| 2333 next_cmd, sizeof(cmd) + |
| 2334 RoundSizeToMultipleOfEntries(sizeof(data))); |
2366 // TODO(gman): Check that data was inserted; | 2335 // TODO(gman): Check that data was inserted; |
2367 } | 2336 } |
2368 | 2337 |
2369 TEST(GLES2FormatTest, Uniform2f) { | 2338 TEST_F(GLES2FormatTest, Uniform2f) { |
2370 Uniform2f cmd = { { 0 } }; | 2339 Uniform2f& cmd = *GetBufferAs<Uniform2f>(); |
2371 void* next_cmd = cmd.Set( | 2340 void* next_cmd = cmd.Set( |
2372 &cmd, | 2341 &cmd, |
2373 static_cast<GLint>(11), | 2342 static_cast<GLint>(11), |
2374 static_cast<GLfloat>(12), | 2343 static_cast<GLfloat>(12), |
2375 static_cast<GLfloat>(13)); | 2344 static_cast<GLfloat>(13)); |
2376 EXPECT_EQ(static_cast<uint32>(Uniform2f::kCmdId), | 2345 EXPECT_EQ(static_cast<uint32>(Uniform2f::kCmdId), |
2377 cmd.header.command); | 2346 cmd.header.command); |
2378 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2347 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2379 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2380 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2381 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2348 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2382 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 2349 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
2383 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); | 2350 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); |
| 2351 CheckBytesWrittenMatchesExpectedSize( |
| 2352 next_cmd, sizeof(cmd)); |
2384 } | 2353 } |
2385 | 2354 |
2386 TEST(GLES2FormatTest, Uniform2fv) { | 2355 TEST_F(GLES2FormatTest, Uniform2fv) { |
2387 Uniform2fv cmd = { { 0 } }; | 2356 Uniform2fv& cmd = *GetBufferAs<Uniform2fv>(); |
2388 void* next_cmd = cmd.Set( | 2357 void* next_cmd = cmd.Set( |
2389 &cmd, | 2358 &cmd, |
2390 static_cast<GLint>(11), | 2359 static_cast<GLint>(11), |
2391 static_cast<GLsizei>(12), | 2360 static_cast<GLsizei>(12), |
2392 static_cast<uint32>(13), | 2361 static_cast<uint32>(13), |
2393 static_cast<uint32>(14)); | 2362 static_cast<uint32>(14)); |
2394 EXPECT_EQ(static_cast<uint32>(Uniform2fv::kCmdId), | 2363 EXPECT_EQ(static_cast<uint32>(Uniform2fv::kCmdId), |
2395 cmd.header.command); | 2364 cmd.header.command); |
2396 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2365 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2397 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2398 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2399 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2366 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2400 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2367 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2401 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2368 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2402 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2369 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2370 CheckBytesWrittenMatchesExpectedSize( |
| 2371 next_cmd, sizeof(cmd)); |
2403 } | 2372 } |
2404 | 2373 |
2405 TEST(GLES2FormatTest, Uniform2fvImmediate) { | 2374 TEST_F(GLES2FormatTest, Uniform2fvImmediate) { |
2406 const int kSomeBaseValueToTestWith = 51; | 2375 const int kSomeBaseValueToTestWith = 51; |
2407 static GLfloat data[] = { | 2376 static GLfloat data[] = { |
2408 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2377 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2409 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2378 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2410 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 2379 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
2411 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 2380 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
2412 }; | 2381 }; |
2413 int8 buf[256] = { 0, }; | 2382 Uniform2fvImmediate& cmd = *GetBufferAs<Uniform2fvImmediate>(); |
2414 Uniform2fvImmediate& cmd = | 2383 const GLsizei kNumElements = 2; |
2415 *static_cast<Uniform2fvImmediate*>(static_cast<void*>(&buf)); | 2384 const size_t kExpectedCmdSize = |
| 2385 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 2; |
2416 void* next_cmd = cmd.Set( | 2386 void* next_cmd = cmd.Set( |
2417 &cmd, | 2387 &cmd, |
2418 static_cast<GLint>(1), | 2388 static_cast<GLint>(1), |
2419 static_cast<GLsizei>(2), | 2389 static_cast<GLsizei>(2), |
2420 data); | 2390 data); |
2421 EXPECT_EQ(static_cast<uint32>(Uniform2fvImmediate::kCmdId), | 2391 EXPECT_EQ(static_cast<uint32>(Uniform2fvImmediate::kCmdId), |
2422 cmd.header.command); | 2392 cmd.header.command); |
2423 EXPECT_EQ(sizeof(cmd) + | 2393 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2424 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2425 cmd.header.size * 4u); | |
2426 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2427 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2428 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2429 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2394 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2430 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2395 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2396 CheckBytesWrittenMatchesExpectedSize( |
| 2397 next_cmd, sizeof(cmd) + |
| 2398 RoundSizeToMultipleOfEntries(sizeof(data))); |
2431 // TODO(gman): Check that data was inserted; | 2399 // TODO(gman): Check that data was inserted; |
2432 } | 2400 } |
2433 | 2401 |
2434 TEST(GLES2FormatTest, Uniform2i) { | 2402 TEST_F(GLES2FormatTest, Uniform2i) { |
2435 Uniform2i cmd = { { 0 } }; | 2403 Uniform2i& cmd = *GetBufferAs<Uniform2i>(); |
2436 void* next_cmd = cmd.Set( | 2404 void* next_cmd = cmd.Set( |
2437 &cmd, | 2405 &cmd, |
2438 static_cast<GLint>(11), | 2406 static_cast<GLint>(11), |
2439 static_cast<GLint>(12), | 2407 static_cast<GLint>(12), |
2440 static_cast<GLint>(13)); | 2408 static_cast<GLint>(13)); |
2441 EXPECT_EQ(static_cast<uint32>(Uniform2i::kCmdId), | 2409 EXPECT_EQ(static_cast<uint32>(Uniform2i::kCmdId), |
2442 cmd.header.command); | 2410 cmd.header.command); |
2443 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2411 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2444 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2445 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2446 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2412 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2447 EXPECT_EQ(static_cast<GLint>(12), cmd.x); | 2413 EXPECT_EQ(static_cast<GLint>(12), cmd.x); |
2448 EXPECT_EQ(static_cast<GLint>(13), cmd.y); | 2414 EXPECT_EQ(static_cast<GLint>(13), cmd.y); |
| 2415 CheckBytesWrittenMatchesExpectedSize( |
| 2416 next_cmd, sizeof(cmd)); |
2449 } | 2417 } |
2450 | 2418 |
2451 TEST(GLES2FormatTest, Uniform2iv) { | 2419 TEST_F(GLES2FormatTest, Uniform2iv) { |
2452 Uniform2iv cmd = { { 0 } }; | 2420 Uniform2iv& cmd = *GetBufferAs<Uniform2iv>(); |
2453 void* next_cmd = cmd.Set( | 2421 void* next_cmd = cmd.Set( |
2454 &cmd, | 2422 &cmd, |
2455 static_cast<GLint>(11), | 2423 static_cast<GLint>(11), |
2456 static_cast<GLsizei>(12), | 2424 static_cast<GLsizei>(12), |
2457 static_cast<uint32>(13), | 2425 static_cast<uint32>(13), |
2458 static_cast<uint32>(14)); | 2426 static_cast<uint32>(14)); |
2459 EXPECT_EQ(static_cast<uint32>(Uniform2iv::kCmdId), | 2427 EXPECT_EQ(static_cast<uint32>(Uniform2iv::kCmdId), |
2460 cmd.header.command); | 2428 cmd.header.command); |
2461 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2429 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2462 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2463 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2464 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2430 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2465 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2431 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2466 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2432 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2467 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2433 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2434 CheckBytesWrittenMatchesExpectedSize( |
| 2435 next_cmd, sizeof(cmd)); |
2468 } | 2436 } |
2469 | 2437 |
2470 TEST(GLES2FormatTest, Uniform2ivImmediate) { | 2438 TEST_F(GLES2FormatTest, Uniform2ivImmediate) { |
2471 const int kSomeBaseValueToTestWith = 51; | 2439 const int kSomeBaseValueToTestWith = 51; |
2472 static GLint data[] = { | 2440 static GLint data[] = { |
2473 static_cast<GLint>(kSomeBaseValueToTestWith + 0), | 2441 static_cast<GLint>(kSomeBaseValueToTestWith + 0), |
2474 static_cast<GLint>(kSomeBaseValueToTestWith + 1), | 2442 static_cast<GLint>(kSomeBaseValueToTestWith + 1), |
2475 static_cast<GLint>(kSomeBaseValueToTestWith + 2), | 2443 static_cast<GLint>(kSomeBaseValueToTestWith + 2), |
2476 static_cast<GLint>(kSomeBaseValueToTestWith + 3), | 2444 static_cast<GLint>(kSomeBaseValueToTestWith + 3), |
2477 }; | 2445 }; |
2478 int8 buf[256] = { 0, }; | 2446 Uniform2ivImmediate& cmd = *GetBufferAs<Uniform2ivImmediate>(); |
2479 Uniform2ivImmediate& cmd = | 2447 const GLsizei kNumElements = 2; |
2480 *static_cast<Uniform2ivImmediate*>(static_cast<void*>(&buf)); | 2448 const size_t kExpectedCmdSize = |
| 2449 sizeof(cmd) + kNumElements * sizeof(GLint) * 2; |
2481 void* next_cmd = cmd.Set( | 2450 void* next_cmd = cmd.Set( |
2482 &cmd, | 2451 &cmd, |
2483 static_cast<GLint>(1), | 2452 static_cast<GLint>(1), |
2484 static_cast<GLsizei>(2), | 2453 static_cast<GLsizei>(2), |
2485 data); | 2454 data); |
2486 EXPECT_EQ(static_cast<uint32>(Uniform2ivImmediate::kCmdId), | 2455 EXPECT_EQ(static_cast<uint32>(Uniform2ivImmediate::kCmdId), |
2487 cmd.header.command); | 2456 cmd.header.command); |
2488 EXPECT_EQ(sizeof(cmd) + | 2457 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2489 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2490 cmd.header.size * 4u); | |
2491 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2492 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2493 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2494 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2458 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2495 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2459 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2460 CheckBytesWrittenMatchesExpectedSize( |
| 2461 next_cmd, sizeof(cmd) + |
| 2462 RoundSizeToMultipleOfEntries(sizeof(data))); |
2496 // TODO(gman): Check that data was inserted; | 2463 // TODO(gman): Check that data was inserted; |
2497 } | 2464 } |
2498 | 2465 |
2499 TEST(GLES2FormatTest, Uniform3f) { | 2466 TEST_F(GLES2FormatTest, Uniform3f) { |
2500 Uniform3f cmd = { { 0 } }; | 2467 Uniform3f& cmd = *GetBufferAs<Uniform3f>(); |
2501 void* next_cmd = cmd.Set( | 2468 void* next_cmd = cmd.Set( |
2502 &cmd, | 2469 &cmd, |
2503 static_cast<GLint>(11), | 2470 static_cast<GLint>(11), |
2504 static_cast<GLfloat>(12), | 2471 static_cast<GLfloat>(12), |
2505 static_cast<GLfloat>(13), | 2472 static_cast<GLfloat>(13), |
2506 static_cast<GLfloat>(14)); | 2473 static_cast<GLfloat>(14)); |
2507 EXPECT_EQ(static_cast<uint32>(Uniform3f::kCmdId), | 2474 EXPECT_EQ(static_cast<uint32>(Uniform3f::kCmdId), |
2508 cmd.header.command); | 2475 cmd.header.command); |
2509 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2476 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2510 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2511 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2512 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2477 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2513 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 2478 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
2514 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); | 2479 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); |
2515 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); | 2480 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); |
| 2481 CheckBytesWrittenMatchesExpectedSize( |
| 2482 next_cmd, sizeof(cmd)); |
2516 } | 2483 } |
2517 | 2484 |
2518 TEST(GLES2FormatTest, Uniform3fv) { | 2485 TEST_F(GLES2FormatTest, Uniform3fv) { |
2519 Uniform3fv cmd = { { 0 } }; | 2486 Uniform3fv& cmd = *GetBufferAs<Uniform3fv>(); |
2520 void* next_cmd = cmd.Set( | 2487 void* next_cmd = cmd.Set( |
2521 &cmd, | 2488 &cmd, |
2522 static_cast<GLint>(11), | 2489 static_cast<GLint>(11), |
2523 static_cast<GLsizei>(12), | 2490 static_cast<GLsizei>(12), |
2524 static_cast<uint32>(13), | 2491 static_cast<uint32>(13), |
2525 static_cast<uint32>(14)); | 2492 static_cast<uint32>(14)); |
2526 EXPECT_EQ(static_cast<uint32>(Uniform3fv::kCmdId), | 2493 EXPECT_EQ(static_cast<uint32>(Uniform3fv::kCmdId), |
2527 cmd.header.command); | 2494 cmd.header.command); |
2528 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2495 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2529 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2530 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2531 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2496 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2532 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2497 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2533 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2498 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2534 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2499 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2500 CheckBytesWrittenMatchesExpectedSize( |
| 2501 next_cmd, sizeof(cmd)); |
2535 } | 2502 } |
2536 | 2503 |
2537 TEST(GLES2FormatTest, Uniform3fvImmediate) { | 2504 TEST_F(GLES2FormatTest, Uniform3fvImmediate) { |
2538 const int kSomeBaseValueToTestWith = 51; | 2505 const int kSomeBaseValueToTestWith = 51; |
2539 static GLfloat data[] = { | 2506 static GLfloat data[] = { |
2540 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2507 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2541 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2508 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2542 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 2509 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
2543 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 2510 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
2544 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), | 2511 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), |
2545 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), | 2512 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), |
2546 }; | 2513 }; |
2547 int8 buf[256] = { 0, }; | 2514 Uniform3fvImmediate& cmd = *GetBufferAs<Uniform3fvImmediate>(); |
2548 Uniform3fvImmediate& cmd = | 2515 const GLsizei kNumElements = 2; |
2549 *static_cast<Uniform3fvImmediate*>(static_cast<void*>(&buf)); | 2516 const size_t kExpectedCmdSize = |
| 2517 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 3; |
2550 void* next_cmd = cmd.Set( | 2518 void* next_cmd = cmd.Set( |
2551 &cmd, | 2519 &cmd, |
2552 static_cast<GLint>(1), | 2520 static_cast<GLint>(1), |
2553 static_cast<GLsizei>(2), | 2521 static_cast<GLsizei>(2), |
2554 data); | 2522 data); |
2555 EXPECT_EQ(static_cast<uint32>(Uniform3fvImmediate::kCmdId), | 2523 EXPECT_EQ(static_cast<uint32>(Uniform3fvImmediate::kCmdId), |
2556 cmd.header.command); | 2524 cmd.header.command); |
2557 EXPECT_EQ(sizeof(cmd) + | 2525 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2558 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2559 cmd.header.size * 4u); | |
2560 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2561 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2562 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2563 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2526 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2564 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2527 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2528 CheckBytesWrittenMatchesExpectedSize( |
| 2529 next_cmd, sizeof(cmd) + |
| 2530 RoundSizeToMultipleOfEntries(sizeof(data))); |
2565 // TODO(gman): Check that data was inserted; | 2531 // TODO(gman): Check that data was inserted; |
2566 } | 2532 } |
2567 | 2533 |
2568 TEST(GLES2FormatTest, Uniform3i) { | 2534 TEST_F(GLES2FormatTest, Uniform3i) { |
2569 Uniform3i cmd = { { 0 } }; | 2535 Uniform3i& cmd = *GetBufferAs<Uniform3i>(); |
2570 void* next_cmd = cmd.Set( | 2536 void* next_cmd = cmd.Set( |
2571 &cmd, | 2537 &cmd, |
2572 static_cast<GLint>(11), | 2538 static_cast<GLint>(11), |
2573 static_cast<GLint>(12), | 2539 static_cast<GLint>(12), |
2574 static_cast<GLint>(13), | 2540 static_cast<GLint>(13), |
2575 static_cast<GLint>(14)); | 2541 static_cast<GLint>(14)); |
2576 EXPECT_EQ(static_cast<uint32>(Uniform3i::kCmdId), | 2542 EXPECT_EQ(static_cast<uint32>(Uniform3i::kCmdId), |
2577 cmd.header.command); | 2543 cmd.header.command); |
2578 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2544 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2579 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2580 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2581 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2545 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2582 EXPECT_EQ(static_cast<GLint>(12), cmd.x); | 2546 EXPECT_EQ(static_cast<GLint>(12), cmd.x); |
2583 EXPECT_EQ(static_cast<GLint>(13), cmd.y); | 2547 EXPECT_EQ(static_cast<GLint>(13), cmd.y); |
2584 EXPECT_EQ(static_cast<GLint>(14), cmd.z); | 2548 EXPECT_EQ(static_cast<GLint>(14), cmd.z); |
| 2549 CheckBytesWrittenMatchesExpectedSize( |
| 2550 next_cmd, sizeof(cmd)); |
2585 } | 2551 } |
2586 | 2552 |
2587 TEST(GLES2FormatTest, Uniform3iv) { | 2553 TEST_F(GLES2FormatTest, Uniform3iv) { |
2588 Uniform3iv cmd = { { 0 } }; | 2554 Uniform3iv& cmd = *GetBufferAs<Uniform3iv>(); |
2589 void* next_cmd = cmd.Set( | 2555 void* next_cmd = cmd.Set( |
2590 &cmd, | 2556 &cmd, |
2591 static_cast<GLint>(11), | 2557 static_cast<GLint>(11), |
2592 static_cast<GLsizei>(12), | 2558 static_cast<GLsizei>(12), |
2593 static_cast<uint32>(13), | 2559 static_cast<uint32>(13), |
2594 static_cast<uint32>(14)); | 2560 static_cast<uint32>(14)); |
2595 EXPECT_EQ(static_cast<uint32>(Uniform3iv::kCmdId), | 2561 EXPECT_EQ(static_cast<uint32>(Uniform3iv::kCmdId), |
2596 cmd.header.command); | 2562 cmd.header.command); |
2597 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2563 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2598 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2599 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2600 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2564 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2601 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2565 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2602 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2566 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2603 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2567 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2568 CheckBytesWrittenMatchesExpectedSize( |
| 2569 next_cmd, sizeof(cmd)); |
2604 } | 2570 } |
2605 | 2571 |
2606 TEST(GLES2FormatTest, Uniform3ivImmediate) { | 2572 TEST_F(GLES2FormatTest, Uniform3ivImmediate) { |
2607 const int kSomeBaseValueToTestWith = 51; | 2573 const int kSomeBaseValueToTestWith = 51; |
2608 static GLint data[] = { | 2574 static GLint data[] = { |
2609 static_cast<GLint>(kSomeBaseValueToTestWith + 0), | 2575 static_cast<GLint>(kSomeBaseValueToTestWith + 0), |
2610 static_cast<GLint>(kSomeBaseValueToTestWith + 1), | 2576 static_cast<GLint>(kSomeBaseValueToTestWith + 1), |
2611 static_cast<GLint>(kSomeBaseValueToTestWith + 2), | 2577 static_cast<GLint>(kSomeBaseValueToTestWith + 2), |
2612 static_cast<GLint>(kSomeBaseValueToTestWith + 3), | 2578 static_cast<GLint>(kSomeBaseValueToTestWith + 3), |
2613 static_cast<GLint>(kSomeBaseValueToTestWith + 4), | 2579 static_cast<GLint>(kSomeBaseValueToTestWith + 4), |
2614 static_cast<GLint>(kSomeBaseValueToTestWith + 5), | 2580 static_cast<GLint>(kSomeBaseValueToTestWith + 5), |
2615 }; | 2581 }; |
2616 int8 buf[256] = { 0, }; | 2582 Uniform3ivImmediate& cmd = *GetBufferAs<Uniform3ivImmediate>(); |
2617 Uniform3ivImmediate& cmd = | 2583 const GLsizei kNumElements = 2; |
2618 *static_cast<Uniform3ivImmediate*>(static_cast<void*>(&buf)); | 2584 const size_t kExpectedCmdSize = |
| 2585 sizeof(cmd) + kNumElements * sizeof(GLint) * 3; |
2619 void* next_cmd = cmd.Set( | 2586 void* next_cmd = cmd.Set( |
2620 &cmd, | 2587 &cmd, |
2621 static_cast<GLint>(1), | 2588 static_cast<GLint>(1), |
2622 static_cast<GLsizei>(2), | 2589 static_cast<GLsizei>(2), |
2623 data); | 2590 data); |
2624 EXPECT_EQ(static_cast<uint32>(Uniform3ivImmediate::kCmdId), | 2591 EXPECT_EQ(static_cast<uint32>(Uniform3ivImmediate::kCmdId), |
2625 cmd.header.command); | 2592 cmd.header.command); |
2626 EXPECT_EQ(sizeof(cmd) + | 2593 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2627 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2628 cmd.header.size * 4u); | |
2629 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2630 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2631 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2632 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2594 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2633 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2595 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2596 CheckBytesWrittenMatchesExpectedSize( |
| 2597 next_cmd, sizeof(cmd) + |
| 2598 RoundSizeToMultipleOfEntries(sizeof(data))); |
2634 // TODO(gman): Check that data was inserted; | 2599 // TODO(gman): Check that data was inserted; |
2635 } | 2600 } |
2636 | 2601 |
2637 TEST(GLES2FormatTest, Uniform4f) { | 2602 TEST_F(GLES2FormatTest, Uniform4f) { |
2638 Uniform4f cmd = { { 0 } }; | 2603 Uniform4f& cmd = *GetBufferAs<Uniform4f>(); |
2639 void* next_cmd = cmd.Set( | 2604 void* next_cmd = cmd.Set( |
2640 &cmd, | 2605 &cmd, |
2641 static_cast<GLint>(11), | 2606 static_cast<GLint>(11), |
2642 static_cast<GLfloat>(12), | 2607 static_cast<GLfloat>(12), |
2643 static_cast<GLfloat>(13), | 2608 static_cast<GLfloat>(13), |
2644 static_cast<GLfloat>(14), | 2609 static_cast<GLfloat>(14), |
2645 static_cast<GLfloat>(15)); | 2610 static_cast<GLfloat>(15)); |
2646 EXPECT_EQ(static_cast<uint32>(Uniform4f::kCmdId), | 2611 EXPECT_EQ(static_cast<uint32>(Uniform4f::kCmdId), |
2647 cmd.header.command); | 2612 cmd.header.command); |
2648 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2613 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2649 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2650 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2651 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2614 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2652 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 2615 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
2653 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); | 2616 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); |
2654 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); | 2617 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); |
2655 EXPECT_EQ(static_cast<GLfloat>(15), cmd.w); | 2618 EXPECT_EQ(static_cast<GLfloat>(15), cmd.w); |
| 2619 CheckBytesWrittenMatchesExpectedSize( |
| 2620 next_cmd, sizeof(cmd)); |
2656 } | 2621 } |
2657 | 2622 |
2658 TEST(GLES2FormatTest, Uniform4fv) { | 2623 TEST_F(GLES2FormatTest, Uniform4fv) { |
2659 Uniform4fv cmd = { { 0 } }; | 2624 Uniform4fv& cmd = *GetBufferAs<Uniform4fv>(); |
2660 void* next_cmd = cmd.Set( | 2625 void* next_cmd = cmd.Set( |
2661 &cmd, | 2626 &cmd, |
2662 static_cast<GLint>(11), | 2627 static_cast<GLint>(11), |
2663 static_cast<GLsizei>(12), | 2628 static_cast<GLsizei>(12), |
2664 static_cast<uint32>(13), | 2629 static_cast<uint32>(13), |
2665 static_cast<uint32>(14)); | 2630 static_cast<uint32>(14)); |
2666 EXPECT_EQ(static_cast<uint32>(Uniform4fv::kCmdId), | 2631 EXPECT_EQ(static_cast<uint32>(Uniform4fv::kCmdId), |
2667 cmd.header.command); | 2632 cmd.header.command); |
2668 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2633 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2669 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2670 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2671 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2634 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2672 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2635 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2673 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2636 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2674 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2637 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2638 CheckBytesWrittenMatchesExpectedSize( |
| 2639 next_cmd, sizeof(cmd)); |
2675 } | 2640 } |
2676 | 2641 |
2677 TEST(GLES2FormatTest, Uniform4fvImmediate) { | 2642 TEST_F(GLES2FormatTest, Uniform4fvImmediate) { |
2678 const int kSomeBaseValueToTestWith = 51; | 2643 const int kSomeBaseValueToTestWith = 51; |
2679 static GLfloat data[] = { | 2644 static GLfloat data[] = { |
2680 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2645 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2681 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2646 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2682 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 2647 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
2683 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 2648 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
2684 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), | 2649 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), |
2685 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), | 2650 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), |
2686 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), | 2651 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), |
2687 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), | 2652 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), |
2688 }; | 2653 }; |
2689 int8 buf[256] = { 0, }; | 2654 Uniform4fvImmediate& cmd = *GetBufferAs<Uniform4fvImmediate>(); |
2690 Uniform4fvImmediate& cmd = | 2655 const GLsizei kNumElements = 2; |
2691 *static_cast<Uniform4fvImmediate*>(static_cast<void*>(&buf)); | 2656 const size_t kExpectedCmdSize = |
| 2657 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 4; |
2692 void* next_cmd = cmd.Set( | 2658 void* next_cmd = cmd.Set( |
2693 &cmd, | 2659 &cmd, |
2694 static_cast<GLint>(1), | 2660 static_cast<GLint>(1), |
2695 static_cast<GLsizei>(2), | 2661 static_cast<GLsizei>(2), |
2696 data); | 2662 data); |
2697 EXPECT_EQ(static_cast<uint32>(Uniform4fvImmediate::kCmdId), | 2663 EXPECT_EQ(static_cast<uint32>(Uniform4fvImmediate::kCmdId), |
2698 cmd.header.command); | 2664 cmd.header.command); |
2699 EXPECT_EQ(sizeof(cmd) + | 2665 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2700 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2701 cmd.header.size * 4u); | |
2702 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2703 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2704 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2705 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2666 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2706 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2667 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2668 CheckBytesWrittenMatchesExpectedSize( |
| 2669 next_cmd, sizeof(cmd) + |
| 2670 RoundSizeToMultipleOfEntries(sizeof(data))); |
2707 // TODO(gman): Check that data was inserted; | 2671 // TODO(gman): Check that data was inserted; |
2708 } | 2672 } |
2709 | 2673 |
2710 TEST(GLES2FormatTest, Uniform4i) { | 2674 TEST_F(GLES2FormatTest, Uniform4i) { |
2711 Uniform4i cmd = { { 0 } }; | 2675 Uniform4i& cmd = *GetBufferAs<Uniform4i>(); |
2712 void* next_cmd = cmd.Set( | 2676 void* next_cmd = cmd.Set( |
2713 &cmd, | 2677 &cmd, |
2714 static_cast<GLint>(11), | 2678 static_cast<GLint>(11), |
2715 static_cast<GLint>(12), | 2679 static_cast<GLint>(12), |
2716 static_cast<GLint>(13), | 2680 static_cast<GLint>(13), |
2717 static_cast<GLint>(14), | 2681 static_cast<GLint>(14), |
2718 static_cast<GLint>(15)); | 2682 static_cast<GLint>(15)); |
2719 EXPECT_EQ(static_cast<uint32>(Uniform4i::kCmdId), | 2683 EXPECT_EQ(static_cast<uint32>(Uniform4i::kCmdId), |
2720 cmd.header.command); | 2684 cmd.header.command); |
2721 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2685 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2722 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2723 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2724 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2686 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2725 EXPECT_EQ(static_cast<GLint>(12), cmd.x); | 2687 EXPECT_EQ(static_cast<GLint>(12), cmd.x); |
2726 EXPECT_EQ(static_cast<GLint>(13), cmd.y); | 2688 EXPECT_EQ(static_cast<GLint>(13), cmd.y); |
2727 EXPECT_EQ(static_cast<GLint>(14), cmd.z); | 2689 EXPECT_EQ(static_cast<GLint>(14), cmd.z); |
2728 EXPECT_EQ(static_cast<GLint>(15), cmd.w); | 2690 EXPECT_EQ(static_cast<GLint>(15), cmd.w); |
| 2691 CheckBytesWrittenMatchesExpectedSize( |
| 2692 next_cmd, sizeof(cmd)); |
2729 } | 2693 } |
2730 | 2694 |
2731 TEST(GLES2FormatTest, Uniform4iv) { | 2695 TEST_F(GLES2FormatTest, Uniform4iv) { |
2732 Uniform4iv cmd = { { 0 } }; | 2696 Uniform4iv& cmd = *GetBufferAs<Uniform4iv>(); |
2733 void* next_cmd = cmd.Set( | 2697 void* next_cmd = cmd.Set( |
2734 &cmd, | 2698 &cmd, |
2735 static_cast<GLint>(11), | 2699 static_cast<GLint>(11), |
2736 static_cast<GLsizei>(12), | 2700 static_cast<GLsizei>(12), |
2737 static_cast<uint32>(13), | 2701 static_cast<uint32>(13), |
2738 static_cast<uint32>(14)); | 2702 static_cast<uint32>(14)); |
2739 EXPECT_EQ(static_cast<uint32>(Uniform4iv::kCmdId), | 2703 EXPECT_EQ(static_cast<uint32>(Uniform4iv::kCmdId), |
2740 cmd.header.command); | 2704 cmd.header.command); |
2741 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2705 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2742 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2743 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2744 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2706 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2745 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2707 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2746 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); | 2708 EXPECT_EQ(static_cast<uint32>(13), cmd.v_shm_id); |
2747 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); | 2709 EXPECT_EQ(static_cast<uint32>(14), cmd.v_shm_offset); |
| 2710 CheckBytesWrittenMatchesExpectedSize( |
| 2711 next_cmd, sizeof(cmd)); |
2748 } | 2712 } |
2749 | 2713 |
2750 TEST(GLES2FormatTest, Uniform4ivImmediate) { | 2714 TEST_F(GLES2FormatTest, Uniform4ivImmediate) { |
2751 const int kSomeBaseValueToTestWith = 51; | 2715 const int kSomeBaseValueToTestWith = 51; |
2752 static GLint data[] = { | 2716 static GLint data[] = { |
2753 static_cast<GLint>(kSomeBaseValueToTestWith + 0), | 2717 static_cast<GLint>(kSomeBaseValueToTestWith + 0), |
2754 static_cast<GLint>(kSomeBaseValueToTestWith + 1), | 2718 static_cast<GLint>(kSomeBaseValueToTestWith + 1), |
2755 static_cast<GLint>(kSomeBaseValueToTestWith + 2), | 2719 static_cast<GLint>(kSomeBaseValueToTestWith + 2), |
2756 static_cast<GLint>(kSomeBaseValueToTestWith + 3), | 2720 static_cast<GLint>(kSomeBaseValueToTestWith + 3), |
2757 static_cast<GLint>(kSomeBaseValueToTestWith + 4), | 2721 static_cast<GLint>(kSomeBaseValueToTestWith + 4), |
2758 static_cast<GLint>(kSomeBaseValueToTestWith + 5), | 2722 static_cast<GLint>(kSomeBaseValueToTestWith + 5), |
2759 static_cast<GLint>(kSomeBaseValueToTestWith + 6), | 2723 static_cast<GLint>(kSomeBaseValueToTestWith + 6), |
2760 static_cast<GLint>(kSomeBaseValueToTestWith + 7), | 2724 static_cast<GLint>(kSomeBaseValueToTestWith + 7), |
2761 }; | 2725 }; |
2762 int8 buf[256] = { 0, }; | 2726 Uniform4ivImmediate& cmd = *GetBufferAs<Uniform4ivImmediate>(); |
2763 Uniform4ivImmediate& cmd = | 2727 const GLsizei kNumElements = 2; |
2764 *static_cast<Uniform4ivImmediate*>(static_cast<void*>(&buf)); | 2728 const size_t kExpectedCmdSize = |
| 2729 sizeof(cmd) + kNumElements * sizeof(GLint) * 4; |
2765 void* next_cmd = cmd.Set( | 2730 void* next_cmd = cmd.Set( |
2766 &cmd, | 2731 &cmd, |
2767 static_cast<GLint>(1), | 2732 static_cast<GLint>(1), |
2768 static_cast<GLsizei>(2), | 2733 static_cast<GLsizei>(2), |
2769 data); | 2734 data); |
2770 EXPECT_EQ(static_cast<uint32>(Uniform4ivImmediate::kCmdId), | 2735 EXPECT_EQ(static_cast<uint32>(Uniform4ivImmediate::kCmdId), |
2771 cmd.header.command); | 2736 cmd.header.command); |
2772 EXPECT_EQ(sizeof(cmd) + | 2737 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2773 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2774 cmd.header.size * 4u); | |
2775 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2776 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2777 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2778 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2738 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2779 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2739 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
| 2740 CheckBytesWrittenMatchesExpectedSize( |
| 2741 next_cmd, sizeof(cmd) + |
| 2742 RoundSizeToMultipleOfEntries(sizeof(data))); |
2780 // TODO(gman): Check that data was inserted; | 2743 // TODO(gman): Check that data was inserted; |
2781 } | 2744 } |
2782 | 2745 |
2783 TEST(GLES2FormatTest, UniformMatrix2fv) { | 2746 TEST_F(GLES2FormatTest, UniformMatrix2fv) { |
2784 UniformMatrix2fv cmd = { { 0 } }; | 2747 UniformMatrix2fv& cmd = *GetBufferAs<UniformMatrix2fv>(); |
2785 void* next_cmd = cmd.Set( | 2748 void* next_cmd = cmd.Set( |
2786 &cmd, | 2749 &cmd, |
2787 static_cast<GLint>(11), | 2750 static_cast<GLint>(11), |
2788 static_cast<GLsizei>(12), | 2751 static_cast<GLsizei>(12), |
2789 static_cast<GLboolean>(13), | 2752 static_cast<GLboolean>(13), |
2790 static_cast<uint32>(14), | 2753 static_cast<uint32>(14), |
2791 static_cast<uint32>(15)); | 2754 static_cast<uint32>(15)); |
2792 EXPECT_EQ(static_cast<uint32>(UniformMatrix2fv::kCmdId), | 2755 EXPECT_EQ(static_cast<uint32>(UniformMatrix2fv::kCmdId), |
2793 cmd.header.command); | 2756 cmd.header.command); |
2794 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2757 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2795 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2796 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2797 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2758 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2798 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2759 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2799 EXPECT_EQ(static_cast<GLboolean>(13), cmd.transpose); | 2760 EXPECT_EQ(static_cast<GLboolean>(13), cmd.transpose); |
2800 EXPECT_EQ(static_cast<uint32>(14), cmd.value_shm_id); | 2761 EXPECT_EQ(static_cast<uint32>(14), cmd.value_shm_id); |
2801 EXPECT_EQ(static_cast<uint32>(15), cmd.value_shm_offset); | 2762 EXPECT_EQ(static_cast<uint32>(15), cmd.value_shm_offset); |
| 2763 CheckBytesWrittenMatchesExpectedSize( |
| 2764 next_cmd, sizeof(cmd)); |
2802 } | 2765 } |
2803 | 2766 |
2804 TEST(GLES2FormatTest, UniformMatrix2fvImmediate) { | 2767 TEST_F(GLES2FormatTest, UniformMatrix2fvImmediate) { |
2805 const int kSomeBaseValueToTestWith = 51; | 2768 const int kSomeBaseValueToTestWith = 51; |
2806 static GLfloat data[] = { | 2769 static GLfloat data[] = { |
2807 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2770 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2808 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2771 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2809 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 2772 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
2810 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 2773 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
2811 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), | 2774 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), |
2812 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), | 2775 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), |
2813 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), | 2776 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), |
2814 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), | 2777 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), |
2815 }; | 2778 }; |
2816 int8 buf[256] = { 0, }; | 2779 UniformMatrix2fvImmediate& cmd = *GetBufferAs<UniformMatrix2fvImmediate>(); |
2817 UniformMatrix2fvImmediate& cmd = | 2780 const GLsizei kNumElements = 2; |
2818 *static_cast<UniformMatrix2fvImmediate*>(static_cast<void*>(&buf)); | 2781 const size_t kExpectedCmdSize = |
| 2782 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 4; |
2819 void* next_cmd = cmd.Set( | 2783 void* next_cmd = cmd.Set( |
2820 &cmd, | 2784 &cmd, |
2821 static_cast<GLint>(1), | 2785 static_cast<GLint>(1), |
2822 static_cast<GLsizei>(2), | 2786 static_cast<GLsizei>(2), |
2823 static_cast<GLboolean>(3), | 2787 static_cast<GLboolean>(3), |
2824 data); | 2788 data); |
2825 EXPECT_EQ(static_cast<uint32>(UniformMatrix2fvImmediate::kCmdId), | 2789 EXPECT_EQ(static_cast<uint32>(UniformMatrix2fvImmediate::kCmdId), |
2826 cmd.header.command); | 2790 cmd.header.command); |
2827 EXPECT_EQ(sizeof(cmd) + | 2791 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2828 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2829 cmd.header.size * 4u); | |
2830 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2831 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2832 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2833 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2792 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2834 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2793 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
2835 EXPECT_EQ(static_cast<GLboolean>(3), cmd.transpose); | 2794 EXPECT_EQ(static_cast<GLboolean>(3), cmd.transpose); |
| 2795 CheckBytesWrittenMatchesExpectedSize( |
| 2796 next_cmd, sizeof(cmd) + |
| 2797 RoundSizeToMultipleOfEntries(sizeof(data))); |
2836 // TODO(gman): Check that data was inserted; | 2798 // TODO(gman): Check that data was inserted; |
2837 } | 2799 } |
2838 | 2800 |
2839 TEST(GLES2FormatTest, UniformMatrix3fv) { | 2801 TEST_F(GLES2FormatTest, UniformMatrix3fv) { |
2840 UniformMatrix3fv cmd = { { 0 } }; | 2802 UniformMatrix3fv& cmd = *GetBufferAs<UniformMatrix3fv>(); |
2841 void* next_cmd = cmd.Set( | 2803 void* next_cmd = cmd.Set( |
2842 &cmd, | 2804 &cmd, |
2843 static_cast<GLint>(11), | 2805 static_cast<GLint>(11), |
2844 static_cast<GLsizei>(12), | 2806 static_cast<GLsizei>(12), |
2845 static_cast<GLboolean>(13), | 2807 static_cast<GLboolean>(13), |
2846 static_cast<uint32>(14), | 2808 static_cast<uint32>(14), |
2847 static_cast<uint32>(15)); | 2809 static_cast<uint32>(15)); |
2848 EXPECT_EQ(static_cast<uint32>(UniformMatrix3fv::kCmdId), | 2810 EXPECT_EQ(static_cast<uint32>(UniformMatrix3fv::kCmdId), |
2849 cmd.header.command); | 2811 cmd.header.command); |
2850 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2812 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2851 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2852 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2853 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2813 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2854 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2814 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2855 EXPECT_EQ(static_cast<GLboolean>(13), cmd.transpose); | 2815 EXPECT_EQ(static_cast<GLboolean>(13), cmd.transpose); |
2856 EXPECT_EQ(static_cast<uint32>(14), cmd.value_shm_id); | 2816 EXPECT_EQ(static_cast<uint32>(14), cmd.value_shm_id); |
2857 EXPECT_EQ(static_cast<uint32>(15), cmd.value_shm_offset); | 2817 EXPECT_EQ(static_cast<uint32>(15), cmd.value_shm_offset); |
| 2818 CheckBytesWrittenMatchesExpectedSize( |
| 2819 next_cmd, sizeof(cmd)); |
2858 } | 2820 } |
2859 | 2821 |
2860 TEST(GLES2FormatTest, UniformMatrix3fvImmediate) { | 2822 TEST_F(GLES2FormatTest, UniformMatrix3fvImmediate) { |
2861 const int kSomeBaseValueToTestWith = 51; | 2823 const int kSomeBaseValueToTestWith = 51; |
2862 static GLfloat data[] = { | 2824 static GLfloat data[] = { |
2863 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2825 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2864 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2826 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2865 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 2827 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
2866 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 2828 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
2867 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), | 2829 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), |
2868 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), | 2830 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), |
2869 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), | 2831 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), |
2870 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), | 2832 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), |
2871 static_cast<GLfloat>(kSomeBaseValueToTestWith + 8), | 2833 static_cast<GLfloat>(kSomeBaseValueToTestWith + 8), |
2872 static_cast<GLfloat>(kSomeBaseValueToTestWith + 9), | 2834 static_cast<GLfloat>(kSomeBaseValueToTestWith + 9), |
2873 static_cast<GLfloat>(kSomeBaseValueToTestWith + 10), | 2835 static_cast<GLfloat>(kSomeBaseValueToTestWith + 10), |
2874 static_cast<GLfloat>(kSomeBaseValueToTestWith + 11), | 2836 static_cast<GLfloat>(kSomeBaseValueToTestWith + 11), |
2875 static_cast<GLfloat>(kSomeBaseValueToTestWith + 12), | 2837 static_cast<GLfloat>(kSomeBaseValueToTestWith + 12), |
2876 static_cast<GLfloat>(kSomeBaseValueToTestWith + 13), | 2838 static_cast<GLfloat>(kSomeBaseValueToTestWith + 13), |
2877 static_cast<GLfloat>(kSomeBaseValueToTestWith + 14), | 2839 static_cast<GLfloat>(kSomeBaseValueToTestWith + 14), |
2878 static_cast<GLfloat>(kSomeBaseValueToTestWith + 15), | 2840 static_cast<GLfloat>(kSomeBaseValueToTestWith + 15), |
2879 static_cast<GLfloat>(kSomeBaseValueToTestWith + 16), | 2841 static_cast<GLfloat>(kSomeBaseValueToTestWith + 16), |
2880 static_cast<GLfloat>(kSomeBaseValueToTestWith + 17), | 2842 static_cast<GLfloat>(kSomeBaseValueToTestWith + 17), |
2881 }; | 2843 }; |
2882 int8 buf[256] = { 0, }; | 2844 UniformMatrix3fvImmediate& cmd = *GetBufferAs<UniformMatrix3fvImmediate>(); |
2883 UniformMatrix3fvImmediate& cmd = | 2845 const GLsizei kNumElements = 2; |
2884 *static_cast<UniformMatrix3fvImmediate*>(static_cast<void*>(&buf)); | 2846 const size_t kExpectedCmdSize = |
| 2847 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 9; |
2885 void* next_cmd = cmd.Set( | 2848 void* next_cmd = cmd.Set( |
2886 &cmd, | 2849 &cmd, |
2887 static_cast<GLint>(1), | 2850 static_cast<GLint>(1), |
2888 static_cast<GLsizei>(2), | 2851 static_cast<GLsizei>(2), |
2889 static_cast<GLboolean>(3), | 2852 static_cast<GLboolean>(3), |
2890 data); | 2853 data); |
2891 EXPECT_EQ(static_cast<uint32>(UniformMatrix3fvImmediate::kCmdId), | 2854 EXPECT_EQ(static_cast<uint32>(UniformMatrix3fvImmediate::kCmdId), |
2892 cmd.header.command); | 2855 cmd.header.command); |
2893 EXPECT_EQ(sizeof(cmd) + | 2856 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2894 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2895 cmd.header.size * 4u); | |
2896 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2897 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2898 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2899 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2857 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2900 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2858 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
2901 EXPECT_EQ(static_cast<GLboolean>(3), cmd.transpose); | 2859 EXPECT_EQ(static_cast<GLboolean>(3), cmd.transpose); |
| 2860 CheckBytesWrittenMatchesExpectedSize( |
| 2861 next_cmd, sizeof(cmd) + |
| 2862 RoundSizeToMultipleOfEntries(sizeof(data))); |
2902 // TODO(gman): Check that data was inserted; | 2863 // TODO(gman): Check that data was inserted; |
2903 } | 2864 } |
2904 | 2865 |
2905 TEST(GLES2FormatTest, UniformMatrix4fv) { | 2866 TEST_F(GLES2FormatTest, UniformMatrix4fv) { |
2906 UniformMatrix4fv cmd = { { 0 } }; | 2867 UniformMatrix4fv& cmd = *GetBufferAs<UniformMatrix4fv>(); |
2907 void* next_cmd = cmd.Set( | 2868 void* next_cmd = cmd.Set( |
2908 &cmd, | 2869 &cmd, |
2909 static_cast<GLint>(11), | 2870 static_cast<GLint>(11), |
2910 static_cast<GLsizei>(12), | 2871 static_cast<GLsizei>(12), |
2911 static_cast<GLboolean>(13), | 2872 static_cast<GLboolean>(13), |
2912 static_cast<uint32>(14), | 2873 static_cast<uint32>(14), |
2913 static_cast<uint32>(15)); | 2874 static_cast<uint32>(15)); |
2914 EXPECT_EQ(static_cast<uint32>(UniformMatrix4fv::kCmdId), | 2875 EXPECT_EQ(static_cast<uint32>(UniformMatrix4fv::kCmdId), |
2915 cmd.header.command); | 2876 cmd.header.command); |
2916 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2877 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2917 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2918 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2919 EXPECT_EQ(static_cast<GLint>(11), cmd.location); | 2878 EXPECT_EQ(static_cast<GLint>(11), cmd.location); |
2920 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 2879 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
2921 EXPECT_EQ(static_cast<GLboolean>(13), cmd.transpose); | 2880 EXPECT_EQ(static_cast<GLboolean>(13), cmd.transpose); |
2922 EXPECT_EQ(static_cast<uint32>(14), cmd.value_shm_id); | 2881 EXPECT_EQ(static_cast<uint32>(14), cmd.value_shm_id); |
2923 EXPECT_EQ(static_cast<uint32>(15), cmd.value_shm_offset); | 2882 EXPECT_EQ(static_cast<uint32>(15), cmd.value_shm_offset); |
| 2883 CheckBytesWrittenMatchesExpectedSize( |
| 2884 next_cmd, sizeof(cmd)); |
2924 } | 2885 } |
2925 | 2886 |
2926 TEST(GLES2FormatTest, UniformMatrix4fvImmediate) { | 2887 TEST_F(GLES2FormatTest, UniformMatrix4fvImmediate) { |
2927 const int kSomeBaseValueToTestWith = 51; | 2888 const int kSomeBaseValueToTestWith = 51; |
2928 static GLfloat data[] = { | 2889 static GLfloat data[] = { |
2929 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 2890 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
2930 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 2891 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
2931 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 2892 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
2932 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 2893 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
2933 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), | 2894 static_cast<GLfloat>(kSomeBaseValueToTestWith + 4), |
2934 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), | 2895 static_cast<GLfloat>(kSomeBaseValueToTestWith + 5), |
2935 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), | 2896 static_cast<GLfloat>(kSomeBaseValueToTestWith + 6), |
2936 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), | 2897 static_cast<GLfloat>(kSomeBaseValueToTestWith + 7), |
(...skipping 15 matching lines...) Expand all Loading... |
2952 static_cast<GLfloat>(kSomeBaseValueToTestWith + 23), | 2913 static_cast<GLfloat>(kSomeBaseValueToTestWith + 23), |
2953 static_cast<GLfloat>(kSomeBaseValueToTestWith + 24), | 2914 static_cast<GLfloat>(kSomeBaseValueToTestWith + 24), |
2954 static_cast<GLfloat>(kSomeBaseValueToTestWith + 25), | 2915 static_cast<GLfloat>(kSomeBaseValueToTestWith + 25), |
2955 static_cast<GLfloat>(kSomeBaseValueToTestWith + 26), | 2916 static_cast<GLfloat>(kSomeBaseValueToTestWith + 26), |
2956 static_cast<GLfloat>(kSomeBaseValueToTestWith + 27), | 2917 static_cast<GLfloat>(kSomeBaseValueToTestWith + 27), |
2957 static_cast<GLfloat>(kSomeBaseValueToTestWith + 28), | 2918 static_cast<GLfloat>(kSomeBaseValueToTestWith + 28), |
2958 static_cast<GLfloat>(kSomeBaseValueToTestWith + 29), | 2919 static_cast<GLfloat>(kSomeBaseValueToTestWith + 29), |
2959 static_cast<GLfloat>(kSomeBaseValueToTestWith + 30), | 2920 static_cast<GLfloat>(kSomeBaseValueToTestWith + 30), |
2960 static_cast<GLfloat>(kSomeBaseValueToTestWith + 31), | 2921 static_cast<GLfloat>(kSomeBaseValueToTestWith + 31), |
2961 }; | 2922 }; |
2962 int8 buf[256] = { 0, }; | 2923 UniformMatrix4fvImmediate& cmd = *GetBufferAs<UniformMatrix4fvImmediate>(); |
2963 UniformMatrix4fvImmediate& cmd = | 2924 const GLsizei kNumElements = 2; |
2964 *static_cast<UniformMatrix4fvImmediate*>(static_cast<void*>(&buf)); | 2925 const size_t kExpectedCmdSize = |
| 2926 sizeof(cmd) + kNumElements * sizeof(GLfloat) * 16; |
2965 void* next_cmd = cmd.Set( | 2927 void* next_cmd = cmd.Set( |
2966 &cmd, | 2928 &cmd, |
2967 static_cast<GLint>(1), | 2929 static_cast<GLint>(1), |
2968 static_cast<GLsizei>(2), | 2930 static_cast<GLsizei>(2), |
2969 static_cast<GLboolean>(3), | 2931 static_cast<GLboolean>(3), |
2970 data); | 2932 data); |
2971 EXPECT_EQ(static_cast<uint32>(UniformMatrix4fvImmediate::kCmdId), | 2933 EXPECT_EQ(static_cast<uint32>(UniformMatrix4fvImmediate::kCmdId), |
2972 cmd.header.command); | 2934 cmd.header.command); |
2973 EXPECT_EQ(sizeof(cmd) + | 2935 EXPECT_EQ(kExpectedCmdSize, cmd.header.size * 4u); |
2974 RoundSizeToMultipleOfEntries(sizeof(data)), | |
2975 cmd.header.size * 4u); | |
2976 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2977 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
2978 RoundSizeToMultipleOfEntries(sizeof(data))); | |
2979 EXPECT_EQ(static_cast<GLint>(1), cmd.location); | 2936 EXPECT_EQ(static_cast<GLint>(1), cmd.location); |
2980 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); | 2937 EXPECT_EQ(static_cast<GLsizei>(2), cmd.count); |
2981 EXPECT_EQ(static_cast<GLboolean>(3), cmd.transpose); | 2938 EXPECT_EQ(static_cast<GLboolean>(3), cmd.transpose); |
| 2939 CheckBytesWrittenMatchesExpectedSize( |
| 2940 next_cmd, sizeof(cmd) + |
| 2941 RoundSizeToMultipleOfEntries(sizeof(data))); |
2982 // TODO(gman): Check that data was inserted; | 2942 // TODO(gman): Check that data was inserted; |
2983 } | 2943 } |
2984 | 2944 |
2985 TEST(GLES2FormatTest, UseProgram) { | 2945 TEST_F(GLES2FormatTest, UseProgram) { |
2986 UseProgram cmd = { { 0 } }; | 2946 UseProgram& cmd = *GetBufferAs<UseProgram>(); |
2987 void* next_cmd = cmd.Set( | 2947 void* next_cmd = cmd.Set( |
2988 &cmd, | 2948 &cmd, |
2989 static_cast<GLuint>(11)); | 2949 static_cast<GLuint>(11)); |
2990 EXPECT_EQ(static_cast<uint32>(UseProgram::kCmdId), | 2950 EXPECT_EQ(static_cast<uint32>(UseProgram::kCmdId), |
2991 cmd.header.command); | 2951 cmd.header.command); |
2992 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2952 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
2993 EXPECT_EQ(static_cast<char*>(next_cmd), | |
2994 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
2995 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 2953 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
| 2954 CheckBytesWrittenMatchesExpectedSize( |
| 2955 next_cmd, sizeof(cmd)); |
2996 } | 2956 } |
2997 | 2957 |
2998 TEST(GLES2FormatTest, ValidateProgram) { | 2958 TEST_F(GLES2FormatTest, ValidateProgram) { |
2999 ValidateProgram cmd = { { 0 } }; | 2959 ValidateProgram& cmd = *GetBufferAs<ValidateProgram>(); |
3000 void* next_cmd = cmd.Set( | 2960 void* next_cmd = cmd.Set( |
3001 &cmd, | 2961 &cmd, |
3002 static_cast<GLuint>(11)); | 2962 static_cast<GLuint>(11)); |
3003 EXPECT_EQ(static_cast<uint32>(ValidateProgram::kCmdId), | 2963 EXPECT_EQ(static_cast<uint32>(ValidateProgram::kCmdId), |
3004 cmd.header.command); | 2964 cmd.header.command); |
3005 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2965 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3006 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3007 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3008 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 2966 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
| 2967 CheckBytesWrittenMatchesExpectedSize( |
| 2968 next_cmd, sizeof(cmd)); |
3009 } | 2969 } |
3010 | 2970 |
3011 TEST(GLES2FormatTest, VertexAttrib1f) { | 2971 TEST_F(GLES2FormatTest, VertexAttrib1f) { |
3012 VertexAttrib1f cmd = { { 0 } }; | 2972 VertexAttrib1f& cmd = *GetBufferAs<VertexAttrib1f>(); |
3013 void* next_cmd = cmd.Set( | 2973 void* next_cmd = cmd.Set( |
3014 &cmd, | 2974 &cmd, |
3015 static_cast<GLuint>(11), | 2975 static_cast<GLuint>(11), |
3016 static_cast<GLfloat>(12)); | 2976 static_cast<GLfloat>(12)); |
3017 EXPECT_EQ(static_cast<uint32>(VertexAttrib1f::kCmdId), | 2977 EXPECT_EQ(static_cast<uint32>(VertexAttrib1f::kCmdId), |
3018 cmd.header.command); | 2978 cmd.header.command); |
3019 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2979 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3020 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3021 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3022 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 2980 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3023 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 2981 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
| 2982 CheckBytesWrittenMatchesExpectedSize( |
| 2983 next_cmd, sizeof(cmd)); |
3024 } | 2984 } |
3025 | 2985 |
3026 TEST(GLES2FormatTest, VertexAttrib1fv) { | 2986 TEST_F(GLES2FormatTest, VertexAttrib1fv) { |
3027 VertexAttrib1fv cmd = { { 0 } }; | 2987 VertexAttrib1fv& cmd = *GetBufferAs<VertexAttrib1fv>(); |
3028 void* next_cmd = cmd.Set( | 2988 void* next_cmd = cmd.Set( |
3029 &cmd, | 2989 &cmd, |
3030 static_cast<GLuint>(11), | 2990 static_cast<GLuint>(11), |
3031 static_cast<uint32>(12), | 2991 static_cast<uint32>(12), |
3032 static_cast<uint32>(13)); | 2992 static_cast<uint32>(13)); |
3033 EXPECT_EQ(static_cast<uint32>(VertexAttrib1fv::kCmdId), | 2993 EXPECT_EQ(static_cast<uint32>(VertexAttrib1fv::kCmdId), |
3034 cmd.header.command); | 2994 cmd.header.command); |
3035 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 2995 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3036 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3037 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3038 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 2996 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3039 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); | 2997 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); |
3040 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); | 2998 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); |
| 2999 CheckBytesWrittenMatchesExpectedSize( |
| 3000 next_cmd, sizeof(cmd)); |
3041 } | 3001 } |
3042 | 3002 |
3043 TEST(GLES2FormatTest, VertexAttrib1fvImmediate) { | 3003 TEST_F(GLES2FormatTest, VertexAttrib1fvImmediate) { |
3044 const int kSomeBaseValueToTestWith = 51; | 3004 const int kSomeBaseValueToTestWith = 51; |
3045 static GLfloat data[] = { | 3005 static GLfloat data[] = { |
3046 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 3006 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
3047 }; | 3007 }; |
3048 int8 buf[256] = { 0, }; | 3008 VertexAttrib1fvImmediate& cmd = *GetBufferAs<VertexAttrib1fvImmediate>(); |
3049 VertexAttrib1fvImmediate& cmd = | |
3050 *static_cast<VertexAttrib1fvImmediate*>(static_cast<void*>(&buf)); | |
3051 void* next_cmd = cmd.Set( | 3009 void* next_cmd = cmd.Set( |
3052 &cmd, | 3010 &cmd, |
3053 static_cast<GLuint>(11), | 3011 static_cast<GLuint>(11), |
3054 data); | 3012 data); |
3055 EXPECT_EQ(static_cast<uint32>(VertexAttrib1fvImmediate::kCmdId), | 3013 EXPECT_EQ(static_cast<uint32>(VertexAttrib1fvImmediate::kCmdId), |
3056 cmd.header.command); | 3014 cmd.header.command); |
3057 EXPECT_EQ(sizeof(cmd) + | 3015 EXPECT_EQ(sizeof(cmd) + |
3058 RoundSizeToMultipleOfEntries(sizeof(data)), | 3016 RoundSizeToMultipleOfEntries(sizeof(data)), |
3059 cmd.header.size * 4u); | 3017 cmd.header.size * 4u); |
3060 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3061 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
3062 RoundSizeToMultipleOfEntries(sizeof(data))); | |
3063 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3018 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
| 3019 CheckBytesWrittenMatchesExpectedSize( |
| 3020 next_cmd, sizeof(cmd) + |
| 3021 RoundSizeToMultipleOfEntries(sizeof(data))); |
3064 // TODO(gman): Check that data was inserted; | 3022 // TODO(gman): Check that data was inserted; |
3065 } | 3023 } |
3066 | 3024 |
3067 TEST(GLES2FormatTest, VertexAttrib2f) { | 3025 TEST_F(GLES2FormatTest, VertexAttrib2f) { |
3068 VertexAttrib2f cmd = { { 0 } }; | 3026 VertexAttrib2f& cmd = *GetBufferAs<VertexAttrib2f>(); |
3069 void* next_cmd = cmd.Set( | 3027 void* next_cmd = cmd.Set( |
3070 &cmd, | 3028 &cmd, |
3071 static_cast<GLuint>(11), | 3029 static_cast<GLuint>(11), |
3072 static_cast<GLfloat>(12), | 3030 static_cast<GLfloat>(12), |
3073 static_cast<GLfloat>(13)); | 3031 static_cast<GLfloat>(13)); |
3074 EXPECT_EQ(static_cast<uint32>(VertexAttrib2f::kCmdId), | 3032 EXPECT_EQ(static_cast<uint32>(VertexAttrib2f::kCmdId), |
3075 cmd.header.command); | 3033 cmd.header.command); |
3076 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3034 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3077 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3078 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3079 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3035 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3080 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 3036 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
3081 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); | 3037 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); |
| 3038 CheckBytesWrittenMatchesExpectedSize( |
| 3039 next_cmd, sizeof(cmd)); |
3082 } | 3040 } |
3083 | 3041 |
3084 TEST(GLES2FormatTest, VertexAttrib2fv) { | 3042 TEST_F(GLES2FormatTest, VertexAttrib2fv) { |
3085 VertexAttrib2fv cmd = { { 0 } }; | 3043 VertexAttrib2fv& cmd = *GetBufferAs<VertexAttrib2fv>(); |
3086 void* next_cmd = cmd.Set( | 3044 void* next_cmd = cmd.Set( |
3087 &cmd, | 3045 &cmd, |
3088 static_cast<GLuint>(11), | 3046 static_cast<GLuint>(11), |
3089 static_cast<uint32>(12), | 3047 static_cast<uint32>(12), |
3090 static_cast<uint32>(13)); | 3048 static_cast<uint32>(13)); |
3091 EXPECT_EQ(static_cast<uint32>(VertexAttrib2fv::kCmdId), | 3049 EXPECT_EQ(static_cast<uint32>(VertexAttrib2fv::kCmdId), |
3092 cmd.header.command); | 3050 cmd.header.command); |
3093 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3051 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3094 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3095 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3096 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3052 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3097 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); | 3053 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); |
3098 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); | 3054 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); |
| 3055 CheckBytesWrittenMatchesExpectedSize( |
| 3056 next_cmd, sizeof(cmd)); |
3099 } | 3057 } |
3100 | 3058 |
3101 TEST(GLES2FormatTest, VertexAttrib2fvImmediate) { | 3059 TEST_F(GLES2FormatTest, VertexAttrib2fvImmediate) { |
3102 const int kSomeBaseValueToTestWith = 51; | 3060 const int kSomeBaseValueToTestWith = 51; |
3103 static GLfloat data[] = { | 3061 static GLfloat data[] = { |
3104 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 3062 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
3105 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 3063 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
3106 }; | 3064 }; |
3107 int8 buf[256] = { 0, }; | 3065 VertexAttrib2fvImmediate& cmd = *GetBufferAs<VertexAttrib2fvImmediate>(); |
3108 VertexAttrib2fvImmediate& cmd = | |
3109 *static_cast<VertexAttrib2fvImmediate*>(static_cast<void*>(&buf)); | |
3110 void* next_cmd = cmd.Set( | 3066 void* next_cmd = cmd.Set( |
3111 &cmd, | 3067 &cmd, |
3112 static_cast<GLuint>(11), | 3068 static_cast<GLuint>(11), |
3113 data); | 3069 data); |
3114 EXPECT_EQ(static_cast<uint32>(VertexAttrib2fvImmediate::kCmdId), | 3070 EXPECT_EQ(static_cast<uint32>(VertexAttrib2fvImmediate::kCmdId), |
3115 cmd.header.command); | 3071 cmd.header.command); |
3116 EXPECT_EQ(sizeof(cmd) + | 3072 EXPECT_EQ(sizeof(cmd) + |
3117 RoundSizeToMultipleOfEntries(sizeof(data)), | 3073 RoundSizeToMultipleOfEntries(sizeof(data)), |
3118 cmd.header.size * 4u); | 3074 cmd.header.size * 4u); |
3119 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3120 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
3121 RoundSizeToMultipleOfEntries(sizeof(data))); | |
3122 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3075 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
| 3076 CheckBytesWrittenMatchesExpectedSize( |
| 3077 next_cmd, sizeof(cmd) + |
| 3078 RoundSizeToMultipleOfEntries(sizeof(data))); |
3123 // TODO(gman): Check that data was inserted; | 3079 // TODO(gman): Check that data was inserted; |
3124 } | 3080 } |
3125 | 3081 |
3126 TEST(GLES2FormatTest, VertexAttrib3f) { | 3082 TEST_F(GLES2FormatTest, VertexAttrib3f) { |
3127 VertexAttrib3f cmd = { { 0 } }; | 3083 VertexAttrib3f& cmd = *GetBufferAs<VertexAttrib3f>(); |
3128 void* next_cmd = cmd.Set( | 3084 void* next_cmd = cmd.Set( |
3129 &cmd, | 3085 &cmd, |
3130 static_cast<GLuint>(11), | 3086 static_cast<GLuint>(11), |
3131 static_cast<GLfloat>(12), | 3087 static_cast<GLfloat>(12), |
3132 static_cast<GLfloat>(13), | 3088 static_cast<GLfloat>(13), |
3133 static_cast<GLfloat>(14)); | 3089 static_cast<GLfloat>(14)); |
3134 EXPECT_EQ(static_cast<uint32>(VertexAttrib3f::kCmdId), | 3090 EXPECT_EQ(static_cast<uint32>(VertexAttrib3f::kCmdId), |
3135 cmd.header.command); | 3091 cmd.header.command); |
3136 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3092 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3137 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3138 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3139 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3093 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3140 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 3094 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
3141 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); | 3095 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); |
3142 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); | 3096 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); |
| 3097 CheckBytesWrittenMatchesExpectedSize( |
| 3098 next_cmd, sizeof(cmd)); |
3143 } | 3099 } |
3144 | 3100 |
3145 TEST(GLES2FormatTest, VertexAttrib3fv) { | 3101 TEST_F(GLES2FormatTest, VertexAttrib3fv) { |
3146 VertexAttrib3fv cmd = { { 0 } }; | 3102 VertexAttrib3fv& cmd = *GetBufferAs<VertexAttrib3fv>(); |
3147 void* next_cmd = cmd.Set( | 3103 void* next_cmd = cmd.Set( |
3148 &cmd, | 3104 &cmd, |
3149 static_cast<GLuint>(11), | 3105 static_cast<GLuint>(11), |
3150 static_cast<uint32>(12), | 3106 static_cast<uint32>(12), |
3151 static_cast<uint32>(13)); | 3107 static_cast<uint32>(13)); |
3152 EXPECT_EQ(static_cast<uint32>(VertexAttrib3fv::kCmdId), | 3108 EXPECT_EQ(static_cast<uint32>(VertexAttrib3fv::kCmdId), |
3153 cmd.header.command); | 3109 cmd.header.command); |
3154 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3110 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3155 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3156 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3157 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3111 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3158 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); | 3112 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); |
3159 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); | 3113 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); |
| 3114 CheckBytesWrittenMatchesExpectedSize( |
| 3115 next_cmd, sizeof(cmd)); |
3160 } | 3116 } |
3161 | 3117 |
3162 TEST(GLES2FormatTest, VertexAttrib3fvImmediate) { | 3118 TEST_F(GLES2FormatTest, VertexAttrib3fvImmediate) { |
3163 const int kSomeBaseValueToTestWith = 51; | 3119 const int kSomeBaseValueToTestWith = 51; |
3164 static GLfloat data[] = { | 3120 static GLfloat data[] = { |
3165 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 3121 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
3166 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 3122 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
3167 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 3123 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
3168 }; | 3124 }; |
3169 int8 buf[256] = { 0, }; | 3125 VertexAttrib3fvImmediate& cmd = *GetBufferAs<VertexAttrib3fvImmediate>(); |
3170 VertexAttrib3fvImmediate& cmd = | |
3171 *static_cast<VertexAttrib3fvImmediate*>(static_cast<void*>(&buf)); | |
3172 void* next_cmd = cmd.Set( | 3126 void* next_cmd = cmd.Set( |
3173 &cmd, | 3127 &cmd, |
3174 static_cast<GLuint>(11), | 3128 static_cast<GLuint>(11), |
3175 data); | 3129 data); |
3176 EXPECT_EQ(static_cast<uint32>(VertexAttrib3fvImmediate::kCmdId), | 3130 EXPECT_EQ(static_cast<uint32>(VertexAttrib3fvImmediate::kCmdId), |
3177 cmd.header.command); | 3131 cmd.header.command); |
3178 EXPECT_EQ(sizeof(cmd) + | 3132 EXPECT_EQ(sizeof(cmd) + |
3179 RoundSizeToMultipleOfEntries(sizeof(data)), | 3133 RoundSizeToMultipleOfEntries(sizeof(data)), |
3180 cmd.header.size * 4u); | 3134 cmd.header.size * 4u); |
3181 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3182 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
3183 RoundSizeToMultipleOfEntries(sizeof(data))); | |
3184 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3135 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
| 3136 CheckBytesWrittenMatchesExpectedSize( |
| 3137 next_cmd, sizeof(cmd) + |
| 3138 RoundSizeToMultipleOfEntries(sizeof(data))); |
3185 // TODO(gman): Check that data was inserted; | 3139 // TODO(gman): Check that data was inserted; |
3186 } | 3140 } |
3187 | 3141 |
3188 TEST(GLES2FormatTest, VertexAttrib4f) { | 3142 TEST_F(GLES2FormatTest, VertexAttrib4f) { |
3189 VertexAttrib4f cmd = { { 0 } }; | 3143 VertexAttrib4f& cmd = *GetBufferAs<VertexAttrib4f>(); |
3190 void* next_cmd = cmd.Set( | 3144 void* next_cmd = cmd.Set( |
3191 &cmd, | 3145 &cmd, |
3192 static_cast<GLuint>(11), | 3146 static_cast<GLuint>(11), |
3193 static_cast<GLfloat>(12), | 3147 static_cast<GLfloat>(12), |
3194 static_cast<GLfloat>(13), | 3148 static_cast<GLfloat>(13), |
3195 static_cast<GLfloat>(14), | 3149 static_cast<GLfloat>(14), |
3196 static_cast<GLfloat>(15)); | 3150 static_cast<GLfloat>(15)); |
3197 EXPECT_EQ(static_cast<uint32>(VertexAttrib4f::kCmdId), | 3151 EXPECT_EQ(static_cast<uint32>(VertexAttrib4f::kCmdId), |
3198 cmd.header.command); | 3152 cmd.header.command); |
3199 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3153 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3200 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3201 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3202 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3154 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3203 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); | 3155 EXPECT_EQ(static_cast<GLfloat>(12), cmd.x); |
3204 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); | 3156 EXPECT_EQ(static_cast<GLfloat>(13), cmd.y); |
3205 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); | 3157 EXPECT_EQ(static_cast<GLfloat>(14), cmd.z); |
3206 EXPECT_EQ(static_cast<GLfloat>(15), cmd.w); | 3158 EXPECT_EQ(static_cast<GLfloat>(15), cmd.w); |
| 3159 CheckBytesWrittenMatchesExpectedSize( |
| 3160 next_cmd, sizeof(cmd)); |
3207 } | 3161 } |
3208 | 3162 |
3209 TEST(GLES2FormatTest, VertexAttrib4fv) { | 3163 TEST_F(GLES2FormatTest, VertexAttrib4fv) { |
3210 VertexAttrib4fv cmd = { { 0 } }; | 3164 VertexAttrib4fv& cmd = *GetBufferAs<VertexAttrib4fv>(); |
3211 void* next_cmd = cmd.Set( | 3165 void* next_cmd = cmd.Set( |
3212 &cmd, | 3166 &cmd, |
3213 static_cast<GLuint>(11), | 3167 static_cast<GLuint>(11), |
3214 static_cast<uint32>(12), | 3168 static_cast<uint32>(12), |
3215 static_cast<uint32>(13)); | 3169 static_cast<uint32>(13)); |
3216 EXPECT_EQ(static_cast<uint32>(VertexAttrib4fv::kCmdId), | 3170 EXPECT_EQ(static_cast<uint32>(VertexAttrib4fv::kCmdId), |
3217 cmd.header.command); | 3171 cmd.header.command); |
3218 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3172 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3219 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3220 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3221 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3173 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3222 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); | 3174 EXPECT_EQ(static_cast<uint32>(12), cmd.values_shm_id); |
3223 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); | 3175 EXPECT_EQ(static_cast<uint32>(13), cmd.values_shm_offset); |
| 3176 CheckBytesWrittenMatchesExpectedSize( |
| 3177 next_cmd, sizeof(cmd)); |
3224 } | 3178 } |
3225 | 3179 |
3226 TEST(GLES2FormatTest, VertexAttrib4fvImmediate) { | 3180 TEST_F(GLES2FormatTest, VertexAttrib4fvImmediate) { |
3227 const int kSomeBaseValueToTestWith = 51; | 3181 const int kSomeBaseValueToTestWith = 51; |
3228 static GLfloat data[] = { | 3182 static GLfloat data[] = { |
3229 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), | 3183 static_cast<GLfloat>(kSomeBaseValueToTestWith + 0), |
3230 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), | 3184 static_cast<GLfloat>(kSomeBaseValueToTestWith + 1), |
3231 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), | 3185 static_cast<GLfloat>(kSomeBaseValueToTestWith + 2), |
3232 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), | 3186 static_cast<GLfloat>(kSomeBaseValueToTestWith + 3), |
3233 }; | 3187 }; |
3234 int8 buf[256] = { 0, }; | 3188 VertexAttrib4fvImmediate& cmd = *GetBufferAs<VertexAttrib4fvImmediate>(); |
3235 VertexAttrib4fvImmediate& cmd = | |
3236 *static_cast<VertexAttrib4fvImmediate*>(static_cast<void*>(&buf)); | |
3237 void* next_cmd = cmd.Set( | 3189 void* next_cmd = cmd.Set( |
3238 &cmd, | 3190 &cmd, |
3239 static_cast<GLuint>(11), | 3191 static_cast<GLuint>(11), |
3240 data); | 3192 data); |
3241 EXPECT_EQ(static_cast<uint32>(VertexAttrib4fvImmediate::kCmdId), | 3193 EXPECT_EQ(static_cast<uint32>(VertexAttrib4fvImmediate::kCmdId), |
3242 cmd.header.command); | 3194 cmd.header.command); |
3243 EXPECT_EQ(sizeof(cmd) + | 3195 EXPECT_EQ(sizeof(cmd) + |
3244 RoundSizeToMultipleOfEntries(sizeof(data)), | 3196 RoundSizeToMultipleOfEntries(sizeof(data)), |
3245 cmd.header.size * 4u); | 3197 cmd.header.size * 4u); |
3246 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3247 reinterpret_cast<char*>(&cmd) + sizeof(cmd) + | |
3248 RoundSizeToMultipleOfEntries(sizeof(data))); | |
3249 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3198 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
| 3199 CheckBytesWrittenMatchesExpectedSize( |
| 3200 next_cmd, sizeof(cmd) + |
| 3201 RoundSizeToMultipleOfEntries(sizeof(data))); |
3250 // TODO(gman): Check that data was inserted; | 3202 // TODO(gman): Check that data was inserted; |
3251 } | 3203 } |
3252 | 3204 |
3253 TEST(GLES2FormatTest, VertexAttribPointer) { | 3205 TEST_F(GLES2FormatTest, VertexAttribPointer) { |
3254 VertexAttribPointer cmd = { { 0 } }; | 3206 VertexAttribPointer& cmd = *GetBufferAs<VertexAttribPointer>(); |
3255 void* next_cmd = cmd.Set( | 3207 void* next_cmd = cmd.Set( |
3256 &cmd, | 3208 &cmd, |
3257 static_cast<GLuint>(11), | 3209 static_cast<GLuint>(11), |
3258 static_cast<GLint>(12), | 3210 static_cast<GLint>(12), |
3259 static_cast<GLenum>(13), | 3211 static_cast<GLenum>(13), |
3260 static_cast<GLboolean>(14), | 3212 static_cast<GLboolean>(14), |
3261 static_cast<GLsizei>(15), | 3213 static_cast<GLsizei>(15), |
3262 static_cast<GLuint>(16)); | 3214 static_cast<GLuint>(16)); |
3263 EXPECT_EQ(static_cast<uint32>(VertexAttribPointer::kCmdId), | 3215 EXPECT_EQ(static_cast<uint32>(VertexAttribPointer::kCmdId), |
3264 cmd.header.command); | 3216 cmd.header.command); |
3265 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3217 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3266 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3267 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3268 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); | 3218 EXPECT_EQ(static_cast<GLuint>(11), cmd.indx); |
3269 EXPECT_EQ(static_cast<GLint>(12), cmd.size); | 3219 EXPECT_EQ(static_cast<GLint>(12), cmd.size); |
3270 EXPECT_EQ(static_cast<GLenum>(13), cmd.type); | 3220 EXPECT_EQ(static_cast<GLenum>(13), cmd.type); |
3271 EXPECT_EQ(static_cast<GLboolean>(14), cmd.normalized); | 3221 EXPECT_EQ(static_cast<GLboolean>(14), cmd.normalized); |
3272 EXPECT_EQ(static_cast<GLsizei>(15), cmd.stride); | 3222 EXPECT_EQ(static_cast<GLsizei>(15), cmd.stride); |
3273 EXPECT_EQ(static_cast<GLuint>(16), cmd.offset); | 3223 EXPECT_EQ(static_cast<GLuint>(16), cmd.offset); |
| 3224 CheckBytesWrittenMatchesExpectedSize( |
| 3225 next_cmd, sizeof(cmd)); |
3274 } | 3226 } |
3275 | 3227 |
3276 TEST(GLES2FormatTest, Viewport) { | 3228 TEST_F(GLES2FormatTest, Viewport) { |
3277 Viewport cmd = { { 0 } }; | 3229 Viewport& cmd = *GetBufferAs<Viewport>(); |
3278 void* next_cmd = cmd.Set( | 3230 void* next_cmd = cmd.Set( |
3279 &cmd, | 3231 &cmd, |
3280 static_cast<GLint>(11), | 3232 static_cast<GLint>(11), |
3281 static_cast<GLint>(12), | 3233 static_cast<GLint>(12), |
3282 static_cast<GLsizei>(13), | 3234 static_cast<GLsizei>(13), |
3283 static_cast<GLsizei>(14)); | 3235 static_cast<GLsizei>(14)); |
3284 EXPECT_EQ(static_cast<uint32>(Viewport::kCmdId), | 3236 EXPECT_EQ(static_cast<uint32>(Viewport::kCmdId), |
3285 cmd.header.command); | 3237 cmd.header.command); |
3286 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3238 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3287 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3288 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3289 EXPECT_EQ(static_cast<GLint>(11), cmd.x); | 3239 EXPECT_EQ(static_cast<GLint>(11), cmd.x); |
3290 EXPECT_EQ(static_cast<GLint>(12), cmd.y); | 3240 EXPECT_EQ(static_cast<GLint>(12), cmd.y); |
3291 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); | 3241 EXPECT_EQ(static_cast<GLsizei>(13), cmd.width); |
3292 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); | 3242 EXPECT_EQ(static_cast<GLsizei>(14), cmd.height); |
| 3243 CheckBytesWrittenMatchesExpectedSize( |
| 3244 next_cmd, sizeof(cmd)); |
3293 } | 3245 } |
3294 | 3246 |
3295 TEST(GLES2FormatTest, BlitFramebufferEXT) { | 3247 TEST_F(GLES2FormatTest, BlitFramebufferEXT) { |
3296 BlitFramebufferEXT cmd = { { 0 } }; | 3248 BlitFramebufferEXT& cmd = *GetBufferAs<BlitFramebufferEXT>(); |
3297 void* next_cmd = cmd.Set( | 3249 void* next_cmd = cmd.Set( |
3298 &cmd, | 3250 &cmd, |
3299 static_cast<GLint>(11), | 3251 static_cast<GLint>(11), |
3300 static_cast<GLint>(12), | 3252 static_cast<GLint>(12), |
3301 static_cast<GLint>(13), | 3253 static_cast<GLint>(13), |
3302 static_cast<GLint>(14), | 3254 static_cast<GLint>(14), |
3303 static_cast<GLint>(15), | 3255 static_cast<GLint>(15), |
3304 static_cast<GLint>(16), | 3256 static_cast<GLint>(16), |
3305 static_cast<GLint>(17), | 3257 static_cast<GLint>(17), |
3306 static_cast<GLint>(18), | 3258 static_cast<GLint>(18), |
3307 static_cast<GLbitfield>(19), | 3259 static_cast<GLbitfield>(19), |
3308 static_cast<GLenum>(20)); | 3260 static_cast<GLenum>(20)); |
3309 EXPECT_EQ(static_cast<uint32>(BlitFramebufferEXT::kCmdId), | 3261 EXPECT_EQ(static_cast<uint32>(BlitFramebufferEXT::kCmdId), |
3310 cmd.header.command); | 3262 cmd.header.command); |
3311 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3263 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3312 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3313 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3314 EXPECT_EQ(static_cast<GLint>(11), cmd.srcX0); | 3264 EXPECT_EQ(static_cast<GLint>(11), cmd.srcX0); |
3315 EXPECT_EQ(static_cast<GLint>(12), cmd.srcY0); | 3265 EXPECT_EQ(static_cast<GLint>(12), cmd.srcY0); |
3316 EXPECT_EQ(static_cast<GLint>(13), cmd.srcX1); | 3266 EXPECT_EQ(static_cast<GLint>(13), cmd.srcX1); |
3317 EXPECT_EQ(static_cast<GLint>(14), cmd.srcY1); | 3267 EXPECT_EQ(static_cast<GLint>(14), cmd.srcY1); |
3318 EXPECT_EQ(static_cast<GLint>(15), cmd.dstX0); | 3268 EXPECT_EQ(static_cast<GLint>(15), cmd.dstX0); |
3319 EXPECT_EQ(static_cast<GLint>(16), cmd.dstY0); | 3269 EXPECT_EQ(static_cast<GLint>(16), cmd.dstY0); |
3320 EXPECT_EQ(static_cast<GLint>(17), cmd.dstX1); | 3270 EXPECT_EQ(static_cast<GLint>(17), cmd.dstX1); |
3321 EXPECT_EQ(static_cast<GLint>(18), cmd.dstY1); | 3271 EXPECT_EQ(static_cast<GLint>(18), cmd.dstY1); |
3322 EXPECT_EQ(static_cast<GLbitfield>(19), cmd.mask); | 3272 EXPECT_EQ(static_cast<GLbitfield>(19), cmd.mask); |
3323 EXPECT_EQ(static_cast<GLenum>(20), cmd.filter); | 3273 EXPECT_EQ(static_cast<GLenum>(20), cmd.filter); |
| 3274 CheckBytesWrittenMatchesExpectedSize( |
| 3275 next_cmd, sizeof(cmd)); |
3324 } | 3276 } |
3325 | 3277 |
3326 TEST(GLES2FormatTest, RenderbufferStorageMultisampleEXT) { | 3278 TEST_F(GLES2FormatTest, RenderbufferStorageMultisampleEXT) { |
3327 RenderbufferStorageMultisampleEXT cmd = { { 0 } }; | 3279 RenderbufferStorageMultisampleEXT& cmd = |
| 3280 *GetBufferAs<RenderbufferStorageMultisampleEXT>(); |
3328 void* next_cmd = cmd.Set( | 3281 void* next_cmd = cmd.Set( |
3329 &cmd, | 3282 &cmd, |
3330 static_cast<GLenum>(11), | 3283 static_cast<GLenum>(11), |
3331 static_cast<GLsizei>(12), | 3284 static_cast<GLsizei>(12), |
3332 static_cast<GLenum>(13), | 3285 static_cast<GLenum>(13), |
3333 static_cast<GLsizei>(14), | 3286 static_cast<GLsizei>(14), |
3334 static_cast<GLsizei>(15)); | 3287 static_cast<GLsizei>(15)); |
3335 EXPECT_EQ(static_cast<uint32>(RenderbufferStorageMultisampleEXT::kCmdId), | 3288 EXPECT_EQ(static_cast<uint32>(RenderbufferStorageMultisampleEXT::kCmdId), |
3336 cmd.header.command); | 3289 cmd.header.command); |
3337 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3290 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3338 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3339 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3340 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); | 3291 EXPECT_EQ(static_cast<GLenum>(11), cmd.target); |
3341 EXPECT_EQ(static_cast<GLsizei>(12), cmd.samples); | 3292 EXPECT_EQ(static_cast<GLsizei>(12), cmd.samples); |
3342 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); | 3293 EXPECT_EQ(static_cast<GLenum>(13), cmd.internalformat); |
3343 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); | 3294 EXPECT_EQ(static_cast<GLsizei>(14), cmd.width); |
3344 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); | 3295 EXPECT_EQ(static_cast<GLsizei>(15), cmd.height); |
| 3296 CheckBytesWrittenMatchesExpectedSize( |
| 3297 next_cmd, sizeof(cmd)); |
3345 } | 3298 } |
3346 | 3299 |
3347 TEST(GLES2FormatTest, SwapBuffers) { | 3300 TEST_F(GLES2FormatTest, SwapBuffers) { |
3348 SwapBuffers cmd = { { 0 } }; | 3301 SwapBuffers& cmd = *GetBufferAs<SwapBuffers>(); |
3349 void* next_cmd = cmd.Set( | 3302 void* next_cmd = cmd.Set( |
3350 &cmd); | 3303 &cmd); |
3351 EXPECT_EQ(static_cast<uint32>(SwapBuffers::kCmdId), | 3304 EXPECT_EQ(static_cast<uint32>(SwapBuffers::kCmdId), |
3352 cmd.header.command); | 3305 cmd.header.command); |
3353 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3306 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3354 EXPECT_EQ(static_cast<char*>(next_cmd), | 3307 CheckBytesWrittenMatchesExpectedSize( |
3355 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 3308 next_cmd, sizeof(cmd)); |
3356 } | 3309 } |
3357 | 3310 |
3358 TEST(GLES2FormatTest, GetMaxValueInBufferCHROMIUM) { | 3311 TEST_F(GLES2FormatTest, GetMaxValueInBufferCHROMIUM) { |
3359 GetMaxValueInBufferCHROMIUM cmd = { { 0 } }; | 3312 GetMaxValueInBufferCHROMIUM& cmd = |
| 3313 *GetBufferAs<GetMaxValueInBufferCHROMIUM>(); |
3360 void* next_cmd = cmd.Set( | 3314 void* next_cmd = cmd.Set( |
3361 &cmd, | 3315 &cmd, |
3362 static_cast<GLuint>(11), | 3316 static_cast<GLuint>(11), |
3363 static_cast<GLsizei>(12), | 3317 static_cast<GLsizei>(12), |
3364 static_cast<GLenum>(13), | 3318 static_cast<GLenum>(13), |
3365 static_cast<GLuint>(14), | 3319 static_cast<GLuint>(14), |
3366 static_cast<uint32>(15), | 3320 static_cast<uint32>(15), |
3367 static_cast<uint32>(16)); | 3321 static_cast<uint32>(16)); |
3368 EXPECT_EQ(static_cast<uint32>(GetMaxValueInBufferCHROMIUM::kCmdId), | 3322 EXPECT_EQ(static_cast<uint32>(GetMaxValueInBufferCHROMIUM::kCmdId), |
3369 cmd.header.command); | 3323 cmd.header.command); |
3370 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3324 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3371 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3372 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3373 EXPECT_EQ(static_cast<GLuint>(11), cmd.buffer_id); | 3325 EXPECT_EQ(static_cast<GLuint>(11), cmd.buffer_id); |
3374 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); | 3326 EXPECT_EQ(static_cast<GLsizei>(12), cmd.count); |
3375 EXPECT_EQ(static_cast<GLenum>(13), cmd.type); | 3327 EXPECT_EQ(static_cast<GLenum>(13), cmd.type); |
3376 EXPECT_EQ(static_cast<GLuint>(14), cmd.offset); | 3328 EXPECT_EQ(static_cast<GLuint>(14), cmd.offset); |
3377 EXPECT_EQ(static_cast<uint32>(15), cmd.result_shm_id); | 3329 EXPECT_EQ(static_cast<uint32>(15), cmd.result_shm_id); |
3378 EXPECT_EQ(static_cast<uint32>(16), cmd.result_shm_offset); | 3330 EXPECT_EQ(static_cast<uint32>(16), cmd.result_shm_offset); |
| 3331 CheckBytesWrittenMatchesExpectedSize( |
| 3332 next_cmd, sizeof(cmd)); |
3379 } | 3333 } |
3380 | 3334 |
3381 TEST(GLES2FormatTest, GenSharedIdsCHROMIUM) { | 3335 TEST_F(GLES2FormatTest, GenSharedIdsCHROMIUM) { |
3382 GenSharedIdsCHROMIUM cmd = { { 0 } }; | 3336 GenSharedIdsCHROMIUM& cmd = *GetBufferAs<GenSharedIdsCHROMIUM>(); |
3383 void* next_cmd = cmd.Set( | 3337 void* next_cmd = cmd.Set( |
3384 &cmd, | 3338 &cmd, |
3385 static_cast<GLuint>(11), | 3339 static_cast<GLuint>(11), |
3386 static_cast<GLuint>(12), | 3340 static_cast<GLuint>(12), |
3387 static_cast<GLsizei>(13), | 3341 static_cast<GLsizei>(13), |
3388 static_cast<uint32>(14), | 3342 static_cast<uint32>(14), |
3389 static_cast<uint32>(15)); | 3343 static_cast<uint32>(15)); |
3390 EXPECT_EQ(static_cast<uint32>(GenSharedIdsCHROMIUM::kCmdId), | 3344 EXPECT_EQ(static_cast<uint32>(GenSharedIdsCHROMIUM::kCmdId), |
3391 cmd.header.command); | 3345 cmd.header.command); |
3392 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3346 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3393 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3394 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3395 EXPECT_EQ(static_cast<GLuint>(11), cmd.namespace_id); | 3347 EXPECT_EQ(static_cast<GLuint>(11), cmd.namespace_id); |
3396 EXPECT_EQ(static_cast<GLuint>(12), cmd.id_offset); | 3348 EXPECT_EQ(static_cast<GLuint>(12), cmd.id_offset); |
3397 EXPECT_EQ(static_cast<GLsizei>(13), cmd.n); | 3349 EXPECT_EQ(static_cast<GLsizei>(13), cmd.n); |
3398 EXPECT_EQ(static_cast<uint32>(14), cmd.ids_shm_id); | 3350 EXPECT_EQ(static_cast<uint32>(14), cmd.ids_shm_id); |
3399 EXPECT_EQ(static_cast<uint32>(15), cmd.ids_shm_offset); | 3351 EXPECT_EQ(static_cast<uint32>(15), cmd.ids_shm_offset); |
| 3352 CheckBytesWrittenMatchesExpectedSize( |
| 3353 next_cmd, sizeof(cmd)); |
3400 } | 3354 } |
3401 | 3355 |
3402 TEST(GLES2FormatTest, DeleteSharedIdsCHROMIUM) { | 3356 TEST_F(GLES2FormatTest, DeleteSharedIdsCHROMIUM) { |
3403 DeleteSharedIdsCHROMIUM cmd = { { 0 } }; | 3357 DeleteSharedIdsCHROMIUM& cmd = *GetBufferAs<DeleteSharedIdsCHROMIUM>(); |
3404 void* next_cmd = cmd.Set( | 3358 void* next_cmd = cmd.Set( |
3405 &cmd, | 3359 &cmd, |
3406 static_cast<GLuint>(11), | 3360 static_cast<GLuint>(11), |
3407 static_cast<GLsizei>(12), | 3361 static_cast<GLsizei>(12), |
3408 static_cast<uint32>(13), | 3362 static_cast<uint32>(13), |
3409 static_cast<uint32>(14)); | 3363 static_cast<uint32>(14)); |
3410 EXPECT_EQ(static_cast<uint32>(DeleteSharedIdsCHROMIUM::kCmdId), | 3364 EXPECT_EQ(static_cast<uint32>(DeleteSharedIdsCHROMIUM::kCmdId), |
3411 cmd.header.command); | 3365 cmd.header.command); |
3412 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3366 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3413 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3414 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3415 EXPECT_EQ(static_cast<GLuint>(11), cmd.namespace_id); | 3367 EXPECT_EQ(static_cast<GLuint>(11), cmd.namespace_id); |
3416 EXPECT_EQ(static_cast<GLsizei>(12), cmd.n); | 3368 EXPECT_EQ(static_cast<GLsizei>(12), cmd.n); |
3417 EXPECT_EQ(static_cast<uint32>(13), cmd.ids_shm_id); | 3369 EXPECT_EQ(static_cast<uint32>(13), cmd.ids_shm_id); |
3418 EXPECT_EQ(static_cast<uint32>(14), cmd.ids_shm_offset); | 3370 EXPECT_EQ(static_cast<uint32>(14), cmd.ids_shm_offset); |
| 3371 CheckBytesWrittenMatchesExpectedSize( |
| 3372 next_cmd, sizeof(cmd)); |
3419 } | 3373 } |
3420 | 3374 |
3421 TEST(GLES2FormatTest, RegisterSharedIdsCHROMIUM) { | 3375 TEST_F(GLES2FormatTest, RegisterSharedIdsCHROMIUM) { |
3422 RegisterSharedIdsCHROMIUM cmd = { { 0 } }; | 3376 RegisterSharedIdsCHROMIUM& cmd = *GetBufferAs<RegisterSharedIdsCHROMIUM>(); |
3423 void* next_cmd = cmd.Set( | 3377 void* next_cmd = cmd.Set( |
3424 &cmd, | 3378 &cmd, |
3425 static_cast<GLuint>(11), | 3379 static_cast<GLuint>(11), |
3426 static_cast<GLsizei>(12), | 3380 static_cast<GLsizei>(12), |
3427 static_cast<uint32>(13), | 3381 static_cast<uint32>(13), |
3428 static_cast<uint32>(14)); | 3382 static_cast<uint32>(14)); |
3429 EXPECT_EQ(static_cast<uint32>(RegisterSharedIdsCHROMIUM::kCmdId), | 3383 EXPECT_EQ(static_cast<uint32>(RegisterSharedIdsCHROMIUM::kCmdId), |
3430 cmd.header.command); | 3384 cmd.header.command); |
3431 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3385 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3432 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3433 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3434 EXPECT_EQ(static_cast<GLuint>(11), cmd.namespace_id); | 3386 EXPECT_EQ(static_cast<GLuint>(11), cmd.namespace_id); |
3435 EXPECT_EQ(static_cast<GLsizei>(12), cmd.n); | 3387 EXPECT_EQ(static_cast<GLsizei>(12), cmd.n); |
3436 EXPECT_EQ(static_cast<uint32>(13), cmd.ids_shm_id); | 3388 EXPECT_EQ(static_cast<uint32>(13), cmd.ids_shm_id); |
3437 EXPECT_EQ(static_cast<uint32>(14), cmd.ids_shm_offset); | 3389 EXPECT_EQ(static_cast<uint32>(14), cmd.ids_shm_offset); |
| 3390 CheckBytesWrittenMatchesExpectedSize( |
| 3391 next_cmd, sizeof(cmd)); |
3438 } | 3392 } |
3439 | 3393 |
3440 TEST(GLES2FormatTest, EnableFeatureCHROMIUM) { | 3394 TEST_F(GLES2FormatTest, EnableFeatureCHROMIUM) { |
3441 EnableFeatureCHROMIUM cmd = { { 0 } }; | 3395 EnableFeatureCHROMIUM& cmd = *GetBufferAs<EnableFeatureCHROMIUM>(); |
3442 void* next_cmd = cmd.Set( | 3396 void* next_cmd = cmd.Set( |
3443 &cmd, | 3397 &cmd, |
3444 static_cast<GLuint>(11), | 3398 static_cast<GLuint>(11), |
3445 static_cast<uint32>(12), | 3399 static_cast<uint32>(12), |
3446 static_cast<uint32>(13)); | 3400 static_cast<uint32>(13)); |
3447 EXPECT_EQ(static_cast<uint32>(EnableFeatureCHROMIUM::kCmdId), | 3401 EXPECT_EQ(static_cast<uint32>(EnableFeatureCHROMIUM::kCmdId), |
3448 cmd.header.command); | 3402 cmd.header.command); |
3449 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3403 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3450 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3451 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3452 EXPECT_EQ(static_cast<GLuint>(11), cmd.bucket_id); | 3404 EXPECT_EQ(static_cast<GLuint>(11), cmd.bucket_id); |
3453 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); | 3405 EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id); |
3454 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); | 3406 EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset); |
| 3407 CheckBytesWrittenMatchesExpectedSize( |
| 3408 next_cmd, sizeof(cmd)); |
3455 } | 3409 } |
3456 | 3410 |
3457 TEST(GLES2FormatTest, ResizeCHROMIUM) { | 3411 TEST_F(GLES2FormatTest, ResizeCHROMIUM) { |
3458 ResizeCHROMIUM cmd = { { 0 } }; | 3412 ResizeCHROMIUM& cmd = *GetBufferAs<ResizeCHROMIUM>(); |
3459 void* next_cmd = cmd.Set( | 3413 void* next_cmd = cmd.Set( |
3460 &cmd, | 3414 &cmd, |
3461 static_cast<GLuint>(11), | 3415 static_cast<GLuint>(11), |
3462 static_cast<GLuint>(12)); | 3416 static_cast<GLuint>(12)); |
3463 EXPECT_EQ(static_cast<uint32>(ResizeCHROMIUM::kCmdId), | 3417 EXPECT_EQ(static_cast<uint32>(ResizeCHROMIUM::kCmdId), |
3464 cmd.header.command); | 3418 cmd.header.command); |
3465 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3419 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3466 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3467 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3468 EXPECT_EQ(static_cast<GLuint>(11), cmd.width); | 3420 EXPECT_EQ(static_cast<GLuint>(11), cmd.width); |
3469 EXPECT_EQ(static_cast<GLuint>(12), cmd.height); | 3421 EXPECT_EQ(static_cast<GLuint>(12), cmd.height); |
| 3422 CheckBytesWrittenMatchesExpectedSize( |
| 3423 next_cmd, sizeof(cmd)); |
3470 } | 3424 } |
3471 | 3425 |
3472 TEST(GLES2FormatTest, GetRequestableExtensionsCHROMIUM) { | 3426 TEST_F(GLES2FormatTest, GetRequestableExtensionsCHROMIUM) { |
3473 GetRequestableExtensionsCHROMIUM cmd = { { 0 } }; | 3427 GetRequestableExtensionsCHROMIUM& cmd = |
| 3428 *GetBufferAs<GetRequestableExtensionsCHROMIUM>(); |
3474 void* next_cmd = cmd.Set( | 3429 void* next_cmd = cmd.Set( |
3475 &cmd, | 3430 &cmd, |
3476 static_cast<uint32>(11)); | 3431 static_cast<uint32>(11)); |
3477 EXPECT_EQ(static_cast<uint32>(GetRequestableExtensionsCHROMIUM::kCmdId), | 3432 EXPECT_EQ(static_cast<uint32>(GetRequestableExtensionsCHROMIUM::kCmdId), |
3478 cmd.header.command); | 3433 cmd.header.command); |
3479 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3434 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3480 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3481 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3482 EXPECT_EQ(static_cast<uint32>(11), cmd.bucket_id); | 3435 EXPECT_EQ(static_cast<uint32>(11), cmd.bucket_id); |
| 3436 CheckBytesWrittenMatchesExpectedSize( |
| 3437 next_cmd, sizeof(cmd)); |
3483 } | 3438 } |
3484 | 3439 |
3485 TEST(GLES2FormatTest, RequestExtensionCHROMIUM) { | 3440 TEST_F(GLES2FormatTest, RequestExtensionCHROMIUM) { |
3486 RequestExtensionCHROMIUM cmd = { { 0 } }; | 3441 RequestExtensionCHROMIUM& cmd = *GetBufferAs<RequestExtensionCHROMIUM>(); |
3487 void* next_cmd = cmd.Set( | 3442 void* next_cmd = cmd.Set( |
3488 &cmd, | 3443 &cmd, |
3489 static_cast<uint32>(11)); | 3444 static_cast<uint32>(11)); |
3490 EXPECT_EQ(static_cast<uint32>(RequestExtensionCHROMIUM::kCmdId), | 3445 EXPECT_EQ(static_cast<uint32>(RequestExtensionCHROMIUM::kCmdId), |
3491 cmd.header.command); | 3446 cmd.header.command); |
3492 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3447 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3493 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3494 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3495 EXPECT_EQ(static_cast<uint32>(11), cmd.bucket_id); | 3448 EXPECT_EQ(static_cast<uint32>(11), cmd.bucket_id); |
| 3449 CheckBytesWrittenMatchesExpectedSize( |
| 3450 next_cmd, sizeof(cmd)); |
3496 } | 3451 } |
3497 | 3452 |
3498 TEST(GLES2FormatTest, GetMultipleIntegervCHROMIUM) { | 3453 TEST_F(GLES2FormatTest, GetMultipleIntegervCHROMIUM) { |
3499 GetMultipleIntegervCHROMIUM cmd = { { 0 } }; | 3454 GetMultipleIntegervCHROMIUM& cmd = |
| 3455 *GetBufferAs<GetMultipleIntegervCHROMIUM>(); |
3500 void* next_cmd = cmd.Set( | 3456 void* next_cmd = cmd.Set( |
3501 &cmd, | 3457 &cmd, |
3502 static_cast<uint32>(11), | 3458 static_cast<uint32>(11), |
3503 static_cast<uint32>(12), | 3459 static_cast<uint32>(12), |
3504 static_cast<GLuint>(13), | 3460 static_cast<GLuint>(13), |
3505 static_cast<uint32>(14), | 3461 static_cast<uint32>(14), |
3506 static_cast<uint32>(15), | 3462 static_cast<uint32>(15), |
3507 static_cast<GLsizeiptr>(16)); | 3463 static_cast<GLsizeiptr>(16)); |
3508 EXPECT_EQ(static_cast<uint32>(GetMultipleIntegervCHROMIUM::kCmdId), | 3464 EXPECT_EQ(static_cast<uint32>(GetMultipleIntegervCHROMIUM::kCmdId), |
3509 cmd.header.command); | 3465 cmd.header.command); |
3510 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3466 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3511 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3512 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3513 EXPECT_EQ(static_cast<uint32>(11), cmd.pnames_shm_id); | 3467 EXPECT_EQ(static_cast<uint32>(11), cmd.pnames_shm_id); |
3514 EXPECT_EQ(static_cast<uint32>(12), cmd.pnames_shm_offset); | 3468 EXPECT_EQ(static_cast<uint32>(12), cmd.pnames_shm_offset); |
3515 EXPECT_EQ(static_cast<GLuint>(13), cmd.count); | 3469 EXPECT_EQ(static_cast<GLuint>(13), cmd.count); |
3516 EXPECT_EQ(static_cast<uint32>(14), cmd.results_shm_id); | 3470 EXPECT_EQ(static_cast<uint32>(14), cmd.results_shm_id); |
3517 EXPECT_EQ(static_cast<uint32>(15), cmd.results_shm_offset); | 3471 EXPECT_EQ(static_cast<uint32>(15), cmd.results_shm_offset); |
3518 EXPECT_EQ(static_cast<GLsizeiptr>(16), cmd.size); | 3472 EXPECT_EQ(static_cast<GLsizeiptr>(16), cmd.size); |
| 3473 CheckBytesWrittenMatchesExpectedSize( |
| 3474 next_cmd, sizeof(cmd)); |
3519 } | 3475 } |
3520 | 3476 |
3521 TEST(GLES2FormatTest, GetProgramInfoCHROMIUM) { | 3477 TEST_F(GLES2FormatTest, GetProgramInfoCHROMIUM) { |
3522 GetProgramInfoCHROMIUM cmd = { { 0 } }; | 3478 GetProgramInfoCHROMIUM& cmd = *GetBufferAs<GetProgramInfoCHROMIUM>(); |
3523 void* next_cmd = cmd.Set( | 3479 void* next_cmd = cmd.Set( |
3524 &cmd, | 3480 &cmd, |
3525 static_cast<GLuint>(11), | 3481 static_cast<GLuint>(11), |
3526 static_cast<uint32>(12)); | 3482 static_cast<uint32>(12)); |
3527 EXPECT_EQ(static_cast<uint32>(GetProgramInfoCHROMIUM::kCmdId), | 3483 EXPECT_EQ(static_cast<uint32>(GetProgramInfoCHROMIUM::kCmdId), |
3528 cmd.header.command); | 3484 cmd.header.command); |
3529 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3485 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3530 EXPECT_EQ(static_cast<char*>(next_cmd), | |
3531 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | |
3532 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); | 3486 EXPECT_EQ(static_cast<GLuint>(11), cmd.program); |
3533 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); | 3487 EXPECT_EQ(static_cast<uint32>(12), cmd.bucket_id); |
| 3488 CheckBytesWrittenMatchesExpectedSize( |
| 3489 next_cmd, sizeof(cmd)); |
3534 } | 3490 } |
3535 | 3491 |
3536 TEST(GLES2FormatTest, Placeholder447CHROMIUM) { | 3492 TEST_F(GLES2FormatTest, Placeholder447CHROMIUM) { |
3537 Placeholder447CHROMIUM cmd = { { 0 } }; | 3493 Placeholder447CHROMIUM& cmd = *GetBufferAs<Placeholder447CHROMIUM>(); |
3538 void* next_cmd = cmd.Set( | 3494 void* next_cmd = cmd.Set( |
3539 &cmd); | 3495 &cmd); |
3540 EXPECT_EQ(static_cast<uint32>(Placeholder447CHROMIUM::kCmdId), | 3496 EXPECT_EQ(static_cast<uint32>(Placeholder447CHROMIUM::kCmdId), |
3541 cmd.header.command); | 3497 cmd.header.command); |
3542 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3498 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3543 EXPECT_EQ(static_cast<char*>(next_cmd), | 3499 CheckBytesWrittenMatchesExpectedSize( |
3544 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 3500 next_cmd, sizeof(cmd)); |
3545 } | 3501 } |
3546 | 3502 |
3547 TEST(GLES2FormatTest, Placeholder451CHROMIUM) { | 3503 TEST_F(GLES2FormatTest, Placeholder451CHROMIUM) { |
3548 Placeholder451CHROMIUM cmd = { { 0 } }; | 3504 Placeholder451CHROMIUM& cmd = *GetBufferAs<Placeholder451CHROMIUM>(); |
3549 void* next_cmd = cmd.Set( | 3505 void* next_cmd = cmd.Set( |
3550 &cmd); | 3506 &cmd); |
3551 EXPECT_EQ(static_cast<uint32>(Placeholder451CHROMIUM::kCmdId), | 3507 EXPECT_EQ(static_cast<uint32>(Placeholder451CHROMIUM::kCmdId), |
3552 cmd.header.command); | 3508 cmd.header.command); |
3553 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3509 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3554 EXPECT_EQ(static_cast<char*>(next_cmd), | 3510 CheckBytesWrittenMatchesExpectedSize( |
3555 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 3511 next_cmd, sizeof(cmd)); |
3556 } | 3512 } |
3557 | 3513 |
3558 TEST(GLES2FormatTest, Placeholder452CHROMIUM) { | 3514 TEST_F(GLES2FormatTest, Placeholder452CHROMIUM) { |
3559 Placeholder452CHROMIUM cmd = { { 0 } }; | 3515 Placeholder452CHROMIUM& cmd = *GetBufferAs<Placeholder452CHROMIUM>(); |
3560 void* next_cmd = cmd.Set( | 3516 void* next_cmd = cmd.Set( |
3561 &cmd); | 3517 &cmd); |
3562 EXPECT_EQ(static_cast<uint32>(Placeholder452CHROMIUM::kCmdId), | 3518 EXPECT_EQ(static_cast<uint32>(Placeholder452CHROMIUM::kCmdId), |
3563 cmd.header.command); | 3519 cmd.header.command); |
3564 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3520 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3565 EXPECT_EQ(static_cast<char*>(next_cmd), | 3521 CheckBytesWrittenMatchesExpectedSize( |
3566 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 3522 next_cmd, sizeof(cmd)); |
3567 } | 3523 } |
3568 | 3524 |
3569 TEST(GLES2FormatTest, Placeholder453CHROMIUM) { | 3525 TEST_F(GLES2FormatTest, Placeholder453CHROMIUM) { |
3570 Placeholder453CHROMIUM cmd = { { 0 } }; | 3526 Placeholder453CHROMIUM& cmd = *GetBufferAs<Placeholder453CHROMIUM>(); |
3571 void* next_cmd = cmd.Set( | 3527 void* next_cmd = cmd.Set( |
3572 &cmd); | 3528 &cmd); |
3573 EXPECT_EQ(static_cast<uint32>(Placeholder453CHROMIUM::kCmdId), | 3529 EXPECT_EQ(static_cast<uint32>(Placeholder453CHROMIUM::kCmdId), |
3574 cmd.header.command); | 3530 cmd.header.command); |
3575 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); | 3531 EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u); |
3576 EXPECT_EQ(static_cast<char*>(next_cmd), | 3532 CheckBytesWrittenMatchesExpectedSize( |
3577 reinterpret_cast<char*>(&cmd) + sizeof(cmd)); | 3533 next_cmd, sizeof(cmd)); |
3578 } | 3534 } |
3579 | 3535 |
3580 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_ | 3536 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_ |
3581 | 3537 |
OLD | NEW |