1bf215546Sopenharmony_ci/*
2bf215546Sopenharmony_ci * Copyright © 2012 Intel Corporation
3bf215546Sopenharmony_ci *
4bf215546Sopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a
5bf215546Sopenharmony_ci * copy of this software and associated documentation files (the "Software"),
6bf215546Sopenharmony_ci * to deal in the Software without restriction, including without limitation
7bf215546Sopenharmony_ci * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8bf215546Sopenharmony_ci * and/or sell copies of the Software, and to permit persons to whom the
9bf215546Sopenharmony_ci * Software is furnished to do so, subject to the following conditions:
10bf215546Sopenharmony_ci *
11bf215546Sopenharmony_ci * The above copyright notice and this permission notice (including the next
12bf215546Sopenharmony_ci * paragraph) shall be included in all copies or substantial portions of the
13bf215546Sopenharmony_ci * Software.
14bf215546Sopenharmony_ci *
15bf215546Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16bf215546Sopenharmony_ci * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17bf215546Sopenharmony_ci * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18bf215546Sopenharmony_ci * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19bf215546Sopenharmony_ci * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20bf215546Sopenharmony_ci * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21bf215546Sopenharmony_ci * DEALINGS IN THE SOFTWARE.
22bf215546Sopenharmony_ci */
23bf215546Sopenharmony_ci
24bf215546Sopenharmony_ci/**
25bf215546Sopenharmony_ci * \file enum_sizes.cpp
26bf215546Sopenharmony_ci * Validate the generated code in indirect_size.c
27bf215546Sopenharmony_ci *
28bf215546Sopenharmony_ci * The functions in indirect_size.c determine how many data values are
29bf215546Sopenharmony_ci * associated with each enumerant that can be passed to various OpenGL
30bf215546Sopenharmony_ci * functions.  Tests in this file probe each function in indirect_size.c with
31bf215546Sopenharmony_ci * each of the possible valid enums and verify that the correct size is
32bf215546Sopenharmony_ci * returned.  Tests in this file also probe each function in indirect_size.c
33bf215546Sopenharmony_ci * with a larger number of \b invalid enums and verify that zero is returned.
34bf215546Sopenharmony_ci */
35bf215546Sopenharmony_ci
36bf215546Sopenharmony_ci#include <gtest/gtest.h>
37bf215546Sopenharmony_ci#include <GL/gl.h>
38bf215546Sopenharmony_ciextern "C" {
39bf215546Sopenharmony_ci#include "indirect_size.h"
40bf215546Sopenharmony_ci}
41bf215546Sopenharmony_ci
42bf215546Sopenharmony_ciTEST(ValidEnumSizes, CallLists)
43bf215546Sopenharmony_ci{
44bf215546Sopenharmony_ci   EXPECT_EQ(1, __glCallLists_size(GL_BYTE));
45bf215546Sopenharmony_ci   EXPECT_EQ(1, __glCallLists_size(GL_UNSIGNED_BYTE));
46bf215546Sopenharmony_ci   EXPECT_EQ(2, __glCallLists_size(GL_SHORT));
47bf215546Sopenharmony_ci   EXPECT_EQ(2, __glCallLists_size(GL_UNSIGNED_SHORT));
48bf215546Sopenharmony_ci   EXPECT_EQ(2, __glCallLists_size(GL_2_BYTES));
49bf215546Sopenharmony_ci   EXPECT_EQ(2, __glCallLists_size(GL_HALF_FLOAT));
50bf215546Sopenharmony_ci   EXPECT_EQ(3, __glCallLists_size(GL_3_BYTES));
51bf215546Sopenharmony_ci   EXPECT_EQ(4, __glCallLists_size(GL_INT));
52bf215546Sopenharmony_ci   EXPECT_EQ(4, __glCallLists_size(GL_UNSIGNED_INT));
53bf215546Sopenharmony_ci   EXPECT_EQ(4, __glCallLists_size(GL_FLOAT));
54bf215546Sopenharmony_ci   EXPECT_EQ(4, __glCallLists_size(GL_4_BYTES));
55bf215546Sopenharmony_ci}
56bf215546Sopenharmony_ci
57bf215546Sopenharmony_ciTEST(InvalidEnumSizes, CallLists)
58bf215546Sopenharmony_ci{
59bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
60bf215546Sopenharmony_ci      switch (i) {
61bf215546Sopenharmony_ci      case GL_BYTE:
62bf215546Sopenharmony_ci      case GL_UNSIGNED_BYTE:
63bf215546Sopenharmony_ci      case GL_SHORT:
64bf215546Sopenharmony_ci      case GL_UNSIGNED_SHORT:
65bf215546Sopenharmony_ci      case GL_2_BYTES:
66bf215546Sopenharmony_ci      case GL_HALF_FLOAT:
67bf215546Sopenharmony_ci      case GL_3_BYTES:
68bf215546Sopenharmony_ci      case GL_INT:
69bf215546Sopenharmony_ci      case GL_UNSIGNED_INT:
70bf215546Sopenharmony_ci      case GL_FLOAT:
71bf215546Sopenharmony_ci      case GL_4_BYTES:
72bf215546Sopenharmony_ci         break;
73bf215546Sopenharmony_ci      default:
74bf215546Sopenharmony_ci         EXPECT_EQ(0, __glCallLists_size(i)) << "i = 0x" <<
75bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
76bf215546Sopenharmony_ci      }
77bf215546Sopenharmony_ci   }
78bf215546Sopenharmony_ci}
79bf215546Sopenharmony_ci
80bf215546Sopenharmony_ciTEST(ValidEnumSizes, Fogfv)
81bf215546Sopenharmony_ci{
82bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_INDEX));
83bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_DENSITY));
84bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_START));
85bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_END));
86bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_MODE));
87bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_OFFSET_VALUE_SGIX));
88bf215546Sopenharmony_ci   EXPECT_EQ(1, __glFogfv_size(GL_FOG_DISTANCE_MODE_NV));
89bf215546Sopenharmony_ci   EXPECT_EQ(4, __glFogfv_size(GL_FOG_COLOR));
90bf215546Sopenharmony_ci}
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ciTEST(InvalidEnumSizes, Fogfv)
93bf215546Sopenharmony_ci{
94bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
95bf215546Sopenharmony_ci      switch (i) {
96bf215546Sopenharmony_ci      case GL_FOG_INDEX:
97bf215546Sopenharmony_ci      case GL_FOG_DENSITY:
98bf215546Sopenharmony_ci      case GL_FOG_START:
99bf215546Sopenharmony_ci      case GL_FOG_END:
100bf215546Sopenharmony_ci      case GL_FOG_MODE:
101bf215546Sopenharmony_ci      case GL_FOG_OFFSET_VALUE_SGIX:
102bf215546Sopenharmony_ci      case GL_FOG_DISTANCE_MODE_NV:
103bf215546Sopenharmony_ci      case GL_FOG_COLOR:
104bf215546Sopenharmony_ci         break;
105bf215546Sopenharmony_ci      default:
106bf215546Sopenharmony_ci         EXPECT_EQ(0, __glFogfv_size(i)) << "i = 0x" <<
107bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
108bf215546Sopenharmony_ci      }
109bf215546Sopenharmony_ci   }
110bf215546Sopenharmony_ci}
111bf215546Sopenharmony_ci
112bf215546Sopenharmony_ciTEST(ValidEnumSizes, Lightfv)
113bf215546Sopenharmony_ci{
114bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightfv_size(GL_SPOT_EXPONENT));
115bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightfv_size(GL_SPOT_CUTOFF));
116bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightfv_size(GL_CONSTANT_ATTENUATION));
117bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightfv_size(GL_LINEAR_ATTENUATION));
118bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightfv_size(GL_QUADRATIC_ATTENUATION));
119bf215546Sopenharmony_ci   EXPECT_EQ(3, __glLightfv_size(GL_SPOT_DIRECTION));
120bf215546Sopenharmony_ci   EXPECT_EQ(4, __glLightfv_size(GL_AMBIENT));
121bf215546Sopenharmony_ci   EXPECT_EQ(4, __glLightfv_size(GL_DIFFUSE));
122bf215546Sopenharmony_ci   EXPECT_EQ(4, __glLightfv_size(GL_SPECULAR));
123bf215546Sopenharmony_ci   EXPECT_EQ(4, __glLightfv_size(GL_POSITION));
124bf215546Sopenharmony_ci}
125bf215546Sopenharmony_ci
126bf215546Sopenharmony_ciTEST(InvalidEnumSizes, Lightfv)
127bf215546Sopenharmony_ci{
128bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
129bf215546Sopenharmony_ci      switch (i) {
130bf215546Sopenharmony_ci      case GL_SPOT_EXPONENT:
131bf215546Sopenharmony_ci      case GL_SPOT_CUTOFF:
132bf215546Sopenharmony_ci      case GL_CONSTANT_ATTENUATION:
133bf215546Sopenharmony_ci      case GL_LINEAR_ATTENUATION:
134bf215546Sopenharmony_ci      case GL_QUADRATIC_ATTENUATION:
135bf215546Sopenharmony_ci      case GL_SPOT_DIRECTION:
136bf215546Sopenharmony_ci      case GL_AMBIENT:
137bf215546Sopenharmony_ci      case GL_DIFFUSE:
138bf215546Sopenharmony_ci      case GL_SPECULAR:
139bf215546Sopenharmony_ci      case GL_POSITION:
140bf215546Sopenharmony_ci         break;
141bf215546Sopenharmony_ci      default:
142bf215546Sopenharmony_ci         EXPECT_EQ(0, __glLightfv_size(i)) << "i = 0x" <<
143bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
144bf215546Sopenharmony_ci      }
145bf215546Sopenharmony_ci   }
146bf215546Sopenharmony_ci}
147bf215546Sopenharmony_ci
148bf215546Sopenharmony_ciTEST(ValidEnumSizes, LightModelfv)
149bf215546Sopenharmony_ci{
150bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_LOCAL_VIEWER));
151bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_TWO_SIDE));
152bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_COLOR_CONTROL));
153bf215546Sopenharmony_ci   EXPECT_EQ(1, __glLightModelfv_size(GL_LIGHT_MODEL_COLOR_CONTROL_EXT));
154bf215546Sopenharmony_ci   EXPECT_EQ(4, __glLightModelfv_size(GL_LIGHT_MODEL_AMBIENT));
155bf215546Sopenharmony_ci}
156bf215546Sopenharmony_ci
157bf215546Sopenharmony_ciTEST(InvalidEnumSizes, LightModelfv)
158bf215546Sopenharmony_ci{
159bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
160bf215546Sopenharmony_ci      switch (i) {
161bf215546Sopenharmony_ci      case GL_LIGHT_MODEL_LOCAL_VIEWER:
162bf215546Sopenharmony_ci      case GL_LIGHT_MODEL_TWO_SIDE:
163bf215546Sopenharmony_ci      case GL_LIGHT_MODEL_COLOR_CONTROL:
164bf215546Sopenharmony_ci/*      case GL_LIGHT_MODEL_COLOR_CONTROL_EXT:*/
165bf215546Sopenharmony_ci      case GL_LIGHT_MODEL_AMBIENT:
166bf215546Sopenharmony_ci         break;
167bf215546Sopenharmony_ci      default:
168bf215546Sopenharmony_ci         EXPECT_EQ(0, __glLightModelfv_size(i)) << "i = 0x" <<
169bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
170bf215546Sopenharmony_ci      }
171bf215546Sopenharmony_ci   }
172bf215546Sopenharmony_ci}
173bf215546Sopenharmony_ci
174bf215546Sopenharmony_ciTEST(ValidEnumSizes, Materialfv)
175bf215546Sopenharmony_ci{
176bf215546Sopenharmony_ci   EXPECT_EQ(1, __glMaterialfv_size(GL_SHININESS));
177bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMaterialfv_size(GL_COLOR_INDEXES));
178bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMaterialfv_size(GL_AMBIENT));
179bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMaterialfv_size(GL_DIFFUSE));
180bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMaterialfv_size(GL_SPECULAR));
181bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMaterialfv_size(GL_EMISSION));
182bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMaterialfv_size(GL_AMBIENT_AND_DIFFUSE));
183bf215546Sopenharmony_ci}
184bf215546Sopenharmony_ci
185bf215546Sopenharmony_ciTEST(InvalidEnumSizes, Materialfv)
186bf215546Sopenharmony_ci{
187bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
188bf215546Sopenharmony_ci      switch (i) {
189bf215546Sopenharmony_ci      case GL_SHININESS:
190bf215546Sopenharmony_ci      case GL_COLOR_INDEXES:
191bf215546Sopenharmony_ci      case GL_AMBIENT:
192bf215546Sopenharmony_ci      case GL_DIFFUSE:
193bf215546Sopenharmony_ci      case GL_SPECULAR:
194bf215546Sopenharmony_ci      case GL_EMISSION:
195bf215546Sopenharmony_ci      case GL_AMBIENT_AND_DIFFUSE:
196bf215546Sopenharmony_ci         break;
197bf215546Sopenharmony_ci      default:
198bf215546Sopenharmony_ci         EXPECT_EQ(0, __glMaterialfv_size(i)) << "i = 0x" <<
199bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
200bf215546Sopenharmony_ci      }
201bf215546Sopenharmony_ci   }
202bf215546Sopenharmony_ci}
203bf215546Sopenharmony_ci
204bf215546Sopenharmony_ciTEST(ValidEnumSizes, TexParameterfv)
205bf215546Sopenharmony_ci{
206bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAG_FILTER));
207bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MIN_FILTER));
208bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_WRAP_S));
209bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_WRAP_T));
210bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_PRIORITY));
211bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_WRAP_R));
212bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_FAIL_VALUE_ARB));
213bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_SHADOW_AMBIENT_SGIX));
214bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MIN_LOD));
215bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_LOD));
216bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_BASE_LEVEL));
217bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_LEVEL));
218bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_FRAME_SGIX));
219bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_S_SGIX));
220bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_T_SGIX));
221bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_R_SGIX));
222bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_GENERATE_MIPMAP));
223bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_GENERATE_MIPMAP_SGIS));
224bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_SGIX));
225bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_OPERATOR_SGIX));
226bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_CLAMP_S_SGIX));
227bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_CLAMP_T_SGIX));
228bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_CLAMP_R_SGIX));
229bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_MAX_ANISOTROPY_EXT));
230bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS));
231bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_LOD_BIAS_EXT));
232bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_STORAGE_HINT_APPLE));
233bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_STORAGE_PRIVATE_APPLE));
234bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_STORAGE_CACHED_APPLE));
235bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_STORAGE_SHARED_APPLE));
236bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_DEPTH_TEXTURE_MODE));
237bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_DEPTH_TEXTURE_MODE_ARB));
238bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_MODE));
239bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_MODE_ARB));
240bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_FUNC));
241bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_COMPARE_FUNC_ARB));
242bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexParameterfv_size(GL_TEXTURE_UNSIGNED_REMAP_MODE_NV));
243bf215546Sopenharmony_ci   EXPECT_EQ(2, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_CENTER_SGIX));
244bf215546Sopenharmony_ci   EXPECT_EQ(2, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_OFFSET_SGIX));
245bf215546Sopenharmony_ci   EXPECT_EQ(3, __glTexParameterfv_size(GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX));
246bf215546Sopenharmony_ci   EXPECT_EQ(4, __glTexParameterfv_size(GL_TEXTURE_BORDER_COLOR));
247bf215546Sopenharmony_ci   EXPECT_EQ(4, __glTexParameterfv_size(GL_POST_TEXTURE_FILTER_BIAS_SGIX));
248bf215546Sopenharmony_ci   EXPECT_EQ(4, __glTexParameterfv_size(GL_POST_TEXTURE_FILTER_SCALE_SGIX));
249bf215546Sopenharmony_ci}
250bf215546Sopenharmony_ci
251bf215546Sopenharmony_ciTEST(InvalidEnumSizes, TexParameterfv)
252bf215546Sopenharmony_ci{
253bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
254bf215546Sopenharmony_ci      switch (i) {
255bf215546Sopenharmony_ci      case GL_TEXTURE_MAG_FILTER:
256bf215546Sopenharmony_ci      case GL_TEXTURE_MIN_FILTER:
257bf215546Sopenharmony_ci      case GL_TEXTURE_WRAP_S:
258bf215546Sopenharmony_ci      case GL_TEXTURE_WRAP_T:
259bf215546Sopenharmony_ci      case GL_TEXTURE_PRIORITY:
260bf215546Sopenharmony_ci      case GL_TEXTURE_WRAP_R:
261bf215546Sopenharmony_ci      case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
262bf215546Sopenharmony_ci/*      case GL_SHADOW_AMBIENT_SGIX:*/
263bf215546Sopenharmony_ci      case GL_TEXTURE_MIN_LOD:
264bf215546Sopenharmony_ci      case GL_TEXTURE_MAX_LOD:
265bf215546Sopenharmony_ci      case GL_TEXTURE_BASE_LEVEL:
266bf215546Sopenharmony_ci      case GL_TEXTURE_MAX_LEVEL:
267bf215546Sopenharmony_ci      case GL_TEXTURE_CLIPMAP_FRAME_SGIX:
268bf215546Sopenharmony_ci      case GL_TEXTURE_LOD_BIAS_S_SGIX:
269bf215546Sopenharmony_ci      case GL_TEXTURE_LOD_BIAS_T_SGIX:
270bf215546Sopenharmony_ci      case GL_TEXTURE_LOD_BIAS_R_SGIX:
271bf215546Sopenharmony_ci      case GL_GENERATE_MIPMAP:
272bf215546Sopenharmony_ci/*      case GL_GENERATE_MIPMAP_SGIS:*/
273bf215546Sopenharmony_ci      case GL_TEXTURE_COMPARE_SGIX:
274bf215546Sopenharmony_ci      case GL_TEXTURE_COMPARE_OPERATOR_SGIX:
275bf215546Sopenharmony_ci      case GL_TEXTURE_MAX_CLAMP_S_SGIX:
276bf215546Sopenharmony_ci      case GL_TEXTURE_MAX_CLAMP_T_SGIX:
277bf215546Sopenharmony_ci      case GL_TEXTURE_MAX_CLAMP_R_SGIX:
278bf215546Sopenharmony_ci      case GL_TEXTURE_MAX_ANISOTROPY_EXT:
279bf215546Sopenharmony_ci      case GL_TEXTURE_LOD_BIAS:
280bf215546Sopenharmony_ci/*      case GL_TEXTURE_LOD_BIAS_EXT:*/
281bf215546Sopenharmony_ci      case GL_TEXTURE_STORAGE_HINT_APPLE:
282bf215546Sopenharmony_ci      case GL_STORAGE_PRIVATE_APPLE:
283bf215546Sopenharmony_ci      case GL_STORAGE_CACHED_APPLE:
284bf215546Sopenharmony_ci      case GL_STORAGE_SHARED_APPLE:
285bf215546Sopenharmony_ci      case GL_DEPTH_TEXTURE_MODE:
286bf215546Sopenharmony_ci/*      case GL_DEPTH_TEXTURE_MODE_ARB:*/
287bf215546Sopenharmony_ci      case GL_TEXTURE_COMPARE_MODE:
288bf215546Sopenharmony_ci/*      case GL_TEXTURE_COMPARE_MODE_ARB:*/
289bf215546Sopenharmony_ci      case GL_TEXTURE_COMPARE_FUNC:
290bf215546Sopenharmony_ci/*      case GL_TEXTURE_COMPARE_FUNC_ARB:*/
291bf215546Sopenharmony_ci      case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
292bf215546Sopenharmony_ci      case GL_TEXTURE_CLIPMAP_CENTER_SGIX:
293bf215546Sopenharmony_ci      case GL_TEXTURE_CLIPMAP_OFFSET_SGIX:
294bf215546Sopenharmony_ci      case GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX:
295bf215546Sopenharmony_ci      case GL_TEXTURE_BORDER_COLOR:
296bf215546Sopenharmony_ci      case GL_POST_TEXTURE_FILTER_BIAS_SGIX:
297bf215546Sopenharmony_ci      case GL_POST_TEXTURE_FILTER_SCALE_SGIX:
298bf215546Sopenharmony_ci         break;
299bf215546Sopenharmony_ci      default:
300bf215546Sopenharmony_ci         EXPECT_EQ(0, __glTexParameterfv_size(i)) << "i = 0x" <<
301bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
302bf215546Sopenharmony_ci      }
303bf215546Sopenharmony_ci   }
304bf215546Sopenharmony_ci}
305bf215546Sopenharmony_ci
306bf215546Sopenharmony_ciTEST(ValidEnumSizes, TexEnvfv)
307bf215546Sopenharmony_ci{
308bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_ALPHA_SCALE));
309bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_TEXTURE_ENV_MODE));
310bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_TEXTURE_LOD_BIAS));
311bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_COMBINE_RGB));
312bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_COMBINE_ALPHA));
313bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_RGB_SCALE));
314bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE0_RGB));
315bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE1_RGB));
316bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE2_RGB));
317bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE3_RGB_NV));
318bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE0_ALPHA));
319bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE1_ALPHA));
320bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE2_ALPHA));
321bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_SOURCE3_ALPHA_NV));
322bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND0_RGB));
323bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND1_RGB));
324bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND2_RGB));
325bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND3_RGB_NV));
326bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND0_ALPHA));
327bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND1_ALPHA));
328bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND2_ALPHA));
329bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_OPERAND3_ALPHA_NV));
330bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_BUMP_TARGET_ATI));
331bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_COORD_REPLACE_ARB));
332bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexEnvfv_size(GL_COORD_REPLACE_NV));
333bf215546Sopenharmony_ci   EXPECT_EQ(4, __glTexEnvfv_size(GL_TEXTURE_ENV_COLOR));
334bf215546Sopenharmony_ci}
335bf215546Sopenharmony_ci
336bf215546Sopenharmony_ciTEST(InvalidEnumSizes, TexEnvfv)
337bf215546Sopenharmony_ci{
338bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
339bf215546Sopenharmony_ci      switch (i) {
340bf215546Sopenharmony_ci      case GL_ALPHA_SCALE:
341bf215546Sopenharmony_ci      case GL_TEXTURE_ENV_MODE:
342bf215546Sopenharmony_ci      case GL_TEXTURE_LOD_BIAS:
343bf215546Sopenharmony_ci      case GL_COMBINE_RGB:
344bf215546Sopenharmony_ci      case GL_COMBINE_ALPHA:
345bf215546Sopenharmony_ci      case GL_RGB_SCALE:
346bf215546Sopenharmony_ci      case GL_SOURCE0_RGB:
347bf215546Sopenharmony_ci      case GL_SOURCE1_RGB:
348bf215546Sopenharmony_ci      case GL_SOURCE2_RGB:
349bf215546Sopenharmony_ci      case GL_SOURCE3_RGB_NV:
350bf215546Sopenharmony_ci      case GL_SOURCE0_ALPHA:
351bf215546Sopenharmony_ci      case GL_SOURCE1_ALPHA:
352bf215546Sopenharmony_ci      case GL_SOURCE2_ALPHA:
353bf215546Sopenharmony_ci      case GL_SOURCE3_ALPHA_NV:
354bf215546Sopenharmony_ci      case GL_OPERAND0_RGB:
355bf215546Sopenharmony_ci      case GL_OPERAND1_RGB:
356bf215546Sopenharmony_ci      case GL_OPERAND2_RGB:
357bf215546Sopenharmony_ci      case GL_OPERAND3_RGB_NV:
358bf215546Sopenharmony_ci      case GL_OPERAND0_ALPHA:
359bf215546Sopenharmony_ci      case GL_OPERAND1_ALPHA:
360bf215546Sopenharmony_ci      case GL_OPERAND2_ALPHA:
361bf215546Sopenharmony_ci      case GL_OPERAND3_ALPHA_NV:
362bf215546Sopenharmony_ci      case GL_BUMP_TARGET_ATI:
363bf215546Sopenharmony_ci      case GL_COORD_REPLACE_ARB:
364bf215546Sopenharmony_ci/*      case GL_COORD_REPLACE_NV:*/
365bf215546Sopenharmony_ci      case GL_TEXTURE_ENV_COLOR:
366bf215546Sopenharmony_ci         break;
367bf215546Sopenharmony_ci      default:
368bf215546Sopenharmony_ci         EXPECT_EQ(0, __glTexEnvfv_size(i)) << "i = 0x" <<
369bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
370bf215546Sopenharmony_ci      }
371bf215546Sopenharmony_ci   }
372bf215546Sopenharmony_ci}
373bf215546Sopenharmony_ci
374bf215546Sopenharmony_ciTEST(ValidEnumSizes, TexGendv)
375bf215546Sopenharmony_ci{
376bf215546Sopenharmony_ci   EXPECT_EQ(1, __glTexGendv_size(GL_TEXTURE_GEN_MODE));
377bf215546Sopenharmony_ci   EXPECT_EQ(4, __glTexGendv_size(GL_OBJECT_PLANE));
378bf215546Sopenharmony_ci   EXPECT_EQ(4, __glTexGendv_size(GL_EYE_PLANE));
379bf215546Sopenharmony_ci}
380bf215546Sopenharmony_ci
381bf215546Sopenharmony_ciTEST(InvalidEnumSizes, TexGendv)
382bf215546Sopenharmony_ci{
383bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
384bf215546Sopenharmony_ci      switch (i) {
385bf215546Sopenharmony_ci      case GL_TEXTURE_GEN_MODE:
386bf215546Sopenharmony_ci      case GL_OBJECT_PLANE:
387bf215546Sopenharmony_ci      case GL_EYE_PLANE:
388bf215546Sopenharmony_ci         break;
389bf215546Sopenharmony_ci      default:
390bf215546Sopenharmony_ci         EXPECT_EQ(0, __glTexGendv_size(i)) << "i = 0x" <<
391bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
392bf215546Sopenharmony_ci      }
393bf215546Sopenharmony_ci   }
394bf215546Sopenharmony_ci}
395bf215546Sopenharmony_ci
396bf215546Sopenharmony_ciTEST(ValidEnumSizes, Map1d)
397bf215546Sopenharmony_ci{
398bf215546Sopenharmony_ci   EXPECT_EQ(1, __glMap1d_size(GL_MAP1_INDEX));
399bf215546Sopenharmony_ci   EXPECT_EQ(1, __glMap1d_size(GL_MAP1_TEXTURE_COORD_1));
400bf215546Sopenharmony_ci   EXPECT_EQ(2, __glMap1d_size(GL_MAP1_TEXTURE_COORD_2));
401bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMap1d_size(GL_MAP1_NORMAL));
402bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMap1d_size(GL_MAP1_TEXTURE_COORD_3));
403bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMap1d_size(GL_MAP1_VERTEX_3));
404bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMap1d_size(GL_MAP1_COLOR_4));
405bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMap1d_size(GL_MAP1_TEXTURE_COORD_4));
406bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMap1d_size(GL_MAP1_VERTEX_4));
407bf215546Sopenharmony_ci}
408bf215546Sopenharmony_ci
409bf215546Sopenharmony_ciTEST(InvalidEnumSizes, Map1d)
410bf215546Sopenharmony_ci{
411bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
412bf215546Sopenharmony_ci      switch (i) {
413bf215546Sopenharmony_ci      case GL_MAP1_INDEX:
414bf215546Sopenharmony_ci      case GL_MAP1_TEXTURE_COORD_1:
415bf215546Sopenharmony_ci      case GL_MAP1_TEXTURE_COORD_2:
416bf215546Sopenharmony_ci      case GL_MAP1_NORMAL:
417bf215546Sopenharmony_ci      case GL_MAP1_TEXTURE_COORD_3:
418bf215546Sopenharmony_ci      case GL_MAP1_VERTEX_3:
419bf215546Sopenharmony_ci      case GL_MAP1_COLOR_4:
420bf215546Sopenharmony_ci      case GL_MAP1_TEXTURE_COORD_4:
421bf215546Sopenharmony_ci      case GL_MAP1_VERTEX_4:
422bf215546Sopenharmony_ci         break;
423bf215546Sopenharmony_ci      default:
424bf215546Sopenharmony_ci         EXPECT_EQ(0, __glMap1d_size(i)) << "i = 0x" <<
425bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
426bf215546Sopenharmony_ci      }
427bf215546Sopenharmony_ci   }
428bf215546Sopenharmony_ci}
429bf215546Sopenharmony_ci
430bf215546Sopenharmony_ciTEST(ValidEnumSizes, Map2d)
431bf215546Sopenharmony_ci{
432bf215546Sopenharmony_ci   EXPECT_EQ(1, __glMap2d_size(GL_MAP2_INDEX));
433bf215546Sopenharmony_ci   EXPECT_EQ(1, __glMap2d_size(GL_MAP2_TEXTURE_COORD_1));
434bf215546Sopenharmony_ci   EXPECT_EQ(2, __glMap2d_size(GL_MAP2_TEXTURE_COORD_2));
435bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMap2d_size(GL_MAP2_NORMAL));
436bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMap2d_size(GL_MAP2_TEXTURE_COORD_3));
437bf215546Sopenharmony_ci   EXPECT_EQ(3, __glMap2d_size(GL_MAP2_VERTEX_3));
438bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMap2d_size(GL_MAP2_COLOR_4));
439bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMap2d_size(GL_MAP2_TEXTURE_COORD_4));
440bf215546Sopenharmony_ci   EXPECT_EQ(4, __glMap2d_size(GL_MAP2_VERTEX_4));
441bf215546Sopenharmony_ci}
442bf215546Sopenharmony_ci
443bf215546Sopenharmony_ciTEST(InvalidEnumSizes, Map2d)
444bf215546Sopenharmony_ci{
445bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
446bf215546Sopenharmony_ci      switch (i) {
447bf215546Sopenharmony_ci      case GL_MAP2_INDEX:
448bf215546Sopenharmony_ci      case GL_MAP2_TEXTURE_COORD_1:
449bf215546Sopenharmony_ci      case GL_MAP2_TEXTURE_COORD_2:
450bf215546Sopenharmony_ci      case GL_MAP2_NORMAL:
451bf215546Sopenharmony_ci      case GL_MAP2_TEXTURE_COORD_3:
452bf215546Sopenharmony_ci      case GL_MAP2_VERTEX_3:
453bf215546Sopenharmony_ci      case GL_MAP2_COLOR_4:
454bf215546Sopenharmony_ci      case GL_MAP2_TEXTURE_COORD_4:
455bf215546Sopenharmony_ci      case GL_MAP2_VERTEX_4:
456bf215546Sopenharmony_ci         break;
457bf215546Sopenharmony_ci      default:
458bf215546Sopenharmony_ci         EXPECT_EQ(0, __glMap2d_size(i)) << "i = 0x" <<
459bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
460bf215546Sopenharmony_ci      }
461bf215546Sopenharmony_ci   }
462bf215546Sopenharmony_ci}
463bf215546Sopenharmony_ci
464bf215546Sopenharmony_ciTEST(ValidEnumSizes, ColorTableParameterfv)
465bf215546Sopenharmony_ci{
466bf215546Sopenharmony_ci   EXPECT_EQ(4, __glColorTableParameterfv_size(GL_COLOR_TABLE_SCALE));
467bf215546Sopenharmony_ci   EXPECT_EQ(4, __glColorTableParameterfv_size(GL_COLOR_TABLE_BIAS));
468bf215546Sopenharmony_ci}
469bf215546Sopenharmony_ci
470bf215546Sopenharmony_ciTEST(InvalidEnumSizes, ColorTableParameterfv)
471bf215546Sopenharmony_ci{
472bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
473bf215546Sopenharmony_ci      switch (i) {
474bf215546Sopenharmony_ci      case GL_COLOR_TABLE_SCALE:
475bf215546Sopenharmony_ci      case GL_COLOR_TABLE_BIAS:
476bf215546Sopenharmony_ci         break;
477bf215546Sopenharmony_ci      default:
478bf215546Sopenharmony_ci         EXPECT_EQ(0, __glColorTableParameterfv_size(i)) << "i = 0x" <<
479bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
480bf215546Sopenharmony_ci      }
481bf215546Sopenharmony_ci   }
482bf215546Sopenharmony_ci}
483bf215546Sopenharmony_ci
484bf215546Sopenharmony_ciTEST(ValidEnumSizes, ConvolutionParameterfv)
485bf215546Sopenharmony_ci{
486bf215546Sopenharmony_ci   EXPECT_EQ(1, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_MODE));
487bf215546Sopenharmony_ci   EXPECT_EQ(1, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_MODE_EXT));
488bf215546Sopenharmony_ci   EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_SCALE));
489bf215546Sopenharmony_ci   EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_SCALE_EXT));
490bf215546Sopenharmony_ci   EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_BIAS));
491bf215546Sopenharmony_ci   EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_FILTER_BIAS_EXT));
492bf215546Sopenharmony_ci   EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_COLOR));
493bf215546Sopenharmony_ci   EXPECT_EQ(4, __glConvolutionParameterfv_size(GL_CONVOLUTION_BORDER_COLOR_HP));
494bf215546Sopenharmony_ci}
495bf215546Sopenharmony_ci
496bf215546Sopenharmony_ciTEST(InvalidEnumSizes, ConvolutionParameterfv)
497bf215546Sopenharmony_ci{
498bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
499bf215546Sopenharmony_ci      switch (i) {
500bf215546Sopenharmony_ci      case GL_CONVOLUTION_BORDER_MODE:
501bf215546Sopenharmony_ci/*      case GL_CONVOLUTION_BORDER_MODE_EXT:*/
502bf215546Sopenharmony_ci      case GL_CONVOLUTION_FILTER_SCALE:
503bf215546Sopenharmony_ci/*      case GL_CONVOLUTION_FILTER_SCALE_EXT:*/
504bf215546Sopenharmony_ci      case GL_CONVOLUTION_FILTER_BIAS:
505bf215546Sopenharmony_ci/*      case GL_CONVOLUTION_FILTER_BIAS_EXT:*/
506bf215546Sopenharmony_ci      case GL_CONVOLUTION_BORDER_COLOR:
507bf215546Sopenharmony_ci/*      case GL_CONVOLUTION_BORDER_COLOR_HP:*/
508bf215546Sopenharmony_ci         break;
509bf215546Sopenharmony_ci      default:
510bf215546Sopenharmony_ci         EXPECT_EQ(0, __glConvolutionParameterfv_size(i)) << "i = 0x" <<
511bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
512bf215546Sopenharmony_ci      }
513bf215546Sopenharmony_ci   }
514bf215546Sopenharmony_ci}
515bf215546Sopenharmony_ci
516bf215546Sopenharmony_ciTEST(ValidEnumSizes, PointParameterfv)
517bf215546Sopenharmony_ci{
518bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MIN));
519bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MIN_ARB));
520bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MIN_SGIS));
521bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MAX));
522bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MAX_ARB));
523bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SIZE_MAX_SGIS));
524bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_FADE_THRESHOLD_SIZE));
525bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_FADE_THRESHOLD_SIZE_ARB));
526bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_FADE_THRESHOLD_SIZE_SGIS));
527bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SPRITE_R_MODE_NV));
528bf215546Sopenharmony_ci   EXPECT_EQ(1, __glPointParameterfv_size(GL_POINT_SPRITE_COORD_ORIGIN));
529bf215546Sopenharmony_ci   EXPECT_EQ(3, __glPointParameterfv_size(GL_POINT_DISTANCE_ATTENUATION));
530bf215546Sopenharmony_ci   EXPECT_EQ(3, __glPointParameterfv_size(GL_POINT_DISTANCE_ATTENUATION_ARB));
531bf215546Sopenharmony_ci}
532bf215546Sopenharmony_ci
533bf215546Sopenharmony_ciTEST(InvalidEnumSizes, PointParameterfv)
534bf215546Sopenharmony_ci{
535bf215546Sopenharmony_ci   for (unsigned i = 0; i < 0x10004; i++) {
536bf215546Sopenharmony_ci      switch (i) {
537bf215546Sopenharmony_ci      case GL_POINT_SIZE_MIN:
538bf215546Sopenharmony_ci/*      case GL_POINT_SIZE_MIN_ARB:*/
539bf215546Sopenharmony_ci/*      case GL_POINT_SIZE_MIN_SGIS:*/
540bf215546Sopenharmony_ci      case GL_POINT_SIZE_MAX:
541bf215546Sopenharmony_ci/*      case GL_POINT_SIZE_MAX_ARB:*/
542bf215546Sopenharmony_ci/*      case GL_POINT_SIZE_MAX_SGIS:*/
543bf215546Sopenharmony_ci      case GL_POINT_FADE_THRESHOLD_SIZE:
544bf215546Sopenharmony_ci/*      case GL_POINT_FADE_THRESHOLD_SIZE_ARB:*/
545bf215546Sopenharmony_ci/*      case GL_POINT_FADE_THRESHOLD_SIZE_SGIS:*/
546bf215546Sopenharmony_ci      case GL_POINT_SPRITE_R_MODE_NV:
547bf215546Sopenharmony_ci      case GL_POINT_SPRITE_COORD_ORIGIN:
548bf215546Sopenharmony_ci      case GL_POINT_DISTANCE_ATTENUATION:
549bf215546Sopenharmony_ci/*      case GL_POINT_DISTANCE_ATTENUATION_ARB:*/
550bf215546Sopenharmony_ci         break;
551bf215546Sopenharmony_ci      default:
552bf215546Sopenharmony_ci         EXPECT_EQ(0, __glPointParameterfv_size(i)) << "i = 0x" <<
553bf215546Sopenharmony_ci            std::setw(4) << std::setfill('0') << std::hex << i;
554bf215546Sopenharmony_ci      }
555bf215546Sopenharmony_ci   }
556bf215546Sopenharmony_ci}
557