2 * Copyright © 2012 Intel Corporation
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
25 * \file enum_sizes.cpp
26 * Validate the generated code in indirect_size.c
28 * The functions in indirect_size.c determine how many data values are
29 * associated with each enumerant that can be passed to various OpenGL
30 * functions. Tests in this file probe each function in indirect_size.c with
31 * each of the possible valid enums and verify that the correct size is
32 * returned. Tests in this file also probe each function in indirect_size.c
33 * with a larger number of \b invalid enums and verify that zero is returned.
36 #include <gtest/gtest.h>
39 #include "../indirect_size.h"
42 TEST(ValidEnumSizes
, CallLists
)
44 EXPECT_EQ(1, __glCallLists_size(GL_BYTE
));
45 EXPECT_EQ(1, __glCallLists_size(GL_UNSIGNED_BYTE
));
46 EXPECT_EQ(2, __glCallLists_size(GL_SHORT
));
47 EXPECT_EQ(2, __glCallLists_size(GL_UNSIGNED_SHORT
));
48 EXPECT_EQ(2, __glCallLists_size(GL_2_BYTES
));
49 EXPECT_EQ(2, __glCallLists_size(GL_HALF_FLOAT
));
50 EXPECT_EQ(3, __glCallLists_size(GL_3_BYTES
));
51 EXPECT_EQ(4, __glCallLists_size(GL_INT
));
52 EXPECT_EQ(4, __glCallLists_size(GL_UNSIGNED_INT
));
53 EXPECT_EQ(4, __glCallLists_size(GL_FLOAT
));
54 EXPECT_EQ(4, __glCallLists_size(GL_4_BYTES
));
57 TEST(InvalidEnumSizes
, CallLists
)
59 for (unsigned i
= 0; i
< 0x10004; i
++) {
62 case GL_UNSIGNED_BYTE
:
64 case GL_UNSIGNED_SHORT
:
74 EXPECT_EQ(0, __glCallLists_size(i
)) << "i = 0x" <<
75 std::setw(4) << std::setfill('0') << std::hex
<< i
;
80 TEST(ValidEnumSizes
, Fogfv
)
82 EXPECT_EQ(1, __glFogfv_size(GL_FOG_INDEX
));
83 EXPECT_EQ(1, __glFogfv_size(GL_FOG_DENSITY
));
84 EXPECT_EQ(1, __glFogfv_size(GL_FOG_START
));
85 EXPECT_EQ(1, __glFogfv_size(GL_FOG_END
));
86 EXPECT_EQ(1, __glFogfv_size(GL_FOG_MODE
));
87 EXPECT_EQ(1, __glFogfv_size(GL_FOG_OFFSET_VALUE_SGIX
));
88 EXPECT_EQ(1, __glFogfv_size(GL_FOG_DISTANCE_MODE_NV
));
89 EXPECT_EQ(4, __glFogfv_size(GL_FOG_COLOR
));
92 TEST(InvalidEnumSizes
, Fogfv
)
94 for (unsigned i
= 0; i
< 0x10004; i
++) {
101 case GL_FOG_OFFSET_VALUE_SGIX
:
102 case GL_FOG_DISTANCE_MODE_NV
:
106 EXPECT_EQ(0, __glFogfv_size(i
)) << "i = 0x" <<
107 std::setw(4) << std::setfill('0') << std::hex
<< i
;
112 TEST(ValidEnumSizes
, Lightfv
)
114 EXPECT_EQ(1, __glLightfv_size(GL_SPOT_EXPONENT
));
115 EXPECT_EQ(1, __glLightfv_size(GL_SPOT_CUTOFF
));
116 EXPECT_EQ(1, __glLightfv_size(GL_CONSTANT_ATTENUATION
));
117 EXPECT_EQ(1, __glLightfv_size(GL_LINEAR_ATTENUATION
));
118 EXPECT_EQ(1, __glLightfv_size(GL_QUADRATIC_ATTENUATION
));
119 EXPECT_EQ(3, __glLightfv_size(GL_SPOT_DIRECTION
));
120 EXPECT_EQ(4, __glLightfv_size(GL_AMBIENT
));
121 EXPECT_EQ(4, __glLightfv_size(GL_DIFFUSE
));
122 EXPECT_EQ(4, __glLightfv_size(GL_SPECULAR
));
123 EXPECT_EQ(4, __glLightfv_size(GL_POSITION
));
126 TEST(InvalidEnumSizes
, Lightfv
)
128 for (unsigned i
= 0; i
< 0x10004; i
++) {
130 case GL_SPOT_EXPONENT
:
132 case GL_CONSTANT_ATTENUATION
:
133 case GL_LINEAR_ATTENUATION
:
134 case GL_QUADRATIC_ATTENUATION
:
135 case GL_SPOT_DIRECTION
:
142 EXPECT_EQ(0, __glLightfv_size(i
)) << "i = 0x" <<
143 std::setw(4) << std::setfill('0') << std::hex
<< i
;
148 TEST(ValidEnumSizes
, LightModelfv
)
150 EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_LOCAL_VIEWER
));
151 EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_TWO_SIDE
));
152 EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_COLOR_CONTROL
));
153 EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_COLOR_CONTROL_EXT
));
154 EXPECT_EQ(4, __glLightModelfv_size(GL_LIGHT_MODEL_AMBIENT
));
157 TEST(InvalidEnumSizes
, LightModelfv
)
159 for (unsigned i
= 0; i
< 0x10004; i
++) {
161 case GL_LIGHT_MODEL_LOCAL_VIEWER
:
162 case GL_LIGHT_MODEL_TWO_SIDE
:
163 case GL_LIGHT_MODEL_COLOR_CONTROL
:
164 /* case GL_LIGHT_MODEL_COLOR_CONTROL_EXT:*/
165 case GL_LIGHT_MODEL_AMBIENT
:
168 EXPECT_EQ(0, __glLightModelfv_size(i
)) << "i = 0x" <<
169 std::setw(4) << std::setfill('0') << std::hex
<< i
;
174 TEST(ValidEnumSizes
, Materialfv
)
176 EXPECT_EQ(1, __glMaterialfv_size(GL_SHININESS
));
177 EXPECT_EQ(3, __glMaterialfv_size(GL_COLOR_INDEXES
));
178 EXPECT_EQ(4, __glMaterialfv_size(GL_AMBIENT
));
179 EXPECT_EQ(4, __glMaterialfv_size(GL_DIFFUSE
));
180 EXPECT_EQ(4, __glMaterialfv_size(GL_SPECULAR
));
181 EXPECT_EQ(4, __glMaterialfv_size(GL_EMISSION
));
182 EXPECT_EQ(4, __glMaterialfv_size(GL_AMBIENT_AND_DIFFUSE
));
185 TEST(InvalidEnumSizes
, Materialfv
)
187 for (unsigned i
= 0; i
< 0x10004; i
++) {
190 case GL_COLOR_INDEXES
:
195 case GL_AMBIENT_AND_DIFFUSE
:
198 EXPECT_EQ(0, __glMaterialfv_size(i
)) << "i = 0x" <<
199 std::setw(4) << std::setfill('0') << std::hex
<< i
;
204 TEST(ValidEnumSizes
, TexParameterfv
)
206 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAG_FILTER
));
207 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MIN_FILTER
));
208 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_WRAP_S
));
209 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_WRAP_T
));
210 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_PRIORITY
));
211 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_WRAP_R
));
212 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_FAIL_VALUE_ARB
));
213 EXPECT_EQ(1, __glTexParameterfv_size(GL_SHADOW_AMBIENT_SGIX
));
214 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MIN_LOD
));
215 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_LOD
));
216 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_BASE_LEVEL
));
217 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_LEVEL
));
218 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_FRAME_SGIX
));
219 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_S_SGIX
));
220 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_T_SGIX
));
221 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_R_SGIX
));
222 EXPECT_EQ(1, __glTexParameterfv_size(GL_GENERATE_MIPMAP
));
223 EXPECT_EQ(1, __glTexParameterfv_size(GL_GENERATE_MIPMAP_SGIS
));
224 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_SGIX
));
225 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_OPERATOR_SGIX
));
226 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_CLAMP_S_SGIX
));
227 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_CLAMP_T_SGIX
));
228 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_CLAMP_R_SGIX
));
229 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_ANISOTROPY_EXT
));
230 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS
));
231 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_EXT
));
232 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_STORAGE_HINT_APPLE
));
233 EXPECT_EQ(1, __glTexParameterfv_size(GL_STORAGE_PRIVATE_APPLE
));
234 EXPECT_EQ(1, __glTexParameterfv_size(GL_STORAGE_CACHED_APPLE
));
235 EXPECT_EQ(1, __glTexParameterfv_size(GL_STORAGE_SHARED_APPLE
));
236 EXPECT_EQ(1, __glTexParameterfv_size(GL_DEPTH_TEXTURE_MODE
));
237 EXPECT_EQ(1, __glTexParameterfv_size(GL_DEPTH_TEXTURE_MODE_ARB
));
238 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_MODE
));
239 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_MODE_ARB
));
240 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_FUNC
));
241 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_FUNC_ARB
));
242 EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_UNSIGNED_REMAP_MODE_NV
));
243 EXPECT_EQ(2, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_CENTER_SGIX
));
244 EXPECT_EQ(2, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_OFFSET_SGIX
));
245 EXPECT_EQ(3, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
));
246 EXPECT_EQ(4, __glTexParameterfv_size(GL_TEXTURE_BORDER_COLOR
));
247 EXPECT_EQ(4, __glTexParameterfv_size(GL_POST_TEXTURE_FILTER_BIAS_SGIX
));
248 EXPECT_EQ(4, __glTexParameterfv_size(GL_POST_TEXTURE_FILTER_SCALE_SGIX
));
251 TEST(InvalidEnumSizes
, TexParameterfv
)
253 for (unsigned i
= 0; i
< 0x10004; i
++) {
255 case GL_TEXTURE_MAG_FILTER
:
256 case GL_TEXTURE_MIN_FILTER
:
257 case GL_TEXTURE_WRAP_S
:
258 case GL_TEXTURE_WRAP_T
:
259 case GL_TEXTURE_PRIORITY
:
260 case GL_TEXTURE_WRAP_R
:
261 case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB
:
262 /* case GL_SHADOW_AMBIENT_SGIX:*/
263 case GL_TEXTURE_MIN_LOD
:
264 case GL_TEXTURE_MAX_LOD
:
265 case GL_TEXTURE_BASE_LEVEL
:
266 case GL_TEXTURE_MAX_LEVEL
:
267 case GL_TEXTURE_CLIPMAP_FRAME_SGIX
:
268 case GL_TEXTURE_LOD_BIAS_S_SGIX
:
269 case GL_TEXTURE_LOD_BIAS_T_SGIX
:
270 case GL_TEXTURE_LOD_BIAS_R_SGIX
:
271 case GL_GENERATE_MIPMAP
:
272 /* case GL_GENERATE_MIPMAP_SGIS:*/
273 case GL_TEXTURE_COMPARE_SGIX
:
274 case GL_TEXTURE_COMPARE_OPERATOR_SGIX
:
275 case GL_TEXTURE_MAX_CLAMP_S_SGIX
:
276 case GL_TEXTURE_MAX_CLAMP_T_SGIX
:
277 case GL_TEXTURE_MAX_CLAMP_R_SGIX
:
278 case GL_TEXTURE_MAX_ANISOTROPY_EXT
:
279 case GL_TEXTURE_LOD_BIAS
:
280 /* case GL_TEXTURE_LOD_BIAS_EXT:*/
281 case GL_TEXTURE_STORAGE_HINT_APPLE
:
282 case GL_STORAGE_PRIVATE_APPLE
:
283 case GL_STORAGE_CACHED_APPLE
:
284 case GL_STORAGE_SHARED_APPLE
:
285 case GL_DEPTH_TEXTURE_MODE
:
286 /* case GL_DEPTH_TEXTURE_MODE_ARB:*/
287 case GL_TEXTURE_COMPARE_MODE
:
288 /* case GL_TEXTURE_COMPARE_MODE_ARB:*/
289 case GL_TEXTURE_COMPARE_FUNC
:
290 /* case GL_TEXTURE_COMPARE_FUNC_ARB:*/
291 case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV
:
292 case GL_TEXTURE_CLIPMAP_CENTER_SGIX
:
293 case GL_TEXTURE_CLIPMAP_OFFSET_SGIX
:
294 case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
:
295 case GL_TEXTURE_BORDER_COLOR
:
296 case GL_POST_TEXTURE_FILTER_BIAS_SGIX
:
297 case GL_POST_TEXTURE_FILTER_SCALE_SGIX
:
300 EXPECT_EQ(0, __glTexParameterfv_size(i
)) << "i = 0x" <<
301 std::setw(4) << std::setfill('0') << std::hex
<< i
;
306 TEST(ValidEnumSizes
, TexEnvfv
)
308 EXPECT_EQ(1, __glTexEnvfv_size(GL_ALPHA_SCALE
));
309 EXPECT_EQ(1, __glTexEnvfv_size(GL_TEXTURE_ENV_MODE
));
310 EXPECT_EQ(1, __glTexEnvfv_size(GL_TEXTURE_LOD_BIAS
));
311 EXPECT_EQ(1, __glTexEnvfv_size(GL_COMBINE_RGB
));
312 EXPECT_EQ(1, __glTexEnvfv_size(GL_COMBINE_ALPHA
));
313 EXPECT_EQ(1, __glTexEnvfv_size(GL_RGB_SCALE
));
314 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE0_RGB
));
315 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE1_RGB
));
316 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE2_RGB
));
317 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE3_RGB_NV
));
318 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE0_ALPHA
));
319 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE1_ALPHA
));
320 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE2_ALPHA
));
321 EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE3_ALPHA_NV
));
322 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND0_RGB
));
323 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND1_RGB
));
324 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND2_RGB
));
325 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND3_RGB_NV
));
326 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND0_ALPHA
));
327 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND1_ALPHA
));
328 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND2_ALPHA
));
329 EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND3_ALPHA_NV
));
330 EXPECT_EQ(1, __glTexEnvfv_size(GL_BUMP_TARGET_ATI
));
331 EXPECT_EQ(1, __glTexEnvfv_size(GL_COORD_REPLACE_ARB
));
332 EXPECT_EQ(1, __glTexEnvfv_size(GL_COORD_REPLACE_NV
));
333 EXPECT_EQ(4, __glTexEnvfv_size(GL_TEXTURE_ENV_COLOR
));
336 TEST(InvalidEnumSizes
, TexEnvfv
)
338 for (unsigned i
= 0; i
< 0x10004; i
++) {
341 case GL_TEXTURE_ENV_MODE
:
342 case GL_TEXTURE_LOD_BIAS
:
344 case GL_COMBINE_ALPHA
:
349 case GL_SOURCE3_RGB_NV
:
350 case GL_SOURCE0_ALPHA
:
351 case GL_SOURCE1_ALPHA
:
352 case GL_SOURCE2_ALPHA
:
353 case GL_SOURCE3_ALPHA_NV
:
354 case GL_OPERAND0_RGB
:
355 case GL_OPERAND1_RGB
:
356 case GL_OPERAND2_RGB
:
357 case GL_OPERAND3_RGB_NV
:
358 case GL_OPERAND0_ALPHA
:
359 case GL_OPERAND1_ALPHA
:
360 case GL_OPERAND2_ALPHA
:
361 case GL_OPERAND3_ALPHA_NV
:
362 case GL_BUMP_TARGET_ATI
:
363 case GL_COORD_REPLACE_ARB
:
364 /* case GL_COORD_REPLACE_NV:*/
365 case GL_TEXTURE_ENV_COLOR
:
368 EXPECT_EQ(0, __glTexEnvfv_size(i
)) << "i = 0x" <<
369 std::setw(4) << std::setfill('0') << std::hex
<< i
;
374 TEST(ValidEnumSizes
, TexGendv
)
376 EXPECT_EQ(1, __glTexGendv_size(GL_TEXTURE_GEN_MODE
));
377 EXPECT_EQ(4, __glTexGendv_size(GL_OBJECT_PLANE
));
378 EXPECT_EQ(4, __glTexGendv_size(GL_EYE_PLANE
));
381 TEST(InvalidEnumSizes
, TexGendv
)
383 for (unsigned i
= 0; i
< 0x10004; i
++) {
385 case GL_TEXTURE_GEN_MODE
:
386 case GL_OBJECT_PLANE
:
390 EXPECT_EQ(0, __glTexGendv_size(i
)) << "i = 0x" <<
391 std::setw(4) << std::setfill('0') << std::hex
<< i
;
396 TEST(ValidEnumSizes
, Map1d
)
398 EXPECT_EQ(1, __glMap1d_size(GL_MAP1_INDEX
));
399 EXPECT_EQ(1, __glMap1d_size(GL_MAP1_TEXTURE_COORD_1
));
400 EXPECT_EQ(2, __glMap1d_size(GL_MAP1_TEXTURE_COORD_2
));
401 EXPECT_EQ(3, __glMap1d_size(GL_MAP1_NORMAL
));
402 EXPECT_EQ(3, __glMap1d_size(GL_MAP1_TEXTURE_COORD_3
));
403 EXPECT_EQ(3, __glMap1d_size(GL_MAP1_VERTEX_3
));
404 EXPECT_EQ(4, __glMap1d_size(GL_MAP1_COLOR_4
));
405 EXPECT_EQ(4, __glMap1d_size(GL_MAP1_TEXTURE_COORD_4
));
406 EXPECT_EQ(4, __glMap1d_size(GL_MAP1_VERTEX_4
));
409 TEST(InvalidEnumSizes
, Map1d
)
411 for (unsigned i
= 0; i
< 0x10004; i
++) {
414 case GL_MAP1_TEXTURE_COORD_1
:
415 case GL_MAP1_TEXTURE_COORD_2
:
417 case GL_MAP1_TEXTURE_COORD_3
:
418 case GL_MAP1_VERTEX_3
:
419 case GL_MAP1_COLOR_4
:
420 case GL_MAP1_TEXTURE_COORD_4
:
421 case GL_MAP1_VERTEX_4
:
424 EXPECT_EQ(0, __glMap1d_size(i
)) << "i = 0x" <<
425 std::setw(4) << std::setfill('0') << std::hex
<< i
;
430 TEST(ValidEnumSizes
, Map2d
)
432 EXPECT_EQ(1, __glMap2d_size(GL_MAP2_INDEX
));
433 EXPECT_EQ(1, __glMap2d_size(GL_MAP2_TEXTURE_COORD_1
));
434 EXPECT_EQ(2, __glMap2d_size(GL_MAP2_TEXTURE_COORD_2
));
435 EXPECT_EQ(3, __glMap2d_size(GL_MAP2_NORMAL
));
436 EXPECT_EQ(3, __glMap2d_size(GL_MAP2_TEXTURE_COORD_3
));
437 EXPECT_EQ(3, __glMap2d_size(GL_MAP2_VERTEX_3
));
438 EXPECT_EQ(4, __glMap2d_size(GL_MAP2_COLOR_4
));
439 EXPECT_EQ(4, __glMap2d_size(GL_MAP2_TEXTURE_COORD_4
));
440 EXPECT_EQ(4, __glMap2d_size(GL_MAP2_VERTEX_4
));
443 TEST(InvalidEnumSizes
, Map2d
)
445 for (unsigned i
= 0; i
< 0x10004; i
++) {
448 case GL_MAP2_TEXTURE_COORD_1
:
449 case GL_MAP2_TEXTURE_COORD_2
:
451 case GL_MAP2_TEXTURE_COORD_3
:
452 case GL_MAP2_VERTEX_3
:
453 case GL_MAP2_COLOR_4
:
454 case GL_MAP2_TEXTURE_COORD_4
:
455 case GL_MAP2_VERTEX_4
:
458 EXPECT_EQ(0, __glMap2d_size(i
)) << "i = 0x" <<
459 std::setw(4) << std::setfill('0') << std::hex
<< i
;
464 TEST(ValidEnumSizes
, ColorTableParameterfv
)
466 EXPECT_EQ(4, __glColorTableParameterfv_size(GL_COLOR_TABLE_SCALE
));
467 EXPECT_EQ(4, __glColorTableParameterfv_size(GL_COLOR_TABLE_BIAS
));
470 TEST(InvalidEnumSizes
, ColorTableParameterfv
)
472 for (unsigned i
= 0; i
< 0x10004; i
++) {
474 case GL_COLOR_TABLE_SCALE
:
475 case GL_COLOR_TABLE_BIAS
:
478 EXPECT_EQ(0, __glColorTableParameterfv_size(i
)) << "i = 0x" <<
479 std::setw(4) << std::setfill('0') << std::hex
<< i
;
484 TEST(ValidEnumSizes
, ConvolutionParameterfv
)
486 EXPECT_EQ(1, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_MODE
));
487 EXPECT_EQ(1, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_MODE_EXT
));
488 EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_SCALE
));
489 EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_SCALE_EXT
));
490 EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_BIAS
));
491 EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_BIAS_EXT
));
492 EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_COLOR
));
493 EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_COLOR_HP
));
496 TEST(InvalidEnumSizes
, ConvolutionParameterfv
)
498 for (unsigned i
= 0; i
< 0x10004; i
++) {
500 case GL_CONVOLUTION_BORDER_MODE
:
501 /* case GL_CONVOLUTION_BORDER_MODE_EXT:*/
502 case GL_CONVOLUTION_FILTER_SCALE
:
503 /* case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
504 case GL_CONVOLUTION_FILTER_BIAS
:
505 /* case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
506 case GL_CONVOLUTION_BORDER_COLOR
:
507 /* case GL_CONVOLUTION_BORDER_COLOR_HP:*/
510 EXPECT_EQ(0, __glConvolutionParameterfv_size(i
)) << "i = 0x" <<
511 std::setw(4) << std::setfill('0') << std::hex
<< i
;
516 TEST(ValidEnumSizes
, PointParameterfv
)
518 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MIN
));
519 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MIN_ARB
));
520 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MIN_SGIS
));
521 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MAX
));
522 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MAX_ARB
));
523 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MAX_SGIS
));
524 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_FADE_THRESHOLD_SIZE
));
525 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_FADE_THRESHOLD_SIZE_ARB
));
526 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_FADE_THRESHOLD_SIZE_SGIS
));
527 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SPRITE_R_MODE_NV
));
528 EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SPRITE_COORD_ORIGIN
));
529 EXPECT_EQ(3, __glPointParameterfv_size(GL_POINT_DISTANCE_ATTENUATION
));
530 EXPECT_EQ(3, __glPointParameterfv_size(GL_POINT_DISTANCE_ATTENUATION_ARB
));
533 TEST(InvalidEnumSizes
, PointParameterfv
)
535 for (unsigned i
= 0; i
< 0x10004; i
++) {
537 case GL_POINT_SIZE_MIN
:
538 /* case GL_POINT_SIZE_MIN_ARB:*/
539 /* case GL_POINT_SIZE_MIN_SGIS:*/
540 case GL_POINT_SIZE_MAX
:
541 /* case GL_POINT_SIZE_MAX_ARB:*/
542 /* case GL_POINT_SIZE_MAX_SGIS:*/
543 case GL_POINT_FADE_THRESHOLD_SIZE
:
544 /* case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
545 /* case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
546 case GL_POINT_SPRITE_R_MODE_NV
:
547 case GL_POINT_SPRITE_COORD_ORIGIN
:
548 case GL_POINT_DISTANCE_ATTENUATION
:
549 /* case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
552 EXPECT_EQ(0, __glPointParameterfv_size(i
)) << "i = 0x" <<
553 std::setw(4) << std::setfill('0') << std::hex
<< i
;