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