OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 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 // It's formatted by clang-format using chromium coding style: | 7 // It's formatted by clang-format using chromium coding style: |
8 // clang-format -i -style=chromium filename | 8 // clang-format -i -style=chromium filename |
9 // DO NOT EDIT! | 9 // DO NOT EDIT! |
10 | 10 |
11 // It is included by gles2_cmd_decoder_unittest_2.cc | 11 // It is included by gles2_cmd_decoder_unittest_2.cc |
12 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 12 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
13 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 13 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
14 | 14 |
15 TEST_F(GLES2DecoderTest2, IsRenderbufferValidArgs) { | 15 TEST_P(GLES2DecoderTest2, IsRenderbufferValidArgs) { |
16 SpecializedSetup<cmds::IsRenderbuffer, 0>(true); | 16 SpecializedSetup<cmds::IsRenderbuffer, 0>(true); |
17 cmds::IsRenderbuffer cmd; | 17 cmds::IsRenderbuffer cmd; |
18 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); | 18 cmd.Init(client_renderbuffer_id_, shared_memory_id_, shared_memory_offset_); |
19 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 19 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
20 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 20 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
21 } | 21 } |
22 | 22 |
23 TEST_F(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { | 23 TEST_P(GLES2DecoderTest2, IsRenderbufferInvalidArgsBadSharedMemoryId) { |
24 SpecializedSetup<cmds::IsRenderbuffer, 0>(false); | 24 SpecializedSetup<cmds::IsRenderbuffer, 0>(false); |
25 cmds::IsRenderbuffer cmd; | 25 cmds::IsRenderbuffer cmd; |
26 cmd.Init( | 26 cmd.Init( |
27 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 27 client_renderbuffer_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
28 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 28 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
29 cmd.Init( | 29 cmd.Init( |
30 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 30 client_renderbuffer_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
31 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 31 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
32 } | 32 } |
33 | 33 |
34 TEST_F(GLES2DecoderTest2, IsShaderValidArgs) { | 34 TEST_P(GLES2DecoderTest2, IsShaderValidArgs) { |
35 SpecializedSetup<cmds::IsShader, 0>(true); | 35 SpecializedSetup<cmds::IsShader, 0>(true); |
36 cmds::IsShader cmd; | 36 cmds::IsShader cmd; |
37 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); | 37 cmd.Init(client_shader_id_, shared_memory_id_, shared_memory_offset_); |
38 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 38 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
39 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 39 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
40 } | 40 } |
41 | 41 |
42 TEST_F(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { | 42 TEST_P(GLES2DecoderTest2, IsShaderInvalidArgsBadSharedMemoryId) { |
43 SpecializedSetup<cmds::IsShader, 0>(false); | 43 SpecializedSetup<cmds::IsShader, 0>(false); |
44 cmds::IsShader cmd; | 44 cmds::IsShader cmd; |
45 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 45 cmd.Init(client_shader_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
46 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 46 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
47 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 47 cmd.Init(client_shader_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
48 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 48 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
49 } | 49 } |
50 | 50 |
51 TEST_F(GLES2DecoderTest2, IsTextureValidArgs) { | 51 TEST_P(GLES2DecoderTest2, IsTextureValidArgs) { |
52 SpecializedSetup<cmds::IsTexture, 0>(true); | 52 SpecializedSetup<cmds::IsTexture, 0>(true); |
53 cmds::IsTexture cmd; | 53 cmds::IsTexture cmd; |
54 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); | 54 cmd.Init(client_texture_id_, shared_memory_id_, shared_memory_offset_); |
55 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 55 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
56 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 56 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
57 } | 57 } |
58 | 58 |
59 TEST_F(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { | 59 TEST_P(GLES2DecoderTest2, IsTextureInvalidArgsBadSharedMemoryId) { |
60 SpecializedSetup<cmds::IsTexture, 0>(false); | 60 SpecializedSetup<cmds::IsTexture, 0>(false); |
61 cmds::IsTexture cmd; | 61 cmds::IsTexture cmd; |
62 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); | 62 cmd.Init(client_texture_id_, kInvalidSharedMemoryId, shared_memory_offset_); |
63 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 63 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
64 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); | 64 cmd.Init(client_texture_id_, shared_memory_id_, kInvalidSharedMemoryOffset); |
65 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 65 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
66 } | 66 } |
67 | 67 |
68 TEST_F(GLES2DecoderTest2, LineWidthValidArgs) { | 68 TEST_P(GLES2DecoderTest2, LineWidthValidArgs) { |
69 EXPECT_CALL(*gl_, LineWidth(0.5f)); | 69 EXPECT_CALL(*gl_, LineWidth(0.5f)); |
70 SpecializedSetup<cmds::LineWidth, 0>(true); | 70 SpecializedSetup<cmds::LineWidth, 0>(true); |
71 cmds::LineWidth cmd; | 71 cmds::LineWidth cmd; |
72 cmd.Init(0.5f); | 72 cmd.Init(0.5f); |
73 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 73 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
74 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 74 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
75 } | 75 } |
76 | 76 |
77 TEST_F(GLES2DecoderTest2, LineWidthInvalidValue0_0) { | 77 TEST_P(GLES2DecoderTest2, LineWidthInvalidValue0_0) { |
78 SpecializedSetup<cmds::LineWidth, 0>(false); | 78 SpecializedSetup<cmds::LineWidth, 0>(false); |
79 cmds::LineWidth cmd; | 79 cmds::LineWidth cmd; |
80 cmd.Init(0.0f); | 80 cmd.Init(0.0f); |
81 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 81 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
82 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 82 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
83 } | 83 } |
84 | 84 |
85 TEST_F(GLES2DecoderTest2, LinkProgramValidArgs) { | 85 TEST_P(GLES2DecoderTest2, LinkProgramValidArgs) { |
86 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); | 86 EXPECT_CALL(*gl_, LinkProgram(kServiceProgramId)); |
87 SpecializedSetup<cmds::LinkProgram, 0>(true); | 87 SpecializedSetup<cmds::LinkProgram, 0>(true); |
88 cmds::LinkProgram cmd; | 88 cmds::LinkProgram cmd; |
89 cmd.Init(client_program_id_); | 89 cmd.Init(client_program_id_); |
90 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 90 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
91 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 91 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
92 } | 92 } |
93 // TODO(gman): PixelStorei | 93 // TODO(gman): PixelStorei |
94 | 94 |
95 TEST_F(GLES2DecoderTest2, PolygonOffsetValidArgs) { | 95 TEST_P(GLES2DecoderTest2, PolygonOffsetValidArgs) { |
96 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); | 96 EXPECT_CALL(*gl_, PolygonOffset(1, 2)); |
97 SpecializedSetup<cmds::PolygonOffset, 0>(true); | 97 SpecializedSetup<cmds::PolygonOffset, 0>(true); |
98 cmds::PolygonOffset cmd; | 98 cmds::PolygonOffset cmd; |
99 cmd.Init(1, 2); | 99 cmd.Init(1, 2); |
100 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 100 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
101 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 101 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
102 } | 102 } |
103 // TODO(gman): ReadPixels | 103 // TODO(gman): ReadPixels |
104 | 104 |
105 // TODO(gman): ReleaseShaderCompiler | 105 // TODO(gman): ReleaseShaderCompiler |
106 | 106 |
107 TEST_F(GLES2DecoderTest2, RenderbufferStorageValidArgs) { | 107 TEST_P(GLES2DecoderTest2, RenderbufferStorageValidArgs) { |
108 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); | 108 SpecializedSetup<cmds::RenderbufferStorage, 0>(true); |
109 cmds::RenderbufferStorage cmd; | 109 cmds::RenderbufferStorage cmd; |
110 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); | 110 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, 4); |
111 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 111 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
112 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 112 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
113 } | 113 } |
114 | 114 |
115 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs0_0) { | 115 TEST_P(GLES2DecoderTest2, RenderbufferStorageInvalidArgs0_0) { |
116 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 116 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
117 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); | 117 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
118 cmds::RenderbufferStorage cmd; | 118 cmds::RenderbufferStorage cmd; |
119 cmd.Init(GL_FRAMEBUFFER, GL_RGBA4, 3, 4); | 119 cmd.Init(GL_FRAMEBUFFER, GL_RGBA4, 3, 4); |
120 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 120 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
121 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 121 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
122 } | 122 } |
123 | 123 |
124 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs2_0) { | 124 TEST_P(GLES2DecoderTest2, RenderbufferStorageInvalidArgs2_0) { |
125 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 125 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
126 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); | 126 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
127 cmds::RenderbufferStorage cmd; | 127 cmds::RenderbufferStorage cmd; |
128 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, -1, 4); | 128 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, -1, 4); |
129 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 129 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
130 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 130 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
131 } | 131 } |
132 | 132 |
133 TEST_F(GLES2DecoderTest2, RenderbufferStorageInvalidArgs3_0) { | 133 TEST_P(GLES2DecoderTest2, RenderbufferStorageInvalidArgs3_0) { |
134 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); | 134 EXPECT_CALL(*gl_, RenderbufferStorageEXT(_, _, _, _)).Times(0); |
135 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); | 135 SpecializedSetup<cmds::RenderbufferStorage, 0>(false); |
136 cmds::RenderbufferStorage cmd; | 136 cmds::RenderbufferStorage cmd; |
137 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, -1); | 137 cmd.Init(GL_RENDERBUFFER, GL_RGBA4, 3, -1); |
138 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 138 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
139 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 139 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
140 } | 140 } |
141 | 141 |
142 TEST_F(GLES2DecoderTest2, SampleCoverageValidArgs) { | 142 TEST_P(GLES2DecoderTest2, SampleCoverageValidArgs) { |
143 EXPECT_CALL(*gl_, SampleCoverage(1, true)); | 143 EXPECT_CALL(*gl_, SampleCoverage(1, true)); |
144 SpecializedSetup<cmds::SampleCoverage, 0>(true); | 144 SpecializedSetup<cmds::SampleCoverage, 0>(true); |
145 cmds::SampleCoverage cmd; | 145 cmds::SampleCoverage cmd; |
146 cmd.Init(1, true); | 146 cmd.Init(1, true); |
147 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 147 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
148 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 148 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
149 } | 149 } |
150 | 150 |
151 TEST_F(GLES2DecoderTest2, ScissorValidArgs) { | 151 TEST_P(GLES2DecoderTest2, ScissorValidArgs) { |
152 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); | 152 EXPECT_CALL(*gl_, Scissor(1, 2, 3, 4)); |
153 SpecializedSetup<cmds::Scissor, 0>(true); | 153 SpecializedSetup<cmds::Scissor, 0>(true); |
154 cmds::Scissor cmd; | 154 cmds::Scissor cmd; |
155 cmd.Init(1, 2, 3, 4); | 155 cmd.Init(1, 2, 3, 4); |
156 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 156 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
157 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 157 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
158 } | 158 } |
159 | 159 |
160 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs2_0) { | 160 TEST_P(GLES2DecoderTest2, ScissorInvalidArgs2_0) { |
161 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); | 161 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); |
162 SpecializedSetup<cmds::Scissor, 0>(false); | 162 SpecializedSetup<cmds::Scissor, 0>(false); |
163 cmds::Scissor cmd; | 163 cmds::Scissor cmd; |
164 cmd.Init(1, 2, -1, 4); | 164 cmd.Init(1, 2, -1, 4); |
165 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 165 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
166 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 166 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
167 } | 167 } |
168 | 168 |
169 TEST_F(GLES2DecoderTest2, ScissorInvalidArgs3_0) { | 169 TEST_P(GLES2DecoderTest2, ScissorInvalidArgs3_0) { |
170 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); | 170 EXPECT_CALL(*gl_, Scissor(_, _, _, _)).Times(0); |
171 SpecializedSetup<cmds::Scissor, 0>(false); | 171 SpecializedSetup<cmds::Scissor, 0>(false); |
172 cmds::Scissor cmd; | 172 cmds::Scissor cmd; |
173 cmd.Init(1, 2, 3, -1); | 173 cmd.Init(1, 2, 3, -1); |
174 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 174 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
175 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 175 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
176 } | 176 } |
177 // TODO(gman): ShaderBinary | 177 // TODO(gman): ShaderBinary |
178 | 178 |
179 // TODO(gman): ShaderSource | 179 // TODO(gman): ShaderSource |
180 | 180 |
181 // TODO(gman): ShaderSourceBucket | 181 // TODO(gman): ShaderSourceBucket |
182 | 182 |
183 TEST_F(GLES2DecoderTest2, StencilFuncValidArgs) { | 183 TEST_P(GLES2DecoderTest2, StencilFuncValidArgs) { |
184 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); | 184 EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3)); |
185 SpecializedSetup<cmds::StencilFunc, 0>(true); | 185 SpecializedSetup<cmds::StencilFunc, 0>(true); |
186 cmds::StencilFunc cmd; | 186 cmds::StencilFunc cmd; |
187 cmd.Init(GL_NEVER, 2, 3); | 187 cmd.Init(GL_NEVER, 2, 3); |
188 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 188 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
189 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 189 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
190 } | 190 } |
191 | 191 |
192 TEST_F(GLES2DecoderTest2, StencilFuncSeparateValidArgs) { | 192 TEST_P(GLES2DecoderTest2, StencilFuncSeparateValidArgs) { |
193 EXPECT_CALL(*gl_, StencilFuncSeparate(GL_FRONT, GL_NEVER, 3, 4)); | 193 EXPECT_CALL(*gl_, StencilFuncSeparate(GL_FRONT, GL_NEVER, 3, 4)); |
194 SpecializedSetup<cmds::StencilFuncSeparate, 0>(true); | 194 SpecializedSetup<cmds::StencilFuncSeparate, 0>(true); |
195 cmds::StencilFuncSeparate cmd; | 195 cmds::StencilFuncSeparate cmd; |
196 cmd.Init(GL_FRONT, GL_NEVER, 3, 4); | 196 cmd.Init(GL_FRONT, GL_NEVER, 3, 4); |
197 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 197 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
198 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 198 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
199 } | 199 } |
200 | 200 |
201 TEST_F(GLES2DecoderTest2, StencilMaskValidArgs) { | 201 TEST_P(GLES2DecoderTest2, StencilMaskValidArgs) { |
202 SpecializedSetup<cmds::StencilMask, 0>(true); | 202 SpecializedSetup<cmds::StencilMask, 0>(true); |
203 cmds::StencilMask cmd; | 203 cmds::StencilMask cmd; |
204 cmd.Init(1); | 204 cmd.Init(1); |
205 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 205 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
206 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 206 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
207 } | 207 } |
208 | 208 |
209 TEST_F(GLES2DecoderTest2, StencilMaskSeparateValidArgs) { | 209 TEST_P(GLES2DecoderTest2, StencilMaskSeparateValidArgs) { |
210 SpecializedSetup<cmds::StencilMaskSeparate, 0>(true); | 210 SpecializedSetup<cmds::StencilMaskSeparate, 0>(true); |
211 cmds::StencilMaskSeparate cmd; | 211 cmds::StencilMaskSeparate cmd; |
212 cmd.Init(GL_FRONT, 2); | 212 cmd.Init(GL_FRONT, 2); |
213 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 213 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
214 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 214 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
215 } | 215 } |
216 | 216 |
217 TEST_F(GLES2DecoderTest2, StencilOpValidArgs) { | 217 TEST_P(GLES2DecoderTest2, StencilOpValidArgs) { |
218 EXPECT_CALL(*gl_, StencilOp(GL_KEEP, GL_INCR, GL_KEEP)); | 218 EXPECT_CALL(*gl_, StencilOp(GL_KEEP, GL_INCR, GL_KEEP)); |
219 SpecializedSetup<cmds::StencilOp, 0>(true); | 219 SpecializedSetup<cmds::StencilOp, 0>(true); |
220 cmds::StencilOp cmd; | 220 cmds::StencilOp cmd; |
221 cmd.Init(GL_KEEP, GL_INCR, GL_KEEP); | 221 cmd.Init(GL_KEEP, GL_INCR, GL_KEEP); |
222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
223 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 223 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
224 } | 224 } |
225 | 225 |
226 TEST_F(GLES2DecoderTest2, StencilOpSeparateValidArgs) { | 226 TEST_P(GLES2DecoderTest2, StencilOpSeparateValidArgs) { |
227 EXPECT_CALL(*gl_, StencilOpSeparate(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP)); | 227 EXPECT_CALL(*gl_, StencilOpSeparate(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP)); |
228 SpecializedSetup<cmds::StencilOpSeparate, 0>(true); | 228 SpecializedSetup<cmds::StencilOpSeparate, 0>(true); |
229 cmds::StencilOpSeparate cmd; | 229 cmds::StencilOpSeparate cmd; |
230 cmd.Init(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP); | 230 cmd.Init(GL_FRONT, GL_INCR, GL_KEEP, GL_KEEP); |
231 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 231 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
232 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 232 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
233 } | 233 } |
234 // TODO(gman): TexImage2D | 234 // TODO(gman): TexImage2D |
235 | 235 |
236 TEST_F(GLES2DecoderTest2, TexParameterfValidArgs) { | 236 TEST_P(GLES2DecoderTest2, TexParameterfValidArgs) { |
237 EXPECT_CALL(*gl_, | 237 EXPECT_CALL(*gl_, |
238 TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); | 238 TexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
239 SpecializedSetup<cmds::TexParameterf, 0>(true); | 239 SpecializedSetup<cmds::TexParameterf, 0>(true); |
240 cmds::TexParameterf cmd; | 240 cmds::TexParameterf cmd; |
241 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 241 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
242 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 242 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
243 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 243 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
244 } | 244 } |
245 | 245 |
246 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_0) { | 246 TEST_P(GLES2DecoderTest2, TexParameterfInvalidArgs0_0) { |
247 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 247 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
248 SpecializedSetup<cmds::TexParameterf, 0>(false); | 248 SpecializedSetup<cmds::TexParameterf, 0>(false); |
249 cmds::TexParameterf cmd; | 249 cmds::TexParameterf cmd; |
250 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 250 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
251 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 251 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
252 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 252 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
253 } | 253 } |
254 | 254 |
255 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs0_1) { | 255 TEST_P(GLES2DecoderTest2, TexParameterfInvalidArgs0_1) { |
256 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 256 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
257 SpecializedSetup<cmds::TexParameterf, 0>(false); | 257 SpecializedSetup<cmds::TexParameterf, 0>(false); |
258 cmds::TexParameterf cmd; | 258 cmds::TexParameterf cmd; |
259 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 259 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
260 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 260 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
261 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 261 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
262 } | 262 } |
263 | 263 |
264 TEST_F(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { | 264 TEST_P(GLES2DecoderTest2, TexParameterfInvalidArgs1_0) { |
265 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 265 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
266 SpecializedSetup<cmds::TexParameterf, 0>(false); | 266 SpecializedSetup<cmds::TexParameterf, 0>(false); |
267 cmds::TexParameterf cmd; | 267 cmds::TexParameterf cmd; |
268 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 268 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
269 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 269 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
270 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 270 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
271 } | 271 } |
272 | 272 |
273 TEST_F(GLES2DecoderTest2, TexParameterfvValidArgs) { | 273 TEST_P(GLES2DecoderTest2, TexParameterfvValidArgs) { |
274 SpecializedSetup<cmds::TexParameterfv, 0>(true); | 274 SpecializedSetup<cmds::TexParameterfv, 0>(true); |
275 cmds::TexParameterfv cmd; | 275 cmds::TexParameterfv cmd; |
276 cmd.Init(GL_TEXTURE_2D, | 276 cmd.Init(GL_TEXTURE_2D, |
277 GL_TEXTURE_MAG_FILTER, | 277 GL_TEXTURE_MAG_FILTER, |
278 shared_memory_id_, | 278 shared_memory_id_, |
279 shared_memory_offset_); | 279 shared_memory_offset_); |
280 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 280 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
281 EXPECT_CALL( | 281 EXPECT_CALL( |
282 *gl_, | 282 *gl_, |
283 TexParameterf(GL_TEXTURE_2D, | 283 TexParameterf(GL_TEXTURE_2D, |
284 GL_TEXTURE_MAG_FILTER, | 284 GL_TEXTURE_MAG_FILTER, |
285 *reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 285 *reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
286 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 286 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
287 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 287 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
288 } | 288 } |
289 | 289 |
290 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { | 290 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs0_0) { |
291 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 291 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
292 SpecializedSetup<cmds::TexParameterfv, 0>(false); | 292 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
293 cmds::TexParameterfv cmd; | 293 cmds::TexParameterfv cmd; |
294 cmd.Init(GL_TEXTURE_1D, | 294 cmd.Init(GL_TEXTURE_1D, |
295 GL_TEXTURE_MAG_FILTER, | 295 GL_TEXTURE_MAG_FILTER, |
296 shared_memory_id_, | 296 shared_memory_id_, |
297 shared_memory_offset_); | 297 shared_memory_offset_); |
298 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 298 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
299 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 299 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
300 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 300 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
301 } | 301 } |
302 | 302 |
303 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { | 303 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs0_1) { |
304 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 304 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
305 SpecializedSetup<cmds::TexParameterfv, 0>(false); | 305 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
306 cmds::TexParameterfv cmd; | 306 cmds::TexParameterfv cmd; |
307 cmd.Init(GL_TEXTURE_3D, | 307 cmd.Init(GL_TEXTURE_3D, |
308 GL_TEXTURE_MAG_FILTER, | 308 GL_TEXTURE_MAG_FILTER, |
309 shared_memory_id_, | 309 shared_memory_id_, |
310 shared_memory_offset_); | 310 shared_memory_offset_); |
311 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 311 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
312 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 312 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
313 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 313 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
314 } | 314 } |
315 | 315 |
316 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { | 316 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs1_0) { |
317 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 317 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
318 SpecializedSetup<cmds::TexParameterfv, 0>(false); | 318 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
319 cmds::TexParameterfv cmd; | 319 cmds::TexParameterfv cmd; |
320 cmd.Init(GL_TEXTURE_2D, | 320 cmd.Init(GL_TEXTURE_2D, |
321 GL_GENERATE_MIPMAP, | 321 GL_GENERATE_MIPMAP, |
322 shared_memory_id_, | 322 shared_memory_id_, |
323 shared_memory_offset_); | 323 shared_memory_offset_); |
324 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 324 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
325 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 325 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
326 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 326 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
327 } | 327 } |
328 | 328 |
329 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { | 329 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs2_0) { |
330 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 330 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
331 SpecializedSetup<cmds::TexParameterfv, 0>(false); | 331 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
332 cmds::TexParameterfv cmd; | 332 cmds::TexParameterfv cmd; |
333 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | 333 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); |
334 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 334 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
335 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 335 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
336 } | 336 } |
337 | 337 |
338 TEST_F(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { | 338 TEST_P(GLES2DecoderTest2, TexParameterfvInvalidArgs2_1) { |
339 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 339 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
340 SpecializedSetup<cmds::TexParameterfv, 0>(false); | 340 SpecializedSetup<cmds::TexParameterfv, 0>(false); |
341 cmds::TexParameterfv cmd; | 341 cmds::TexParameterfv cmd; |
342 cmd.Init(GL_TEXTURE_2D, | 342 cmd.Init(GL_TEXTURE_2D, |
343 GL_TEXTURE_MAG_FILTER, | 343 GL_TEXTURE_MAG_FILTER, |
344 shared_memory_id_, | 344 shared_memory_id_, |
345 kInvalidSharedMemoryOffset); | 345 kInvalidSharedMemoryOffset); |
346 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; | 346 GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST; |
347 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 347 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
348 } | 348 } |
349 | 349 |
350 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { | 350 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateValidArgs) { |
351 cmds::TexParameterfvImmediate& cmd = | 351 cmds::TexParameterfvImmediate& cmd = |
352 *GetImmediateAs<cmds::TexParameterfvImmediate>(); | 352 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
353 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); | 353 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(true); |
354 GLfloat temp[1] = { | 354 GLfloat temp[1] = { |
355 GL_NEAREST, | 355 GL_NEAREST, |
356 }; | 356 }; |
357 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 357 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
358 EXPECT_CALL( | 358 EXPECT_CALL( |
359 *gl_, | 359 *gl_, |
360 TexParameterf(GL_TEXTURE_2D, | 360 TexParameterf(GL_TEXTURE_2D, |
361 GL_TEXTURE_MAG_FILTER, | 361 GL_TEXTURE_MAG_FILTER, |
362 *reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 362 *reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
363 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 363 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
364 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 364 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
365 } | 365 } |
366 | 366 |
367 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { | 367 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_0) { |
368 cmds::TexParameterfvImmediate& cmd = | 368 cmds::TexParameterfvImmediate& cmd = |
369 *GetImmediateAs<cmds::TexParameterfvImmediate>(); | 369 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
370 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 370 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
371 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); | 371 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
372 GLfloat temp[1] = { | 372 GLfloat temp[1] = { |
373 GL_NEAREST, | 373 GL_NEAREST, |
374 }; | 374 }; |
375 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 375 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
376 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 376 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
377 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 377 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
378 } | 378 } |
379 | 379 |
380 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_1) { | 380 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs0_1) { |
381 cmds::TexParameterfvImmediate& cmd = | 381 cmds::TexParameterfvImmediate& cmd = |
382 *GetImmediateAs<cmds::TexParameterfvImmediate>(); | 382 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
383 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 383 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
384 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); | 384 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
385 GLfloat temp[1] = { | 385 GLfloat temp[1] = { |
386 GL_NEAREST, | 386 GL_NEAREST, |
387 }; | 387 }; |
388 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 388 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
389 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 389 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
390 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 390 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
391 } | 391 } |
392 | 392 |
393 TEST_F(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs1_0) { | 393 TEST_P(GLES2DecoderTest2, TexParameterfvImmediateInvalidArgs1_0) { |
394 cmds::TexParameterfvImmediate& cmd = | 394 cmds::TexParameterfvImmediate& cmd = |
395 *GetImmediateAs<cmds::TexParameterfvImmediate>(); | 395 *GetImmediateAs<cmds::TexParameterfvImmediate>(); |
396 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); | 396 EXPECT_CALL(*gl_, TexParameterf(_, _, _)).Times(0); |
397 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); | 397 SpecializedSetup<cmds::TexParameterfvImmediate, 0>(false); |
398 GLfloat temp[1] = { | 398 GLfloat temp[1] = { |
399 GL_NEAREST, | 399 GL_NEAREST, |
400 }; | 400 }; |
401 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); | 401 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); |
402 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 402 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
403 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 403 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
404 } | 404 } |
405 | 405 |
406 TEST_F(GLES2DecoderTest2, TexParameteriValidArgs) { | 406 TEST_P(GLES2DecoderTest2, TexParameteriValidArgs) { |
407 EXPECT_CALL(*gl_, | 407 EXPECT_CALL(*gl_, |
408 TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); | 408 TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); |
409 SpecializedSetup<cmds::TexParameteri, 0>(true); | 409 SpecializedSetup<cmds::TexParameteri, 0>(true); |
410 cmds::TexParameteri cmd; | 410 cmds::TexParameteri cmd; |
411 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 411 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
412 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 412 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
413 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 413 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
414 } | 414 } |
415 | 415 |
416 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_0) { | 416 TEST_P(GLES2DecoderTest2, TexParameteriInvalidArgs0_0) { |
417 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 417 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
418 SpecializedSetup<cmds::TexParameteri, 0>(false); | 418 SpecializedSetup<cmds::TexParameteri, 0>(false); |
419 cmds::TexParameteri cmd; | 419 cmds::TexParameteri cmd; |
420 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 420 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
421 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 421 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
422 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 422 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
423 } | 423 } |
424 | 424 |
425 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs0_1) { | 425 TEST_P(GLES2DecoderTest2, TexParameteriInvalidArgs0_1) { |
426 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 426 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
427 SpecializedSetup<cmds::TexParameteri, 0>(false); | 427 SpecializedSetup<cmds::TexParameteri, 0>(false); |
428 cmds::TexParameteri cmd; | 428 cmds::TexParameteri cmd; |
429 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | 429 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
430 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 430 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
431 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 431 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
432 } | 432 } |
433 | 433 |
434 TEST_F(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { | 434 TEST_P(GLES2DecoderTest2, TexParameteriInvalidArgs1_0) { |
435 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 435 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
436 SpecializedSetup<cmds::TexParameteri, 0>(false); | 436 SpecializedSetup<cmds::TexParameteri, 0>(false); |
437 cmds::TexParameteri cmd; | 437 cmds::TexParameteri cmd; |
438 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); | 438 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_NEAREST); |
439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 439 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
440 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 440 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
441 } | 441 } |
442 | 442 |
443 TEST_F(GLES2DecoderTest2, TexParameterivValidArgs) { | 443 TEST_P(GLES2DecoderTest2, TexParameterivValidArgs) { |
444 SpecializedSetup<cmds::TexParameteriv, 0>(true); | 444 SpecializedSetup<cmds::TexParameteriv, 0>(true); |
445 cmds::TexParameteriv cmd; | 445 cmds::TexParameteriv cmd; |
446 cmd.Init(GL_TEXTURE_2D, | 446 cmd.Init(GL_TEXTURE_2D, |
447 GL_TEXTURE_MAG_FILTER, | 447 GL_TEXTURE_MAG_FILTER, |
448 shared_memory_id_, | 448 shared_memory_id_, |
449 shared_memory_offset_); | 449 shared_memory_offset_); |
450 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 450 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
451 EXPECT_CALL( | 451 EXPECT_CALL( |
452 *gl_, | 452 *gl_, |
453 TexParameteri(GL_TEXTURE_2D, | 453 TexParameteri(GL_TEXTURE_2D, |
454 GL_TEXTURE_MAG_FILTER, | 454 GL_TEXTURE_MAG_FILTER, |
455 *reinterpret_cast<const GLint*>(shared_memory_address_))); | 455 *reinterpret_cast<const GLint*>(shared_memory_address_))); |
456 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 456 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
457 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 457 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
458 } | 458 } |
459 | 459 |
460 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { | 460 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs0_0) { |
461 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 461 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
462 SpecializedSetup<cmds::TexParameteriv, 0>(false); | 462 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
463 cmds::TexParameteriv cmd; | 463 cmds::TexParameteriv cmd; |
464 cmd.Init(GL_TEXTURE_1D, | 464 cmd.Init(GL_TEXTURE_1D, |
465 GL_TEXTURE_MAG_FILTER, | 465 GL_TEXTURE_MAG_FILTER, |
466 shared_memory_id_, | 466 shared_memory_id_, |
467 shared_memory_offset_); | 467 shared_memory_offset_); |
468 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 468 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
469 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 469 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
470 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 470 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
471 } | 471 } |
472 | 472 |
473 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { | 473 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs0_1) { |
474 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 474 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
475 SpecializedSetup<cmds::TexParameteriv, 0>(false); | 475 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
476 cmds::TexParameteriv cmd; | 476 cmds::TexParameteriv cmd; |
477 cmd.Init(GL_TEXTURE_3D, | 477 cmd.Init(GL_TEXTURE_3D, |
478 GL_TEXTURE_MAG_FILTER, | 478 GL_TEXTURE_MAG_FILTER, |
479 shared_memory_id_, | 479 shared_memory_id_, |
480 shared_memory_offset_); | 480 shared_memory_offset_); |
481 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 481 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
482 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 482 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
483 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 483 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
484 } | 484 } |
485 | 485 |
486 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { | 486 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs1_0) { |
487 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 487 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
488 SpecializedSetup<cmds::TexParameteriv, 0>(false); | 488 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
489 cmds::TexParameteriv cmd; | 489 cmds::TexParameteriv cmd; |
490 cmd.Init(GL_TEXTURE_2D, | 490 cmd.Init(GL_TEXTURE_2D, |
491 GL_GENERATE_MIPMAP, | 491 GL_GENERATE_MIPMAP, |
492 shared_memory_id_, | 492 shared_memory_id_, |
493 shared_memory_offset_); | 493 shared_memory_offset_); |
494 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 494 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
495 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 495 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
496 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 496 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
497 } | 497 } |
498 | 498 |
499 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { | 499 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs2_0) { |
500 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 500 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
501 SpecializedSetup<cmds::TexParameteriv, 0>(false); | 501 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
502 cmds::TexParameteriv cmd; | 502 cmds::TexParameteriv cmd; |
503 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); | 503 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, kInvalidSharedMemoryId, 0); |
504 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 504 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
505 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 505 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
506 } | 506 } |
507 | 507 |
508 TEST_F(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { | 508 TEST_P(GLES2DecoderTest2, TexParameterivInvalidArgs2_1) { |
509 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 509 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
510 SpecializedSetup<cmds::TexParameteriv, 0>(false); | 510 SpecializedSetup<cmds::TexParameteriv, 0>(false); |
511 cmds::TexParameteriv cmd; | 511 cmds::TexParameteriv cmd; |
512 cmd.Init(GL_TEXTURE_2D, | 512 cmd.Init(GL_TEXTURE_2D, |
513 GL_TEXTURE_MAG_FILTER, | 513 GL_TEXTURE_MAG_FILTER, |
514 shared_memory_id_, | 514 shared_memory_id_, |
515 kInvalidSharedMemoryOffset); | 515 kInvalidSharedMemoryOffset); |
516 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; | 516 GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST; |
517 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 517 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
518 } | 518 } |
519 | 519 |
520 TEST_F(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { | 520 TEST_P(GLES2DecoderTest2, TexParameterivImmediateValidArgs) { |
521 cmds::TexParameterivImmediate& cmd = | 521 cmds::TexParameterivImmediate& cmd = |
522 *GetImmediateAs<cmds::TexParameterivImmediate>(); | 522 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
523 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); | 523 SpecializedSetup<cmds::TexParameterivImmediate, 0>(true); |
524 GLint temp[1] = { | 524 GLint temp[1] = { |
525 GL_NEAREST, | 525 GL_NEAREST, |
526 }; | 526 }; |
527 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 527 cmd.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
528 EXPECT_CALL( | 528 EXPECT_CALL( |
529 *gl_, | 529 *gl_, |
530 TexParameteri(GL_TEXTURE_2D, | 530 TexParameteri(GL_TEXTURE_2D, |
531 GL_TEXTURE_MAG_FILTER, | 531 GL_TEXTURE_MAG_FILTER, |
532 *reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 532 *reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
533 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 533 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
534 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 534 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
535 } | 535 } |
536 | 536 |
537 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { | 537 TEST_P(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_0) { |
538 cmds::TexParameterivImmediate& cmd = | 538 cmds::TexParameterivImmediate& cmd = |
539 *GetImmediateAs<cmds::TexParameterivImmediate>(); | 539 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
540 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 540 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
541 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); | 541 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
542 GLint temp[1] = { | 542 GLint temp[1] = { |
543 GL_NEAREST, | 543 GL_NEAREST, |
544 }; | 544 }; |
545 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 545 cmd.Init(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
546 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 546 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
547 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 547 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
548 } | 548 } |
549 | 549 |
550 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_1) { | 550 TEST_P(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs0_1) { |
551 cmds::TexParameterivImmediate& cmd = | 551 cmds::TexParameterivImmediate& cmd = |
552 *GetImmediateAs<cmds::TexParameterivImmediate>(); | 552 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
553 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 553 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
554 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); | 554 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
555 GLint temp[1] = { | 555 GLint temp[1] = { |
556 GL_NEAREST, | 556 GL_NEAREST, |
557 }; | 557 }; |
558 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); | 558 cmd.Init(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, &temp[0]); |
559 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 559 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
560 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 560 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
561 } | 561 } |
562 | 562 |
563 TEST_F(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs1_0) { | 563 TEST_P(GLES2DecoderTest2, TexParameterivImmediateInvalidArgs1_0) { |
564 cmds::TexParameterivImmediate& cmd = | 564 cmds::TexParameterivImmediate& cmd = |
565 *GetImmediateAs<cmds::TexParameterivImmediate>(); | 565 *GetImmediateAs<cmds::TexParameterivImmediate>(); |
566 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); | 566 EXPECT_CALL(*gl_, TexParameteri(_, _, _)).Times(0); |
567 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); | 567 SpecializedSetup<cmds::TexParameterivImmediate, 0>(false); |
568 GLint temp[1] = { | 568 GLint temp[1] = { |
569 GL_NEAREST, | 569 GL_NEAREST, |
570 }; | 570 }; |
571 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); | 571 cmd.Init(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, &temp[0]); |
572 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 572 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
573 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); | 573 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); |
574 } | 574 } |
575 // TODO(gman): TexSubImage2D | 575 // TODO(gman): TexSubImage2D |
576 | 576 |
577 TEST_F(GLES2DecoderTest2, Uniform1fValidArgs) { | 577 TEST_P(GLES2DecoderTest2, Uniform1fValidArgs) { |
578 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); | 578 EXPECT_CALL(*gl_, Uniform1fv(1, 1, _)); |
579 SpecializedSetup<cmds::Uniform1f, 0>(true); | 579 SpecializedSetup<cmds::Uniform1f, 0>(true); |
580 cmds::Uniform1f cmd; | 580 cmds::Uniform1f cmd; |
581 cmd.Init(1, 2); | 581 cmd.Init(1, 2); |
582 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 582 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
583 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 583 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
584 } | 584 } |
585 | 585 |
586 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgs) { | 586 TEST_P(GLES2DecoderTest2, Uniform1fvValidArgs) { |
587 EXPECT_CALL( | 587 EXPECT_CALL( |
588 *gl_, | 588 *gl_, |
589 Uniform1fv( | 589 Uniform1fv( |
590 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 590 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
591 SpecializedSetup<cmds::Uniform1fv, 0>(true); | 591 SpecializedSetup<cmds::Uniform1fv, 0>(true); |
592 cmds::Uniform1fv cmd; | 592 cmds::Uniform1fv cmd; |
593 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 593 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 594 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 595 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
596 } | 596 } |
597 | 597 |
598 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { | 598 TEST_P(GLES2DecoderTest2, Uniform1fvInvalidArgs1_0) { |
599 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 599 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
600 SpecializedSetup<cmds::Uniform1fv, 0>(false); | 600 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
601 cmds::Uniform1fv cmd; | 601 cmds::Uniform1fv cmd; |
602 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 602 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
603 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 603 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
604 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 604 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
605 } | 605 } |
606 | 606 |
607 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { | 607 TEST_P(GLES2DecoderTest2, Uniform1fvInvalidArgs2_0) { |
608 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 608 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
609 SpecializedSetup<cmds::Uniform1fv, 0>(false); | 609 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
610 cmds::Uniform1fv cmd; | 610 cmds::Uniform1fv cmd; |
611 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 611 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
612 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 612 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
613 } | 613 } |
614 | 614 |
615 TEST_F(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { | 615 TEST_P(GLES2DecoderTest2, Uniform1fvInvalidArgs2_1) { |
616 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); | 616 EXPECT_CALL(*gl_, Uniform1fv(_, _, _)).Times(0); |
617 SpecializedSetup<cmds::Uniform1fv, 0>(false); | 617 SpecializedSetup<cmds::Uniform1fv, 0>(false); |
618 cmds::Uniform1fv cmd; | 618 cmds::Uniform1fv cmd; |
619 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 619 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
620 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 620 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
621 } | 621 } |
622 | 622 |
623 TEST_F(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { | 623 TEST_P(GLES2DecoderTest2, Uniform1fvValidArgsCountTooLarge) { |
624 EXPECT_CALL( | 624 EXPECT_CALL( |
625 *gl_, | 625 *gl_, |
626 Uniform1fv( | 626 Uniform1fv( |
627 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 627 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
628 SpecializedSetup<cmds::Uniform1fv, 0>(true); | 628 SpecializedSetup<cmds::Uniform1fv, 0>(true); |
629 cmds::Uniform1fv cmd; | 629 cmds::Uniform1fv cmd; |
630 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 630 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
631 5, | 631 5, |
632 shared_memory_id_, | 632 shared_memory_id_, |
633 shared_memory_offset_); | 633 shared_memory_offset_); |
634 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 634 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
635 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 635 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
636 } | 636 } |
637 | 637 |
638 TEST_F(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { | 638 TEST_P(GLES2DecoderTest2, Uniform1fvImmediateValidArgs) { |
639 cmds::Uniform1fvImmediate& cmd = *GetImmediateAs<cmds::Uniform1fvImmediate>(); | 639 cmds::Uniform1fvImmediate& cmd = *GetImmediateAs<cmds::Uniform1fvImmediate>(); |
640 EXPECT_CALL( | 640 EXPECT_CALL( |
641 *gl_, | 641 *gl_, |
642 Uniform1fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 642 Uniform1fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
643 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); | 643 SpecializedSetup<cmds::Uniform1fvImmediate, 0>(true); |
644 GLfloat temp[1 * 2] = { | 644 GLfloat temp[1 * 2] = { |
645 0, | 645 0, |
646 }; | 646 }; |
647 cmd.Init(1, 2, &temp[0]); | 647 cmd.Init(1, 2, &temp[0]); |
648 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 648 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
649 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 649 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
650 } | 650 } |
651 // TODO(gman): Uniform1i | 651 // TODO(gman): Uniform1i |
652 // TODO(gman): Uniform1iv | 652 // TODO(gman): Uniform1iv |
653 // TODO(gman): Uniform1ivImmediate | 653 // TODO(gman): Uniform1ivImmediate |
654 | 654 |
655 TEST_F(GLES2DecoderTest2, Uniform2fValidArgs) { | 655 TEST_P(GLES2DecoderTest2, Uniform2fValidArgs) { |
656 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); | 656 EXPECT_CALL(*gl_, Uniform2fv(1, 1, _)); |
657 SpecializedSetup<cmds::Uniform2f, 0>(true); | 657 SpecializedSetup<cmds::Uniform2f, 0>(true); |
658 cmds::Uniform2f cmd; | 658 cmds::Uniform2f cmd; |
659 cmd.Init(1, 2, 3); | 659 cmd.Init(1, 2, 3); |
660 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 660 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
661 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 661 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
662 } | 662 } |
663 | 663 |
664 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgs) { | 664 TEST_P(GLES2DecoderTest2, Uniform2fvValidArgs) { |
665 EXPECT_CALL( | 665 EXPECT_CALL( |
666 *gl_, | 666 *gl_, |
667 Uniform2fv( | 667 Uniform2fv( |
668 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 668 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
669 SpecializedSetup<cmds::Uniform2fv, 0>(true); | 669 SpecializedSetup<cmds::Uniform2fv, 0>(true); |
670 cmds::Uniform2fv cmd; | 670 cmds::Uniform2fv cmd; |
671 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 671 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
672 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 672 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
673 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 673 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
674 } | 674 } |
675 | 675 |
676 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { | 676 TEST_P(GLES2DecoderTest2, Uniform2fvInvalidArgs1_0) { |
677 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 677 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
678 SpecializedSetup<cmds::Uniform2fv, 0>(false); | 678 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
679 cmds::Uniform2fv cmd; | 679 cmds::Uniform2fv cmd; |
680 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 680 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
681 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 681 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
682 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 682 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
683 } | 683 } |
684 | 684 |
685 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { | 685 TEST_P(GLES2DecoderTest2, Uniform2fvInvalidArgs2_0) { |
686 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 686 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
687 SpecializedSetup<cmds::Uniform2fv, 0>(false); | 687 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
688 cmds::Uniform2fv cmd; | 688 cmds::Uniform2fv cmd; |
689 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 689 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
690 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 690 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
691 } | 691 } |
692 | 692 |
693 TEST_F(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { | 693 TEST_P(GLES2DecoderTest2, Uniform2fvInvalidArgs2_1) { |
694 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); | 694 EXPECT_CALL(*gl_, Uniform2fv(_, _, _)).Times(0); |
695 SpecializedSetup<cmds::Uniform2fv, 0>(false); | 695 SpecializedSetup<cmds::Uniform2fv, 0>(false); |
696 cmds::Uniform2fv cmd; | 696 cmds::Uniform2fv cmd; |
697 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 697 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
698 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 698 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
699 } | 699 } |
700 | 700 |
701 TEST_F(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { | 701 TEST_P(GLES2DecoderTest2, Uniform2fvValidArgsCountTooLarge) { |
702 EXPECT_CALL( | 702 EXPECT_CALL( |
703 *gl_, | 703 *gl_, |
704 Uniform2fv( | 704 Uniform2fv( |
705 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 705 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
706 SpecializedSetup<cmds::Uniform2fv, 0>(true); | 706 SpecializedSetup<cmds::Uniform2fv, 0>(true); |
707 cmds::Uniform2fv cmd; | 707 cmds::Uniform2fv cmd; |
708 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 708 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
709 5, | 709 5, |
710 shared_memory_id_, | 710 shared_memory_id_, |
711 shared_memory_offset_); | 711 shared_memory_offset_); |
712 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 712 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
713 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 713 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
714 } | 714 } |
715 | 715 |
716 TEST_F(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { | 716 TEST_P(GLES2DecoderTest2, Uniform2fvImmediateValidArgs) { |
717 cmds::Uniform2fvImmediate& cmd = *GetImmediateAs<cmds::Uniform2fvImmediate>(); | 717 cmds::Uniform2fvImmediate& cmd = *GetImmediateAs<cmds::Uniform2fvImmediate>(); |
718 EXPECT_CALL( | 718 EXPECT_CALL( |
719 *gl_, | 719 *gl_, |
720 Uniform2fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 720 Uniform2fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
721 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); | 721 SpecializedSetup<cmds::Uniform2fvImmediate, 0>(true); |
722 GLfloat temp[2 * 2] = { | 722 GLfloat temp[2 * 2] = { |
723 0, | 723 0, |
724 }; | 724 }; |
725 cmd.Init(1, 2, &temp[0]); | 725 cmd.Init(1, 2, &temp[0]); |
726 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 726 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
727 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 727 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
728 } | 728 } |
729 | 729 |
730 TEST_F(GLES2DecoderTest2, Uniform2iValidArgs) { | 730 TEST_P(GLES2DecoderTest2, Uniform2iValidArgs) { |
731 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); | 731 EXPECT_CALL(*gl_, Uniform2iv(1, 1, _)); |
732 SpecializedSetup<cmds::Uniform2i, 0>(true); | 732 SpecializedSetup<cmds::Uniform2i, 0>(true); |
733 cmds::Uniform2i cmd; | 733 cmds::Uniform2i cmd; |
734 cmd.Init(1, 2, 3); | 734 cmd.Init(1, 2, 3); |
735 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 735 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
736 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 736 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
737 } | 737 } |
738 | 738 |
739 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgs) { | 739 TEST_P(GLES2DecoderTest2, Uniform2ivValidArgs) { |
740 EXPECT_CALL( | 740 EXPECT_CALL( |
741 *gl_, | 741 *gl_, |
742 Uniform2iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 742 Uniform2iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
743 SpecializedSetup<cmds::Uniform2iv, 0>(true); | 743 SpecializedSetup<cmds::Uniform2iv, 0>(true); |
744 cmds::Uniform2iv cmd; | 744 cmds::Uniform2iv cmd; |
745 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 745 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
746 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 746 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
747 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 747 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
748 } | 748 } |
749 | 749 |
750 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { | 750 TEST_P(GLES2DecoderTest2, Uniform2ivInvalidArgs1_0) { |
751 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 751 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
752 SpecializedSetup<cmds::Uniform2iv, 0>(false); | 752 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
753 cmds::Uniform2iv cmd; | 753 cmds::Uniform2iv cmd; |
754 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 754 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
755 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 755 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
756 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 756 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
757 } | 757 } |
758 | 758 |
759 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { | 759 TEST_P(GLES2DecoderTest2, Uniform2ivInvalidArgs2_0) { |
760 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 760 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
761 SpecializedSetup<cmds::Uniform2iv, 0>(false); | 761 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
762 cmds::Uniform2iv cmd; | 762 cmds::Uniform2iv cmd; |
763 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 763 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
764 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 764 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
765 } | 765 } |
766 | 766 |
767 TEST_F(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { | 767 TEST_P(GLES2DecoderTest2, Uniform2ivInvalidArgs2_1) { |
768 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); | 768 EXPECT_CALL(*gl_, Uniform2iv(_, _, _)).Times(0); |
769 SpecializedSetup<cmds::Uniform2iv, 0>(false); | 769 SpecializedSetup<cmds::Uniform2iv, 0>(false); |
770 cmds::Uniform2iv cmd; | 770 cmds::Uniform2iv cmd; |
771 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 771 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
772 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 772 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
773 } | 773 } |
774 | 774 |
775 TEST_F(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { | 775 TEST_P(GLES2DecoderTest2, Uniform2ivValidArgsCountTooLarge) { |
776 EXPECT_CALL( | 776 EXPECT_CALL( |
777 *gl_, | 777 *gl_, |
778 Uniform2iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 778 Uniform2iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
779 SpecializedSetup<cmds::Uniform2iv, 0>(true); | 779 SpecializedSetup<cmds::Uniform2iv, 0>(true); |
780 cmds::Uniform2iv cmd; | 780 cmds::Uniform2iv cmd; |
781 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 781 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
782 5, | 782 5, |
783 shared_memory_id_, | 783 shared_memory_id_, |
784 shared_memory_offset_); | 784 shared_memory_offset_); |
785 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 785 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
786 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 786 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
787 } | 787 } |
788 | 788 |
789 TEST_F(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { | 789 TEST_P(GLES2DecoderTest2, Uniform2ivImmediateValidArgs) { |
790 cmds::Uniform2ivImmediate& cmd = *GetImmediateAs<cmds::Uniform2ivImmediate>(); | 790 cmds::Uniform2ivImmediate& cmd = *GetImmediateAs<cmds::Uniform2ivImmediate>(); |
791 EXPECT_CALL( | 791 EXPECT_CALL( |
792 *gl_, | 792 *gl_, |
793 Uniform2iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 793 Uniform2iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
794 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); | 794 SpecializedSetup<cmds::Uniform2ivImmediate, 0>(true); |
795 GLint temp[2 * 2] = { | 795 GLint temp[2 * 2] = { |
796 0, | 796 0, |
797 }; | 797 }; |
798 cmd.Init(1, 2, &temp[0]); | 798 cmd.Init(1, 2, &temp[0]); |
799 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 799 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
800 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 800 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
801 } | 801 } |
802 | 802 |
803 TEST_F(GLES2DecoderTest2, Uniform3fValidArgs) { | 803 TEST_P(GLES2DecoderTest2, Uniform3fValidArgs) { |
804 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); | 804 EXPECT_CALL(*gl_, Uniform3fv(1, 1, _)); |
805 SpecializedSetup<cmds::Uniform3f, 0>(true); | 805 SpecializedSetup<cmds::Uniform3f, 0>(true); |
806 cmds::Uniform3f cmd; | 806 cmds::Uniform3f cmd; |
807 cmd.Init(1, 2, 3, 4); | 807 cmd.Init(1, 2, 3, 4); |
808 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 808 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
809 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 809 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
810 } | 810 } |
811 | 811 |
812 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgs) { | 812 TEST_P(GLES2DecoderTest2, Uniform3fvValidArgs) { |
813 EXPECT_CALL( | 813 EXPECT_CALL( |
814 *gl_, | 814 *gl_, |
815 Uniform3fv( | 815 Uniform3fv( |
816 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 816 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
817 SpecializedSetup<cmds::Uniform3fv, 0>(true); | 817 SpecializedSetup<cmds::Uniform3fv, 0>(true); |
818 cmds::Uniform3fv cmd; | 818 cmds::Uniform3fv cmd; |
819 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 819 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
820 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 820 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
821 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 821 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
822 } | 822 } |
823 | 823 |
824 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { | 824 TEST_P(GLES2DecoderTest2, Uniform3fvInvalidArgs1_0) { |
825 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 825 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
826 SpecializedSetup<cmds::Uniform3fv, 0>(false); | 826 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
827 cmds::Uniform3fv cmd; | 827 cmds::Uniform3fv cmd; |
828 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 828 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
829 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 829 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
830 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 830 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
831 } | 831 } |
832 | 832 |
833 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { | 833 TEST_P(GLES2DecoderTest2, Uniform3fvInvalidArgs2_0) { |
834 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 834 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
835 SpecializedSetup<cmds::Uniform3fv, 0>(false); | 835 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
836 cmds::Uniform3fv cmd; | 836 cmds::Uniform3fv cmd; |
837 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 837 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
838 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 838 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
839 } | 839 } |
840 | 840 |
841 TEST_F(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { | 841 TEST_P(GLES2DecoderTest2, Uniform3fvInvalidArgs2_1) { |
842 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); | 842 EXPECT_CALL(*gl_, Uniform3fv(_, _, _)).Times(0); |
843 SpecializedSetup<cmds::Uniform3fv, 0>(false); | 843 SpecializedSetup<cmds::Uniform3fv, 0>(false); |
844 cmds::Uniform3fv cmd; | 844 cmds::Uniform3fv cmd; |
845 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 845 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
846 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 846 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
847 } | 847 } |
848 | 848 |
849 TEST_F(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { | 849 TEST_P(GLES2DecoderTest2, Uniform3fvValidArgsCountTooLarge) { |
850 EXPECT_CALL( | 850 EXPECT_CALL( |
851 *gl_, | 851 *gl_, |
852 Uniform3fv( | 852 Uniform3fv( |
853 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 853 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
854 SpecializedSetup<cmds::Uniform3fv, 0>(true); | 854 SpecializedSetup<cmds::Uniform3fv, 0>(true); |
855 cmds::Uniform3fv cmd; | 855 cmds::Uniform3fv cmd; |
856 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 856 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
857 5, | 857 5, |
858 shared_memory_id_, | 858 shared_memory_id_, |
859 shared_memory_offset_); | 859 shared_memory_offset_); |
860 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 860 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
861 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 861 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
862 } | 862 } |
863 | 863 |
864 TEST_F(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { | 864 TEST_P(GLES2DecoderTest2, Uniform3fvImmediateValidArgs) { |
865 cmds::Uniform3fvImmediate& cmd = *GetImmediateAs<cmds::Uniform3fvImmediate>(); | 865 cmds::Uniform3fvImmediate& cmd = *GetImmediateAs<cmds::Uniform3fvImmediate>(); |
866 EXPECT_CALL( | 866 EXPECT_CALL( |
867 *gl_, | 867 *gl_, |
868 Uniform3fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 868 Uniform3fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
869 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); | 869 SpecializedSetup<cmds::Uniform3fvImmediate, 0>(true); |
870 GLfloat temp[3 * 2] = { | 870 GLfloat temp[3 * 2] = { |
871 0, | 871 0, |
872 }; | 872 }; |
873 cmd.Init(1, 2, &temp[0]); | 873 cmd.Init(1, 2, &temp[0]); |
874 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 874 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
875 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 875 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
876 } | 876 } |
877 | 877 |
878 TEST_F(GLES2DecoderTest2, Uniform3iValidArgs) { | 878 TEST_P(GLES2DecoderTest2, Uniform3iValidArgs) { |
879 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); | 879 EXPECT_CALL(*gl_, Uniform3iv(1, 1, _)); |
880 SpecializedSetup<cmds::Uniform3i, 0>(true); | 880 SpecializedSetup<cmds::Uniform3i, 0>(true); |
881 cmds::Uniform3i cmd; | 881 cmds::Uniform3i cmd; |
882 cmd.Init(1, 2, 3, 4); | 882 cmd.Init(1, 2, 3, 4); |
883 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 883 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
884 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 884 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
885 } | 885 } |
886 | 886 |
887 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgs) { | 887 TEST_P(GLES2DecoderTest2, Uniform3ivValidArgs) { |
888 EXPECT_CALL( | 888 EXPECT_CALL( |
889 *gl_, | 889 *gl_, |
890 Uniform3iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 890 Uniform3iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
891 SpecializedSetup<cmds::Uniform3iv, 0>(true); | 891 SpecializedSetup<cmds::Uniform3iv, 0>(true); |
892 cmds::Uniform3iv cmd; | 892 cmds::Uniform3iv cmd; |
893 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 893 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
894 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 894 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
895 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 895 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
896 } | 896 } |
897 | 897 |
898 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { | 898 TEST_P(GLES2DecoderTest2, Uniform3ivInvalidArgs1_0) { |
899 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 899 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
900 SpecializedSetup<cmds::Uniform3iv, 0>(false); | 900 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
901 cmds::Uniform3iv cmd; | 901 cmds::Uniform3iv cmd; |
902 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 902 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
903 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 903 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
904 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 904 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
905 } | 905 } |
906 | 906 |
907 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { | 907 TEST_P(GLES2DecoderTest2, Uniform3ivInvalidArgs2_0) { |
908 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 908 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
909 SpecializedSetup<cmds::Uniform3iv, 0>(false); | 909 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
910 cmds::Uniform3iv cmd; | 910 cmds::Uniform3iv cmd; |
911 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 911 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
912 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 912 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
913 } | 913 } |
914 | 914 |
915 TEST_F(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { | 915 TEST_P(GLES2DecoderTest2, Uniform3ivInvalidArgs2_1) { |
916 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); | 916 EXPECT_CALL(*gl_, Uniform3iv(_, _, _)).Times(0); |
917 SpecializedSetup<cmds::Uniform3iv, 0>(false); | 917 SpecializedSetup<cmds::Uniform3iv, 0>(false); |
918 cmds::Uniform3iv cmd; | 918 cmds::Uniform3iv cmd; |
919 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 919 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
920 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 920 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
921 } | 921 } |
922 | 922 |
923 TEST_F(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { | 923 TEST_P(GLES2DecoderTest2, Uniform3ivValidArgsCountTooLarge) { |
924 EXPECT_CALL( | 924 EXPECT_CALL( |
925 *gl_, | 925 *gl_, |
926 Uniform3iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 926 Uniform3iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
927 SpecializedSetup<cmds::Uniform3iv, 0>(true); | 927 SpecializedSetup<cmds::Uniform3iv, 0>(true); |
928 cmds::Uniform3iv cmd; | 928 cmds::Uniform3iv cmd; |
929 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 929 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
930 5, | 930 5, |
931 shared_memory_id_, | 931 shared_memory_id_, |
932 shared_memory_offset_); | 932 shared_memory_offset_); |
933 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 933 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
934 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 934 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
935 } | 935 } |
936 | 936 |
937 TEST_F(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { | 937 TEST_P(GLES2DecoderTest2, Uniform3ivImmediateValidArgs) { |
938 cmds::Uniform3ivImmediate& cmd = *GetImmediateAs<cmds::Uniform3ivImmediate>(); | 938 cmds::Uniform3ivImmediate& cmd = *GetImmediateAs<cmds::Uniform3ivImmediate>(); |
939 EXPECT_CALL( | 939 EXPECT_CALL( |
940 *gl_, | 940 *gl_, |
941 Uniform3iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 941 Uniform3iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
942 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); | 942 SpecializedSetup<cmds::Uniform3ivImmediate, 0>(true); |
943 GLint temp[3 * 2] = { | 943 GLint temp[3 * 2] = { |
944 0, | 944 0, |
945 }; | 945 }; |
946 cmd.Init(1, 2, &temp[0]); | 946 cmd.Init(1, 2, &temp[0]); |
947 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 947 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
948 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 948 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
949 } | 949 } |
950 | 950 |
951 TEST_F(GLES2DecoderTest2, Uniform4fValidArgs) { | 951 TEST_P(GLES2DecoderTest2, Uniform4fValidArgs) { |
952 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); | 952 EXPECT_CALL(*gl_, Uniform4fv(1, 1, _)); |
953 SpecializedSetup<cmds::Uniform4f, 0>(true); | 953 SpecializedSetup<cmds::Uniform4f, 0>(true); |
954 cmds::Uniform4f cmd; | 954 cmds::Uniform4f cmd; |
955 cmd.Init(1, 2, 3, 4, 5); | 955 cmd.Init(1, 2, 3, 4, 5); |
956 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 956 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
957 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 957 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
958 } | 958 } |
959 | 959 |
960 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgs) { | 960 TEST_P(GLES2DecoderTest2, Uniform4fvValidArgs) { |
961 EXPECT_CALL( | 961 EXPECT_CALL( |
962 *gl_, | 962 *gl_, |
963 Uniform4fv( | 963 Uniform4fv( |
964 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 964 1, 2, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
965 SpecializedSetup<cmds::Uniform4fv, 0>(true); | 965 SpecializedSetup<cmds::Uniform4fv, 0>(true); |
966 cmds::Uniform4fv cmd; | 966 cmds::Uniform4fv cmd; |
967 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 967 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
968 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 968 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
969 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 969 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
970 } | 970 } |
971 | 971 |
972 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { | 972 TEST_P(GLES2DecoderTest2, Uniform4fvInvalidArgs1_0) { |
973 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 973 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
974 SpecializedSetup<cmds::Uniform4fv, 0>(false); | 974 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
975 cmds::Uniform4fv cmd; | 975 cmds::Uniform4fv cmd; |
976 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 976 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
977 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 977 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
978 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 978 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
979 } | 979 } |
980 | 980 |
981 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { | 981 TEST_P(GLES2DecoderTest2, Uniform4fvInvalidArgs2_0) { |
982 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 982 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
983 SpecializedSetup<cmds::Uniform4fv, 0>(false); | 983 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
984 cmds::Uniform4fv cmd; | 984 cmds::Uniform4fv cmd; |
985 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 985 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
986 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 986 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
987 } | 987 } |
988 | 988 |
989 TEST_F(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { | 989 TEST_P(GLES2DecoderTest2, Uniform4fvInvalidArgs2_1) { |
990 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); | 990 EXPECT_CALL(*gl_, Uniform4fv(_, _, _)).Times(0); |
991 SpecializedSetup<cmds::Uniform4fv, 0>(false); | 991 SpecializedSetup<cmds::Uniform4fv, 0>(false); |
992 cmds::Uniform4fv cmd; | 992 cmds::Uniform4fv cmd; |
993 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 993 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
994 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 994 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
995 } | 995 } |
996 | 996 |
997 TEST_F(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { | 997 TEST_P(GLES2DecoderTest2, Uniform4fvValidArgsCountTooLarge) { |
998 EXPECT_CALL( | 998 EXPECT_CALL( |
999 *gl_, | 999 *gl_, |
1000 Uniform4fv( | 1000 Uniform4fv( |
1001 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1001 3, 3, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1002 SpecializedSetup<cmds::Uniform4fv, 0>(true); | 1002 SpecializedSetup<cmds::Uniform4fv, 0>(true); |
1003 cmds::Uniform4fv cmd; | 1003 cmds::Uniform4fv cmd; |
1004 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 1004 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
1005 5, | 1005 5, |
1006 shared_memory_id_, | 1006 shared_memory_id_, |
1007 shared_memory_offset_); | 1007 shared_memory_offset_); |
1008 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1008 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1009 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1009 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1010 } | 1010 } |
1011 | 1011 |
1012 TEST_F(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { | 1012 TEST_P(GLES2DecoderTest2, Uniform4fvImmediateValidArgs) { |
1013 cmds::Uniform4fvImmediate& cmd = *GetImmediateAs<cmds::Uniform4fvImmediate>(); | 1013 cmds::Uniform4fvImmediate& cmd = *GetImmediateAs<cmds::Uniform4fvImmediate>(); |
1014 EXPECT_CALL( | 1014 EXPECT_CALL( |
1015 *gl_, | 1015 *gl_, |
1016 Uniform4fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1016 Uniform4fv(1, 2, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1017 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); | 1017 SpecializedSetup<cmds::Uniform4fvImmediate, 0>(true); |
1018 GLfloat temp[4 * 2] = { | 1018 GLfloat temp[4 * 2] = { |
1019 0, | 1019 0, |
1020 }; | 1020 }; |
1021 cmd.Init(1, 2, &temp[0]); | 1021 cmd.Init(1, 2, &temp[0]); |
1022 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1022 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1023 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1023 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1024 } | 1024 } |
1025 | 1025 |
1026 TEST_F(GLES2DecoderTest2, Uniform4iValidArgs) { | 1026 TEST_P(GLES2DecoderTest2, Uniform4iValidArgs) { |
1027 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); | 1027 EXPECT_CALL(*gl_, Uniform4iv(1, 1, _)); |
1028 SpecializedSetup<cmds::Uniform4i, 0>(true); | 1028 SpecializedSetup<cmds::Uniform4i, 0>(true); |
1029 cmds::Uniform4i cmd; | 1029 cmds::Uniform4i cmd; |
1030 cmd.Init(1, 2, 3, 4, 5); | 1030 cmd.Init(1, 2, 3, 4, 5); |
1031 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1031 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1032 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1032 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1033 } | 1033 } |
1034 | 1034 |
1035 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgs) { | 1035 TEST_P(GLES2DecoderTest2, Uniform4ivValidArgs) { |
1036 EXPECT_CALL( | 1036 EXPECT_CALL( |
1037 *gl_, | 1037 *gl_, |
1038 Uniform4iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1038 Uniform4iv(1, 2, reinterpret_cast<const GLint*>(shared_memory_address_))); |
1039 SpecializedSetup<cmds::Uniform4iv, 0>(true); | 1039 SpecializedSetup<cmds::Uniform4iv, 0>(true); |
1040 cmds::Uniform4iv cmd; | 1040 cmds::Uniform4iv cmd; |
1041 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); | 1041 cmd.Init(1, 2, shared_memory_id_, shared_memory_offset_); |
1042 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1042 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1043 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1043 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1044 } | 1044 } |
1045 | 1045 |
1046 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { | 1046 TEST_P(GLES2DecoderTest2, Uniform4ivInvalidArgs1_0) { |
1047 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1047 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
1048 SpecializedSetup<cmds::Uniform4iv, 0>(false); | 1048 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
1049 cmds::Uniform4iv cmd; | 1049 cmds::Uniform4iv cmd; |
1050 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); | 1050 cmd.Init(1, -1, shared_memory_id_, shared_memory_offset_); |
1051 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1051 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1052 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1052 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1053 } | 1053 } |
1054 | 1054 |
1055 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { | 1055 TEST_P(GLES2DecoderTest2, Uniform4ivInvalidArgs2_0) { |
1056 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1056 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
1057 SpecializedSetup<cmds::Uniform4iv, 0>(false); | 1057 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
1058 cmds::Uniform4iv cmd; | 1058 cmds::Uniform4iv cmd; |
1059 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); | 1059 cmd.Init(1, 2, kInvalidSharedMemoryId, 0); |
1060 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1060 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1061 } | 1061 } |
1062 | 1062 |
1063 TEST_F(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { | 1063 TEST_P(GLES2DecoderTest2, Uniform4ivInvalidArgs2_1) { |
1064 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); | 1064 EXPECT_CALL(*gl_, Uniform4iv(_, _, _)).Times(0); |
1065 SpecializedSetup<cmds::Uniform4iv, 0>(false); | 1065 SpecializedSetup<cmds::Uniform4iv, 0>(false); |
1066 cmds::Uniform4iv cmd; | 1066 cmds::Uniform4iv cmd; |
1067 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); | 1067 cmd.Init(1, 2, shared_memory_id_, kInvalidSharedMemoryOffset); |
1068 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1068 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1069 } | 1069 } |
1070 | 1070 |
1071 TEST_F(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { | 1071 TEST_P(GLES2DecoderTest2, Uniform4ivValidArgsCountTooLarge) { |
1072 EXPECT_CALL( | 1072 EXPECT_CALL( |
1073 *gl_, | 1073 *gl_, |
1074 Uniform4iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); | 1074 Uniform4iv(3, 3, reinterpret_cast<const GLint*>(shared_memory_address_))); |
1075 SpecializedSetup<cmds::Uniform4iv, 0>(true); | 1075 SpecializedSetup<cmds::Uniform4iv, 0>(true); |
1076 cmds::Uniform4iv cmd; | 1076 cmds::Uniform4iv cmd; |
1077 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 1077 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
1078 5, | 1078 5, |
1079 shared_memory_id_, | 1079 shared_memory_id_, |
1080 shared_memory_offset_); | 1080 shared_memory_offset_); |
1081 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1081 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1082 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1082 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1083 } | 1083 } |
1084 | 1084 |
1085 TEST_F(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { | 1085 TEST_P(GLES2DecoderTest2, Uniform4ivImmediateValidArgs) { |
1086 cmds::Uniform4ivImmediate& cmd = *GetImmediateAs<cmds::Uniform4ivImmediate>(); | 1086 cmds::Uniform4ivImmediate& cmd = *GetImmediateAs<cmds::Uniform4ivImmediate>(); |
1087 EXPECT_CALL( | 1087 EXPECT_CALL( |
1088 *gl_, | 1088 *gl_, |
1089 Uniform4iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); | 1089 Uniform4iv(1, 2, reinterpret_cast<GLint*>(ImmediateDataAddress(&cmd)))); |
1090 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); | 1090 SpecializedSetup<cmds::Uniform4ivImmediate, 0>(true); |
1091 GLint temp[4 * 2] = { | 1091 GLint temp[4 * 2] = { |
1092 0, | 1092 0, |
1093 }; | 1093 }; |
1094 cmd.Init(1, 2, &temp[0]); | 1094 cmd.Init(1, 2, &temp[0]); |
1095 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1095 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1096 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1096 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1097 } | 1097 } |
1098 | 1098 |
1099 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { | 1099 TEST_P(GLES2DecoderTest2, UniformMatrix2fvValidArgs) { |
1100 EXPECT_CALL(*gl_, | 1100 EXPECT_CALL(*gl_, |
1101 UniformMatrix2fv( | 1101 UniformMatrix2fv( |
1102 1, | 1102 1, |
1103 2, | 1103 2, |
1104 false, | 1104 false, |
1105 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1105 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1106 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); | 1106 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); |
1107 cmds::UniformMatrix2fv cmd; | 1107 cmds::UniformMatrix2fv cmd; |
1108 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1108 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
1109 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1109 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1110 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1110 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1111 } | 1111 } |
1112 | 1112 |
1113 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { | 1113 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs1_0) { |
1114 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1114 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1115 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | 1115 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1116 cmds::UniformMatrix2fv cmd; | 1116 cmds::UniformMatrix2fv cmd; |
1117 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1117 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
1118 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1118 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1119 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1119 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1120 } | 1120 } |
1121 | 1121 |
1122 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { | 1122 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs2_0) { |
1123 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1123 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1124 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | 1124 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1125 cmds::UniformMatrix2fv cmd; | 1125 cmds::UniformMatrix2fv cmd; |
1126 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1126 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
1127 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1127 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1128 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1128 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1129 } | 1129 } |
1130 | 1130 |
1131 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { | 1131 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_0) { |
1132 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1132 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1133 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | 1133 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1134 cmds::UniformMatrix2fv cmd; | 1134 cmds::UniformMatrix2fv cmd; |
1135 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1135 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
1136 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1136 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1137 } | 1137 } |
1138 | 1138 |
1139 TEST_F(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { | 1139 TEST_P(GLES2DecoderTest2, UniformMatrix2fvInvalidArgs3_1) { |
1140 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1140 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1141 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); | 1141 SpecializedSetup<cmds::UniformMatrix2fv, 0>(false); |
1142 cmds::UniformMatrix2fv cmd; | 1142 cmds::UniformMatrix2fv cmd; |
1143 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1143 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
1144 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1144 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1145 } | 1145 } |
1146 | 1146 |
1147 TEST_F(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { | 1147 TEST_P(GLES2DecoderTest2, UniformMatrix2fvValidArgsCountTooLarge) { |
1148 EXPECT_CALL(*gl_, | 1148 EXPECT_CALL(*gl_, |
1149 UniformMatrix2fv( | 1149 UniformMatrix2fv( |
1150 3, | 1150 3, |
1151 3, | 1151 3, |
1152 false, | 1152 false, |
1153 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1153 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1154 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); | 1154 SpecializedSetup<cmds::UniformMatrix2fv, 0>(true); |
1155 cmds::UniformMatrix2fv cmd; | 1155 cmds::UniformMatrix2fv cmd; |
1156 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 1156 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
1157 5, | 1157 5, |
1158 false, | 1158 false, |
1159 shared_memory_id_, | 1159 shared_memory_id_, |
1160 shared_memory_offset_); | 1160 shared_memory_offset_); |
1161 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1161 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1162 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1162 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1163 } | 1163 } |
1164 | 1164 |
1165 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { | 1165 TEST_P(GLES2DecoderTest2, UniformMatrix2fvImmediateValidArgs) { |
1166 cmds::UniformMatrix2fvImmediate& cmd = | 1166 cmds::UniformMatrix2fvImmediate& cmd = |
1167 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); | 1167 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
1168 EXPECT_CALL( | 1168 EXPECT_CALL( |
1169 *gl_, | 1169 *gl_, |
1170 UniformMatrix2fv( | 1170 UniformMatrix2fv( |
1171 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1171 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1172 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(true); | 1172 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(true); |
1173 GLfloat temp[4 * 2] = { | 1173 GLfloat temp[4 * 2] = { |
1174 0, | 1174 0, |
1175 }; | 1175 }; |
1176 cmd.Init(1, 2, false, &temp[0]); | 1176 cmd.Init(1, 2, false, &temp[0]); |
1177 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1177 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1178 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1178 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1179 } | 1179 } |
1180 | 1180 |
1181 TEST_F(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { | 1181 TEST_P(GLES2DecoderTest2, UniformMatrix2fvImmediateInvalidArgs2_0) { |
1182 cmds::UniformMatrix2fvImmediate& cmd = | 1182 cmds::UniformMatrix2fvImmediate& cmd = |
1183 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); | 1183 *GetImmediateAs<cmds::UniformMatrix2fvImmediate>(); |
1184 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); | 1184 EXPECT_CALL(*gl_, UniformMatrix2fv(_, _, _, _)).Times(0); |
1185 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(false); | 1185 SpecializedSetup<cmds::UniformMatrix2fvImmediate, 0>(false); |
1186 GLfloat temp[4 * 2] = { | 1186 GLfloat temp[4 * 2] = { |
1187 0, | 1187 0, |
1188 }; | 1188 }; |
1189 cmd.Init(1, 2, true, &temp[0]); | 1189 cmd.Init(1, 2, true, &temp[0]); |
1190 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1190 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1191 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1191 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1192 } | 1192 } |
1193 | 1193 |
1194 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { | 1194 TEST_P(GLES2DecoderTest2, UniformMatrix3fvValidArgs) { |
1195 EXPECT_CALL(*gl_, | 1195 EXPECT_CALL(*gl_, |
1196 UniformMatrix3fv( | 1196 UniformMatrix3fv( |
1197 1, | 1197 1, |
1198 2, | 1198 2, |
1199 false, | 1199 false, |
1200 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1200 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1201 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); | 1201 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); |
1202 cmds::UniformMatrix3fv cmd; | 1202 cmds::UniformMatrix3fv cmd; |
1203 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1203 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
1204 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1204 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1205 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1206 } | 1206 } |
1207 | 1207 |
1208 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { | 1208 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs1_0) { |
1209 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1209 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1210 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | 1210 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1211 cmds::UniformMatrix3fv cmd; | 1211 cmds::UniformMatrix3fv cmd; |
1212 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1212 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
1213 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1213 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1214 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1214 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1215 } | 1215 } |
1216 | 1216 |
1217 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { | 1217 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs2_0) { |
1218 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1218 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1219 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | 1219 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1220 cmds::UniformMatrix3fv cmd; | 1220 cmds::UniformMatrix3fv cmd; |
1221 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1221 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
1222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1222 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1223 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1223 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1224 } | 1224 } |
1225 | 1225 |
1226 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { | 1226 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_0) { |
1227 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1227 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1228 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | 1228 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1229 cmds::UniformMatrix3fv cmd; | 1229 cmds::UniformMatrix3fv cmd; |
1230 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1230 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
1231 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1231 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1232 } | 1232 } |
1233 | 1233 |
1234 TEST_F(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { | 1234 TEST_P(GLES2DecoderTest2, UniformMatrix3fvInvalidArgs3_1) { |
1235 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1235 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1236 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); | 1236 SpecializedSetup<cmds::UniformMatrix3fv, 0>(false); |
1237 cmds::UniformMatrix3fv cmd; | 1237 cmds::UniformMatrix3fv cmd; |
1238 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1238 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
1239 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1239 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1240 } | 1240 } |
1241 | 1241 |
1242 TEST_F(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { | 1242 TEST_P(GLES2DecoderTest2, UniformMatrix3fvValidArgsCountTooLarge) { |
1243 EXPECT_CALL(*gl_, | 1243 EXPECT_CALL(*gl_, |
1244 UniformMatrix3fv( | 1244 UniformMatrix3fv( |
1245 3, | 1245 3, |
1246 3, | 1246 3, |
1247 false, | 1247 false, |
1248 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1248 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1249 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); | 1249 SpecializedSetup<cmds::UniformMatrix3fv, 0>(true); |
1250 cmds::UniformMatrix3fv cmd; | 1250 cmds::UniformMatrix3fv cmd; |
1251 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 1251 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
1252 5, | 1252 5, |
1253 false, | 1253 false, |
1254 shared_memory_id_, | 1254 shared_memory_id_, |
1255 shared_memory_offset_); | 1255 shared_memory_offset_); |
1256 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1256 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1257 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1257 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1258 } | 1258 } |
1259 | 1259 |
1260 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { | 1260 TEST_P(GLES2DecoderTest2, UniformMatrix3fvImmediateValidArgs) { |
1261 cmds::UniformMatrix3fvImmediate& cmd = | 1261 cmds::UniformMatrix3fvImmediate& cmd = |
1262 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); | 1262 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
1263 EXPECT_CALL( | 1263 EXPECT_CALL( |
1264 *gl_, | 1264 *gl_, |
1265 UniformMatrix3fv( | 1265 UniformMatrix3fv( |
1266 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1266 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1267 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(true); | 1267 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(true); |
1268 GLfloat temp[9 * 2] = { | 1268 GLfloat temp[9 * 2] = { |
1269 0, | 1269 0, |
1270 }; | 1270 }; |
1271 cmd.Init(1, 2, false, &temp[0]); | 1271 cmd.Init(1, 2, false, &temp[0]); |
1272 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1272 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1273 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1273 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1274 } | 1274 } |
1275 | 1275 |
1276 TEST_F(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { | 1276 TEST_P(GLES2DecoderTest2, UniformMatrix3fvImmediateInvalidArgs2_0) { |
1277 cmds::UniformMatrix3fvImmediate& cmd = | 1277 cmds::UniformMatrix3fvImmediate& cmd = |
1278 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); | 1278 *GetImmediateAs<cmds::UniformMatrix3fvImmediate>(); |
1279 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); | 1279 EXPECT_CALL(*gl_, UniformMatrix3fv(_, _, _, _)).Times(0); |
1280 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(false); | 1280 SpecializedSetup<cmds::UniformMatrix3fvImmediate, 0>(false); |
1281 GLfloat temp[9 * 2] = { | 1281 GLfloat temp[9 * 2] = { |
1282 0, | 1282 0, |
1283 }; | 1283 }; |
1284 cmd.Init(1, 2, true, &temp[0]); | 1284 cmd.Init(1, 2, true, &temp[0]); |
1285 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1285 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1286 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1286 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1287 } | 1287 } |
1288 | 1288 |
1289 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { | 1289 TEST_P(GLES2DecoderTest2, UniformMatrix4fvValidArgs) { |
1290 EXPECT_CALL(*gl_, | 1290 EXPECT_CALL(*gl_, |
1291 UniformMatrix4fv( | 1291 UniformMatrix4fv( |
1292 1, | 1292 1, |
1293 2, | 1293 2, |
1294 false, | 1294 false, |
1295 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1295 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1296 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); | 1296 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); |
1297 cmds::UniformMatrix4fv cmd; | 1297 cmds::UniformMatrix4fv cmd; |
1298 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); | 1298 cmd.Init(1, 2, false, shared_memory_id_, shared_memory_offset_); |
1299 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1299 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1300 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1300 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1301 } | 1301 } |
1302 | 1302 |
1303 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { | 1303 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs1_0) { |
1304 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1304 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1305 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | 1305 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1306 cmds::UniformMatrix4fv cmd; | 1306 cmds::UniformMatrix4fv cmd; |
1307 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); | 1307 cmd.Init(1, -1, false, shared_memory_id_, shared_memory_offset_); |
1308 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1308 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1309 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1309 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1310 } | 1310 } |
1311 | 1311 |
1312 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { | 1312 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs2_0) { |
1313 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1313 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1314 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | 1314 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1315 cmds::UniformMatrix4fv cmd; | 1315 cmds::UniformMatrix4fv cmd; |
1316 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); | 1316 cmd.Init(1, 2, true, shared_memory_id_, shared_memory_offset_); |
1317 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1317 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1318 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1318 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1319 } | 1319 } |
1320 | 1320 |
1321 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { | 1321 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_0) { |
1322 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1322 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1323 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | 1323 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1324 cmds::UniformMatrix4fv cmd; | 1324 cmds::UniformMatrix4fv cmd; |
1325 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); | 1325 cmd.Init(1, 2, false, kInvalidSharedMemoryId, 0); |
1326 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1326 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1327 } | 1327 } |
1328 | 1328 |
1329 TEST_F(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { | 1329 TEST_P(GLES2DecoderTest2, UniformMatrix4fvInvalidArgs3_1) { |
1330 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1330 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1331 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); | 1331 SpecializedSetup<cmds::UniformMatrix4fv, 0>(false); |
1332 cmds::UniformMatrix4fv cmd; | 1332 cmds::UniformMatrix4fv cmd; |
1333 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); | 1333 cmd.Init(1, 2, false, shared_memory_id_, kInvalidSharedMemoryOffset); |
1334 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1334 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1335 } | 1335 } |
1336 | 1336 |
1337 TEST_F(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { | 1337 TEST_P(GLES2DecoderTest2, UniformMatrix4fvValidArgsCountTooLarge) { |
1338 EXPECT_CALL(*gl_, | 1338 EXPECT_CALL(*gl_, |
1339 UniformMatrix4fv( | 1339 UniformMatrix4fv( |
1340 3, | 1340 3, |
1341 3, | 1341 3, |
1342 false, | 1342 false, |
1343 reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1343 reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1344 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); | 1344 SpecializedSetup<cmds::UniformMatrix4fv, 0>(true); |
1345 cmds::UniformMatrix4fv cmd; | 1345 cmds::UniformMatrix4fv cmd; |
1346 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), | 1346 cmd.Init(ProgramManager::MakeFakeLocation(1, 1), |
1347 5, | 1347 5, |
1348 false, | 1348 false, |
1349 shared_memory_id_, | 1349 shared_memory_id_, |
1350 shared_memory_offset_); | 1350 shared_memory_offset_); |
1351 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1351 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1352 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1352 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1353 } | 1353 } |
1354 | 1354 |
1355 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { | 1355 TEST_P(GLES2DecoderTest2, UniformMatrix4fvImmediateValidArgs) { |
1356 cmds::UniformMatrix4fvImmediate& cmd = | 1356 cmds::UniformMatrix4fvImmediate& cmd = |
1357 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); | 1357 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
1358 EXPECT_CALL( | 1358 EXPECT_CALL( |
1359 *gl_, | 1359 *gl_, |
1360 UniformMatrix4fv( | 1360 UniformMatrix4fv( |
1361 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1361 1, 2, false, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1362 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(true); | 1362 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(true); |
1363 GLfloat temp[16 * 2] = { | 1363 GLfloat temp[16 * 2] = { |
1364 0, | 1364 0, |
1365 }; | 1365 }; |
1366 cmd.Init(1, 2, false, &temp[0]); | 1366 cmd.Init(1, 2, false, &temp[0]); |
1367 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1367 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1368 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1368 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1369 } | 1369 } |
1370 | 1370 |
1371 TEST_F(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { | 1371 TEST_P(GLES2DecoderTest2, UniformMatrix4fvImmediateInvalidArgs2_0) { |
1372 cmds::UniformMatrix4fvImmediate& cmd = | 1372 cmds::UniformMatrix4fvImmediate& cmd = |
1373 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); | 1373 *GetImmediateAs<cmds::UniformMatrix4fvImmediate>(); |
1374 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); | 1374 EXPECT_CALL(*gl_, UniformMatrix4fv(_, _, _, _)).Times(0); |
1375 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(false); | 1375 SpecializedSetup<cmds::UniformMatrix4fvImmediate, 0>(false); |
1376 GLfloat temp[16 * 2] = { | 1376 GLfloat temp[16 * 2] = { |
1377 0, | 1377 0, |
1378 }; | 1378 }; |
1379 cmd.Init(1, 2, true, &temp[0]); | 1379 cmd.Init(1, 2, true, &temp[0]); |
1380 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1380 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1381 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1381 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1382 } | 1382 } |
1383 | 1383 |
1384 TEST_F(GLES2DecoderTest2, UseProgramValidArgs) { | 1384 TEST_P(GLES2DecoderTest2, UseProgramValidArgs) { |
1385 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)); | 1385 EXPECT_CALL(*gl_, UseProgram(kServiceProgramId)); |
1386 SpecializedSetup<cmds::UseProgram, 0>(true); | 1386 SpecializedSetup<cmds::UseProgram, 0>(true); |
1387 cmds::UseProgram cmd; | 1387 cmds::UseProgram cmd; |
1388 cmd.Init(client_program_id_); | 1388 cmd.Init(client_program_id_); |
1389 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1389 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1390 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1390 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1391 } | 1391 } |
1392 | 1392 |
1393 TEST_F(GLES2DecoderTest2, UseProgramInvalidArgs0_0) { | 1393 TEST_P(GLES2DecoderTest2, UseProgramInvalidArgs0_0) { |
1394 EXPECT_CALL(*gl_, UseProgram(_)).Times(0); | 1394 EXPECT_CALL(*gl_, UseProgram(_)).Times(0); |
1395 SpecializedSetup<cmds::UseProgram, 0>(false); | 1395 SpecializedSetup<cmds::UseProgram, 0>(false); |
1396 cmds::UseProgram cmd; | 1396 cmds::UseProgram cmd; |
1397 cmd.Init(kInvalidClientId); | 1397 cmd.Init(kInvalidClientId); |
1398 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1398 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1399 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1399 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1400 } | 1400 } |
1401 | 1401 |
1402 TEST_F(GLES2DecoderTest2, ValidateProgramValidArgs) { | 1402 TEST_P(GLES2DecoderTest2, ValidateProgramValidArgs) { |
1403 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); | 1403 EXPECT_CALL(*gl_, ValidateProgram(kServiceProgramId)); |
1404 SpecializedSetup<cmds::ValidateProgram, 0>(true); | 1404 SpecializedSetup<cmds::ValidateProgram, 0>(true); |
1405 cmds::ValidateProgram cmd; | 1405 cmds::ValidateProgram cmd; |
1406 cmd.Init(client_program_id_); | 1406 cmd.Init(client_program_id_); |
1407 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1407 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1408 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1408 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1409 } | 1409 } |
1410 | 1410 |
1411 TEST_F(GLES2DecoderTest2, VertexAttrib1fValidArgs) { | 1411 TEST_P(GLES2DecoderTest2, VertexAttrib1fValidArgs) { |
1412 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); | 1412 EXPECT_CALL(*gl_, VertexAttrib1f(1, 2)); |
1413 SpecializedSetup<cmds::VertexAttrib1f, 0>(true); | 1413 SpecializedSetup<cmds::VertexAttrib1f, 0>(true); |
1414 cmds::VertexAttrib1f cmd; | 1414 cmds::VertexAttrib1f cmd; |
1415 cmd.Init(1, 2); | 1415 cmd.Init(1, 2); |
1416 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1416 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1417 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1417 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1418 } | 1418 } |
1419 | 1419 |
1420 TEST_F(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { | 1420 TEST_P(GLES2DecoderTest2, VertexAttrib1fvValidArgs) { |
1421 SpecializedSetup<cmds::VertexAttrib1fv, 0>(true); | 1421 SpecializedSetup<cmds::VertexAttrib1fv, 0>(true); |
1422 cmds::VertexAttrib1fv cmd; | 1422 cmds::VertexAttrib1fv cmd; |
1423 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1423 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1424 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1424 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1425 EXPECT_CALL(*gl_, | 1425 EXPECT_CALL(*gl_, |
1426 VertexAttrib1fv( | 1426 VertexAttrib1fv( |
1427 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1427 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1428 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1428 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1429 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1429 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1430 } | 1430 } |
1431 | 1431 |
1432 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { | 1432 TEST_P(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_0) { |
1433 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | 1433 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); |
1434 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); | 1434 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); |
1435 cmds::VertexAttrib1fv cmd; | 1435 cmds::VertexAttrib1fv cmd; |
1436 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1436 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1437 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1437 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1438 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1438 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1439 } | 1439 } |
1440 | 1440 |
1441 TEST_F(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { | 1441 TEST_P(GLES2DecoderTest2, VertexAttrib1fvInvalidArgs1_1) { |
1442 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); | 1442 EXPECT_CALL(*gl_, VertexAttrib1fv(_, _)).Times(0); |
1443 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); | 1443 SpecializedSetup<cmds::VertexAttrib1fv, 0>(false); |
1444 cmds::VertexAttrib1fv cmd; | 1444 cmds::VertexAttrib1fv cmd; |
1445 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1445 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1446 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1446 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1447 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1447 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1448 } | 1448 } |
1449 | 1449 |
1450 TEST_F(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { | 1450 TEST_P(GLES2DecoderTest2, VertexAttrib1fvImmediateValidArgs) { |
1451 cmds::VertexAttrib1fvImmediate& cmd = | 1451 cmds::VertexAttrib1fvImmediate& cmd = |
1452 *GetImmediateAs<cmds::VertexAttrib1fvImmediate>(); | 1452 *GetImmediateAs<cmds::VertexAttrib1fvImmediate>(); |
1453 SpecializedSetup<cmds::VertexAttrib1fvImmediate, 0>(true); | 1453 SpecializedSetup<cmds::VertexAttrib1fvImmediate, 0>(true); |
1454 GLfloat temp[1] = { | 1454 GLfloat temp[1] = { |
1455 0, | 1455 0, |
1456 }; | 1456 }; |
1457 cmd.Init(1, &temp[0]); | 1457 cmd.Init(1, &temp[0]); |
1458 EXPECT_CALL(*gl_, | 1458 EXPECT_CALL(*gl_, |
1459 VertexAttrib1fv( | 1459 VertexAttrib1fv( |
1460 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1460 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1461 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1461 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1462 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1462 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1463 } | 1463 } |
1464 | 1464 |
1465 TEST_F(GLES2DecoderTest2, VertexAttrib2fValidArgs) { | 1465 TEST_P(GLES2DecoderTest2, VertexAttrib2fValidArgs) { |
1466 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); | 1466 EXPECT_CALL(*gl_, VertexAttrib2f(1, 2, 3)); |
1467 SpecializedSetup<cmds::VertexAttrib2f, 0>(true); | 1467 SpecializedSetup<cmds::VertexAttrib2f, 0>(true); |
1468 cmds::VertexAttrib2f cmd; | 1468 cmds::VertexAttrib2f cmd; |
1469 cmd.Init(1, 2, 3); | 1469 cmd.Init(1, 2, 3); |
1470 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1470 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1471 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1471 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1472 } | 1472 } |
1473 | 1473 |
1474 TEST_F(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { | 1474 TEST_P(GLES2DecoderTest2, VertexAttrib2fvValidArgs) { |
1475 SpecializedSetup<cmds::VertexAttrib2fv, 0>(true); | 1475 SpecializedSetup<cmds::VertexAttrib2fv, 0>(true); |
1476 cmds::VertexAttrib2fv cmd; | 1476 cmds::VertexAttrib2fv cmd; |
1477 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1477 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1478 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1478 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1479 EXPECT_CALL(*gl_, | 1479 EXPECT_CALL(*gl_, |
1480 VertexAttrib2fv( | 1480 VertexAttrib2fv( |
1481 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1481 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1482 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1482 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1483 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1483 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1484 } | 1484 } |
1485 | 1485 |
1486 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { | 1486 TEST_P(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_0) { |
1487 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | 1487 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); |
1488 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); | 1488 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); |
1489 cmds::VertexAttrib2fv cmd; | 1489 cmds::VertexAttrib2fv cmd; |
1490 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1490 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1491 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1491 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1492 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1492 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1493 } | 1493 } |
1494 | 1494 |
1495 TEST_F(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { | 1495 TEST_P(GLES2DecoderTest2, VertexAttrib2fvInvalidArgs1_1) { |
1496 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); | 1496 EXPECT_CALL(*gl_, VertexAttrib2fv(_, _)).Times(0); |
1497 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); | 1497 SpecializedSetup<cmds::VertexAttrib2fv, 0>(false); |
1498 cmds::VertexAttrib2fv cmd; | 1498 cmds::VertexAttrib2fv cmd; |
1499 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1499 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1500 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1500 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1501 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1501 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1502 } | 1502 } |
1503 | 1503 |
1504 TEST_F(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { | 1504 TEST_P(GLES2DecoderTest2, VertexAttrib2fvImmediateValidArgs) { |
1505 cmds::VertexAttrib2fvImmediate& cmd = | 1505 cmds::VertexAttrib2fvImmediate& cmd = |
1506 *GetImmediateAs<cmds::VertexAttrib2fvImmediate>(); | 1506 *GetImmediateAs<cmds::VertexAttrib2fvImmediate>(); |
1507 SpecializedSetup<cmds::VertexAttrib2fvImmediate, 0>(true); | 1507 SpecializedSetup<cmds::VertexAttrib2fvImmediate, 0>(true); |
1508 GLfloat temp[2] = { | 1508 GLfloat temp[2] = { |
1509 0, | 1509 0, |
1510 }; | 1510 }; |
1511 cmd.Init(1, &temp[0]); | 1511 cmd.Init(1, &temp[0]); |
1512 EXPECT_CALL(*gl_, | 1512 EXPECT_CALL(*gl_, |
1513 VertexAttrib2fv( | 1513 VertexAttrib2fv( |
1514 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1514 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1515 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1515 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1516 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1516 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1517 } | 1517 } |
1518 | 1518 |
1519 TEST_F(GLES2DecoderTest2, VertexAttrib3fValidArgs) { | 1519 TEST_P(GLES2DecoderTest2, VertexAttrib3fValidArgs) { |
1520 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); | 1520 EXPECT_CALL(*gl_, VertexAttrib3f(1, 2, 3, 4)); |
1521 SpecializedSetup<cmds::VertexAttrib3f, 0>(true); | 1521 SpecializedSetup<cmds::VertexAttrib3f, 0>(true); |
1522 cmds::VertexAttrib3f cmd; | 1522 cmds::VertexAttrib3f cmd; |
1523 cmd.Init(1, 2, 3, 4); | 1523 cmd.Init(1, 2, 3, 4); |
1524 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1524 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1525 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1525 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1526 } | 1526 } |
1527 | 1527 |
1528 TEST_F(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { | 1528 TEST_P(GLES2DecoderTest2, VertexAttrib3fvValidArgs) { |
1529 SpecializedSetup<cmds::VertexAttrib3fv, 0>(true); | 1529 SpecializedSetup<cmds::VertexAttrib3fv, 0>(true); |
1530 cmds::VertexAttrib3fv cmd; | 1530 cmds::VertexAttrib3fv cmd; |
1531 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1531 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1532 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1532 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1533 EXPECT_CALL(*gl_, | 1533 EXPECT_CALL(*gl_, |
1534 VertexAttrib3fv( | 1534 VertexAttrib3fv( |
1535 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1535 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1536 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1536 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1537 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1537 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1538 } | 1538 } |
1539 | 1539 |
1540 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { | 1540 TEST_P(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_0) { |
1541 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | 1541 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); |
1542 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); | 1542 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); |
1543 cmds::VertexAttrib3fv cmd; | 1543 cmds::VertexAttrib3fv cmd; |
1544 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1544 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1545 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1545 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1546 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1546 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1547 } | 1547 } |
1548 | 1548 |
1549 TEST_F(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { | 1549 TEST_P(GLES2DecoderTest2, VertexAttrib3fvInvalidArgs1_1) { |
1550 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); | 1550 EXPECT_CALL(*gl_, VertexAttrib3fv(_, _)).Times(0); |
1551 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); | 1551 SpecializedSetup<cmds::VertexAttrib3fv, 0>(false); |
1552 cmds::VertexAttrib3fv cmd; | 1552 cmds::VertexAttrib3fv cmd; |
1553 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1553 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1554 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1554 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1555 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1555 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1556 } | 1556 } |
1557 | 1557 |
1558 TEST_F(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { | 1558 TEST_P(GLES2DecoderTest2, VertexAttrib3fvImmediateValidArgs) { |
1559 cmds::VertexAttrib3fvImmediate& cmd = | 1559 cmds::VertexAttrib3fvImmediate& cmd = |
1560 *GetImmediateAs<cmds::VertexAttrib3fvImmediate>(); | 1560 *GetImmediateAs<cmds::VertexAttrib3fvImmediate>(); |
1561 SpecializedSetup<cmds::VertexAttrib3fvImmediate, 0>(true); | 1561 SpecializedSetup<cmds::VertexAttrib3fvImmediate, 0>(true); |
1562 GLfloat temp[3] = { | 1562 GLfloat temp[3] = { |
1563 0, | 1563 0, |
1564 }; | 1564 }; |
1565 cmd.Init(1, &temp[0]); | 1565 cmd.Init(1, &temp[0]); |
1566 EXPECT_CALL(*gl_, | 1566 EXPECT_CALL(*gl_, |
1567 VertexAttrib3fv( | 1567 VertexAttrib3fv( |
1568 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1568 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1569 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1569 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1570 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1570 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1571 } | 1571 } |
1572 | 1572 |
1573 TEST_F(GLES2DecoderTest2, VertexAttrib4fValidArgs) { | 1573 TEST_P(GLES2DecoderTest2, VertexAttrib4fValidArgs) { |
1574 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); | 1574 EXPECT_CALL(*gl_, VertexAttrib4f(1, 2, 3, 4, 5)); |
1575 SpecializedSetup<cmds::VertexAttrib4f, 0>(true); | 1575 SpecializedSetup<cmds::VertexAttrib4f, 0>(true); |
1576 cmds::VertexAttrib4f cmd; | 1576 cmds::VertexAttrib4f cmd; |
1577 cmd.Init(1, 2, 3, 4, 5); | 1577 cmd.Init(1, 2, 3, 4, 5); |
1578 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1578 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1579 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1579 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1580 } | 1580 } |
1581 | 1581 |
1582 TEST_F(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { | 1582 TEST_P(GLES2DecoderTest2, VertexAttrib4fvValidArgs) { |
1583 SpecializedSetup<cmds::VertexAttrib4fv, 0>(true); | 1583 SpecializedSetup<cmds::VertexAttrib4fv, 0>(true); |
1584 cmds::VertexAttrib4fv cmd; | 1584 cmds::VertexAttrib4fv cmd; |
1585 cmd.Init(1, shared_memory_id_, shared_memory_offset_); | 1585 cmd.Init(1, shared_memory_id_, shared_memory_offset_); |
1586 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1586 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1587 EXPECT_CALL(*gl_, | 1587 EXPECT_CALL(*gl_, |
1588 VertexAttrib4fv( | 1588 VertexAttrib4fv( |
1589 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); | 1589 1, reinterpret_cast<const GLfloat*>(shared_memory_address_))); |
1590 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1590 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1591 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1591 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1592 } | 1592 } |
1593 | 1593 |
1594 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { | 1594 TEST_P(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_0) { |
1595 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | 1595 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); |
1596 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); | 1596 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); |
1597 cmds::VertexAttrib4fv cmd; | 1597 cmds::VertexAttrib4fv cmd; |
1598 cmd.Init(1, kInvalidSharedMemoryId, 0); | 1598 cmd.Init(1, kInvalidSharedMemoryId, 0); |
1599 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1599 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1600 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1600 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1601 } | 1601 } |
1602 | 1602 |
1603 TEST_F(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { | 1603 TEST_P(GLES2DecoderTest2, VertexAttrib4fvInvalidArgs1_1) { |
1604 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); | 1604 EXPECT_CALL(*gl_, VertexAttrib4fv(_, _)).Times(0); |
1605 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); | 1605 SpecializedSetup<cmds::VertexAttrib4fv, 0>(false); |
1606 cmds::VertexAttrib4fv cmd; | 1606 cmds::VertexAttrib4fv cmd; |
1607 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); | 1607 cmd.Init(1, shared_memory_id_, kInvalidSharedMemoryOffset); |
1608 GetSharedMemoryAs<GLfloat*>()[0] = 0; | 1608 GetSharedMemoryAs<GLfloat*>()[0] = 0; |
1609 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); | 1609 EXPECT_EQ(error::kOutOfBounds, ExecuteCmd(cmd)); |
1610 } | 1610 } |
1611 | 1611 |
1612 TEST_F(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { | 1612 TEST_P(GLES2DecoderTest2, VertexAttrib4fvImmediateValidArgs) { |
1613 cmds::VertexAttrib4fvImmediate& cmd = | 1613 cmds::VertexAttrib4fvImmediate& cmd = |
1614 *GetImmediateAs<cmds::VertexAttrib4fvImmediate>(); | 1614 *GetImmediateAs<cmds::VertexAttrib4fvImmediate>(); |
1615 SpecializedSetup<cmds::VertexAttrib4fvImmediate, 0>(true); | 1615 SpecializedSetup<cmds::VertexAttrib4fvImmediate, 0>(true); |
1616 GLfloat temp[4] = { | 1616 GLfloat temp[4] = { |
1617 0, | 1617 0, |
1618 }; | 1618 }; |
1619 cmd.Init(1, &temp[0]); | 1619 cmd.Init(1, &temp[0]); |
1620 EXPECT_CALL(*gl_, | 1620 EXPECT_CALL(*gl_, |
1621 VertexAttrib4fv( | 1621 VertexAttrib4fv( |
1622 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); | 1622 1, reinterpret_cast<GLfloat*>(ImmediateDataAddress(&cmd)))); |
1623 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); | 1623 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(cmd, sizeof(temp))); |
1624 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1624 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1625 } | 1625 } |
1626 // TODO(gman): VertexAttribPointer | 1626 // TODO(gman): VertexAttribPointer |
1627 | 1627 |
1628 TEST_F(GLES2DecoderTest2, ViewportValidArgs) { | 1628 TEST_P(GLES2DecoderTest2, ViewportValidArgs) { |
1629 EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); | 1629 EXPECT_CALL(*gl_, Viewport(1, 2, 3, 4)); |
1630 SpecializedSetup<cmds::Viewport, 0>(true); | 1630 SpecializedSetup<cmds::Viewport, 0>(true); |
1631 cmds::Viewport cmd; | 1631 cmds::Viewport cmd; |
1632 cmd.Init(1, 2, 3, 4); | 1632 cmd.Init(1, 2, 3, 4); |
1633 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1633 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1634 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1634 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1635 } | 1635 } |
1636 | 1636 |
1637 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs2_0) { | 1637 TEST_P(GLES2DecoderTest2, ViewportInvalidArgs2_0) { |
1638 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); | 1638 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); |
1639 SpecializedSetup<cmds::Viewport, 0>(false); | 1639 SpecializedSetup<cmds::Viewport, 0>(false); |
1640 cmds::Viewport cmd; | 1640 cmds::Viewport cmd; |
1641 cmd.Init(1, 2, -1, 4); | 1641 cmd.Init(1, 2, -1, 4); |
1642 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1642 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1643 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1643 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1644 } | 1644 } |
1645 | 1645 |
1646 TEST_F(GLES2DecoderTest2, ViewportInvalidArgs3_0) { | 1646 TEST_P(GLES2DecoderTest2, ViewportInvalidArgs3_0) { |
1647 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); | 1647 EXPECT_CALL(*gl_, Viewport(_, _, _, _)).Times(0); |
1648 SpecializedSetup<cmds::Viewport, 0>(false); | 1648 SpecializedSetup<cmds::Viewport, 0>(false); |
1649 cmds::Viewport cmd; | 1649 cmds::Viewport cmd; |
1650 cmd.Init(1, 2, 3, -1); | 1650 cmd.Init(1, 2, 3, -1); |
1651 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1651 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1652 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); | 1652 EXPECT_EQ(GL_INVALID_VALUE, GetGLError()); |
1653 } | 1653 } |
1654 // TODO(gman): BlitFramebufferCHROMIUM | 1654 // TODO(gman): BlitFramebufferCHROMIUM |
1655 // TODO(gman): RenderbufferStorageMultisampleCHROMIUM | 1655 // TODO(gman): RenderbufferStorageMultisampleCHROMIUM |
1656 // TODO(gman): RenderbufferStorageMultisampleEXT | 1656 // TODO(gman): RenderbufferStorageMultisampleEXT |
1657 // TODO(gman): FramebufferTexture2DMultisampleEXT | 1657 // TODO(gman): FramebufferTexture2DMultisampleEXT |
1658 // TODO(gman): TexStorage2DEXT | 1658 // TODO(gman): TexStorage2DEXT |
1659 // TODO(gman): GenQueriesEXT | 1659 // TODO(gman): GenQueriesEXT |
1660 // TODO(gman): GenQueriesEXTImmediate | 1660 // TODO(gman): GenQueriesEXTImmediate |
1661 // TODO(gman): DeleteQueriesEXT | 1661 // TODO(gman): DeleteQueriesEXT |
1662 // TODO(gman): DeleteQueriesEXTImmediate | 1662 // TODO(gman): DeleteQueriesEXTImmediate |
1663 // TODO(gman): BeginQueryEXT | 1663 // TODO(gman): BeginQueryEXT |
1664 | 1664 |
1665 // TODO(gman): EndQueryEXT | 1665 // TODO(gman): EndQueryEXT |
1666 | 1666 |
1667 // TODO(gman): InsertEventMarkerEXT | 1667 // TODO(gman): InsertEventMarkerEXT |
1668 | 1668 |
1669 // TODO(gman): PushGroupMarkerEXT | 1669 // TODO(gman): PushGroupMarkerEXT |
1670 | 1670 |
1671 TEST_F(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { | 1671 TEST_P(GLES2DecoderTest2, PopGroupMarkerEXTValidArgs) { |
1672 SpecializedSetup<cmds::PopGroupMarkerEXT, 0>(true); | 1672 SpecializedSetup<cmds::PopGroupMarkerEXT, 0>(true); |
1673 cmds::PopGroupMarkerEXT cmd; | 1673 cmds::PopGroupMarkerEXT cmd; |
1674 cmd.Init(); | 1674 cmd.Init(); |
1675 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); | 1675 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); |
1676 EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 1676 EXPECT_EQ(GL_NO_ERROR, GetGLError()); |
1677 } | 1677 } |
1678 // TODO(gman): GenVertexArraysOES | 1678 // TODO(gman): GenVertexArraysOES |
1679 // TODO(gman): GenVertexArraysOESImmediate | 1679 // TODO(gman): GenVertexArraysOESImmediate |
1680 // TODO(gman): DeleteVertexArraysOES | 1680 // TODO(gman): DeleteVertexArraysOES |
1681 // TODO(gman): DeleteVertexArraysOESImmediate | 1681 // TODO(gman): DeleteVertexArraysOESImmediate |
1682 // TODO(gman): IsVertexArrayOES | 1682 // TODO(gman): IsVertexArrayOES |
1683 // TODO(gman): BindVertexArrayOES | 1683 // TODO(gman): BindVertexArrayOES |
1684 // TODO(gman): SwapBuffers | 1684 // TODO(gman): SwapBuffers |
1685 // TODO(gman): GetMaxValueInBufferCHROMIUM | 1685 // TODO(gman): GetMaxValueInBufferCHROMIUM |
1686 // TODO(gman): GenSharedIdsCHROMIUM | 1686 // TODO(gman): GenSharedIdsCHROMIUM |
1687 | 1687 |
1688 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ | 1688 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_ |
OLD | NEW |