glsl-array-bounds: set out-of-bounds array index inside shader
[piglit.git] / tests / opengl.py
blob12c8ef516d965345f25a7d508a11cd9202bbf8ba
1 # -*- coding: utf-8 -*-
2 # All tests that come with piglit, using default settings
4 import itertools
5 import os
6 import platform
8 from framework import grouptools
9 from framework import options
10 from framework.profile import TestProfile
11 from framework.test.piglit_test import (
12 PiglitGLTest, PiglitBaseTest, BuiltInConstantsTest
14 from .py_modules.constants import TESTS_DIR, GENERATED_TESTS_DIR
16 __all__ = ['profile']
18 # Disable bad hanging indent errors in pylint
19 # There is a bug in pylint which causes the profile.test_list.group_manager to
20 # be tagged as bad hanging indent, even though it seems to be correct (and
21 # similar syntax doesn't trigger an error)
22 # pylint: disable=bad-continuation
24 # Shadowing variables is a bad practice. It's just nearly impossible with the
25 # format of this module to avoid it.
26 # pylint: disable=redefined-outer-name
29 def add_single_param_test_set(adder, name, *params):
30 for param in params:
31 adder([name, param], '{}-{}'.format(name, param), run_concurrent=False)
34 def add_depthstencil_render_miplevels_tests(adder, test_types):
35 # Note: the buffer sizes below have been chosen to exercise
36 # many possible combinations of buffer alignments on i965.
37 for texture_size in ['146', '273', '292', '585', '1024']:
38 for test_type in test_types:
39 adder(['depthstencil-render-miplevels', texture_size, test_type],
40 run_concurrent=False)
43 def add_fbo_stencil_tests(adder, format):
44 adder(['fbo-stencil', 'clear', format],
45 'fbo-stencil-{}-clear'.format(format))
46 adder(['fbo-stencil', 'readpixels', format],
47 'fbo-stencil-{}-readpixels'.format(format))
48 adder(['fbo-stencil', 'drawpixels', format],
49 'fbo-stencil-{}-drawpixels'.format(format))
50 adder(['fbo-stencil', 'copypixels', format],
51 'fbo-stencil-{}-copypixels'.format(format))
52 adder(['fbo-stencil', 'blit', format],
53 'fbo-stencil-{}-blit'.format(format))
56 def add_fbo_depthstencil_tests(adder, format, num_samples):
57 assert format, \
58 'add_fbo_depthstencil_tests argument "format" cannot be empty'
60 if format == 'default_fb':
61 prefix = ''
62 concurrent = False
63 else:
64 prefix = 'fbo-'
65 concurrent = True
67 if int(num_samples) > 1:
68 suffix = ' samples=' + num_samples
69 psamples = '-samples=' + num_samples
70 else:
71 suffix = ''
72 psamples = ''
74 adder(['fbo-depthstencil', 'clear', format, psamples],
75 '{}depthstencil-{}-clear{}'.format(prefix, format, suffix),
76 run_concurrent=concurrent)
77 adder(['fbo-depthstencil', 'readpixels', format, 'FLOAT-and-USHORT',
78 psamples],
79 '{}depthstencil-{}-readpixels-FLOAT-and-USHORT{}'.format(
80 prefix, format, suffix),
81 run_concurrent=concurrent)
82 adder(['fbo-depthstencil', 'readpixels', format, '24_8', psamples],
83 '{}depthstencil-{}-readpixels-24_8{}'.format(prefix, format, suffix),
84 run_concurrent=concurrent)
85 adder(['fbo-depthstencil', 'readpixels', format, '32F_24_8_REV', psamples],
86 '{}depthstencil-{}-readpixels-32F_24_8_REV{}'.format(
87 prefix, format, suffix),
88 run_concurrent=concurrent)
89 adder(['fbo-depthstencil', 'drawpixels', format, 'FLOAT-and-USHORT',
90 psamples],
91 '{}depthstencil-{}-drawpixels-FLOAT-and-USHORT{}'.format(
92 prefix, format, suffix),
93 run_concurrent=concurrent)
94 adder(['fbo-depthstencil', 'drawpixels', format, '24_8', psamples],
95 '{}depthstencil-{}-drawpixels-24_8{}'.format(prefix, format, suffix),
96 run_concurrent=concurrent)
97 adder(['fbo-depthstencil', 'drawpixels', format, '32F_24_8_REV', psamples],
98 '{}depthstencil-{}-drawpixels-32F_24_8_REV{}'.format(
99 prefix, format, suffix),
100 run_concurrent=concurrent)
101 adder(['fbo-depthstencil', 'copypixels', format, psamples],
102 '{}depthstencil-{}-copypixels{}'.format(prefix, format, suffix),
103 run_concurrent=concurrent)
104 adder(['fbo-depthstencil', 'blit', format, psamples],
105 '{}depthstencil-{}-blit{}'.format(prefix, format, suffix),
106 run_concurrent=concurrent)
109 def add_msaa_visual_plain_tests(adder, args, **kwargs):
110 assert isinstance(args, list)
112 adder(args, **kwargs)
113 for sample_count in MSAA_SAMPLE_COUNTS:
114 adder(args + ['-samples={}'.format(sample_count)],
115 ' '.join(args + ['samples={}'.format(sample_count)]),
116 **kwargs)
119 def add_fbo_formats_tests(adder, extension, suffix=''):
120 adder(['fbo-generatemipmap-formats', extension],
121 'fbo-generatemipmap-formats{}'.format(suffix))
122 adder(['fbo-clear-formats', extension],
123 'fbo-clear-formats{}'.format(suffix))
124 adder(['get-renderbuffer-internalformat', extension],
125 'get-renderbuffer-internalformat{}'.format(suffix))
126 if 'depth' not in extension and 'stencil' not in extension:
127 adder(['fbo-blending-formats', extension],
128 'fbo-blending-formats{}'.format(suffix))
129 adder(['fbo-alphatest-formats', extension],
130 'fbo-alphatest-formats{}'.format(suffix))
131 adder(['fbo-colormask-formats', extension],
132 'fbo-colormask-formats{}'.format(suffix))
133 adder(['ext_framebuffer_multisample-fast-clear',
134 extension,
135 'single-sample'],
136 'fbo-fast-clear{}'.format(suffix))
139 def add_msaa_formats_tests(adder, extension):
140 for sample_count in MSAA_SAMPLE_COUNTS:
141 adder(['ext_framebuffer_multisample-formats', sample_count,
142 extension],
143 'multisample-formats {} {}'.format(sample_count, extension))
144 adder(['ext_framebuffer_multisample-fast-clear', extension],
145 'multisample-fast-clear {}'.format(extension))
148 def add_texwrap_target_tests(adder, target):
149 adder(['texwrap', target, 'GL_RGBA8'],
150 'texwrap {}'.format(target))
151 if target == '2D':
152 adder(['texwrap', target, 'GL_RGBA8', 'offset'],
153 'texwrap {} offset'.format(target))
154 adder(['texwrap', target, 'GL_RGBA8', 'bordercolor'],
155 'texwrap {} bordercolor'.format(target))
156 adder(['texwrap', target, 'GL_RGBA8', 'proj'],
157 'texwrap {} proj'.format(target))
158 adder(['texwrap', target, 'GL_RGBA8', 'proj', 'bordercolor'],
159 'texwrap {} proj bordercolor'.format(target))
162 def add_texwrap_format_tests(adder, ext='', suffix=''):
163 args = [] if ext == '' else [ext]
164 adder(['texwrap'] + args, 'texwrap formats{}'.format(suffix))
165 if 'compression' not in ext and 's3tc' not in ext:
166 adder(['texwrap'] + args + ['offset'],
167 'texwrap formats{} offset'.format(suffix))
168 adder(['texwrap'] + args + ['bordercolor'],
169 'texwrap formats{} bordercolor'.format(suffix))
170 adder(['texwrap'] + args + ['bordercolor', 'swizzled'],
171 'texwrap formats{} bordercolor-swizzled'.format(suffix))
174 def add_fbo_depth_tests(adder, format):
175 adder(['fbo-depth-tex1d', format], 'fbo-depth-{}-tex1d'.format(format))
176 adder(['fbo-depth', 'clear', format], 'fbo-depth-{}-clear'.format(format))
177 adder(['fbo-depth', 'readpixels', format],
178 'fbo-depth-{}-readpixels'.format(format))
179 adder(['fbo-depth', 'drawpixels', format],
180 'fbo-depth-{}-drawpixels'.format(format))
181 adder(['fbo-depth', 'copypixels', format],
182 'fbo-depth-{}-copypixels'.format(format))
183 adder(['fbo-depth', 'blit', format], 'fbo-depth-{}-blit'.format(format))
186 def power_set(s):
187 """Generate all possible subsets of the given set, including the empty set.
189 if len(s) == 0:
190 return [[]]
191 result = []
192 for p in power_set(s[:-1]):
193 result.append(p)
194 result.append(p + [s[-1]])
195 return result
197 ######
198 # Collecting all tests
199 profile = TestProfile() # pylint: disable=invalid-name
201 # List of all of the MSAA sample counts we wish to test
202 MSAA_SAMPLE_COUNTS = ['2', '4', '6', '8', '16', '32']
204 with profile.test_list.group_manager(PiglitGLTest, 'security') as g:
205 g(['initialized-texmemory'], run_concurrent=False)
206 g(['initialized-fbo'], run_concurrent=False)
207 g(['initialized-vbo'], run_concurrent=False)
209 with profile.test_list.group_manager(PiglitGLTest, 'shaders') as g:
210 g(['activeprogram-bad-program'])
211 g(['activeprogram-get'])
212 g(['attribute0'])
213 g(['createshaderprogram-bad-type'])
214 g(['createshaderprogram-attached-shaders'])
215 g(['glsl-arb-fragment-coord-conventions'])
216 g(['glsl-bug-110796'])
217 g(['glsl-bug-22603'])
218 g(['glsl-bindattriblocation'])
219 g(['glsl-dlist-getattriblocation'])
220 g(['glsl-getactiveuniform-array-size'])
221 g(['glsl-getactiveuniform-length'])
222 g(['glsl-getattriblocation'])
223 g(['getuniform-01'])
224 g(['getuniform-02'])
225 g(['getuniform-03'])
226 g(['glsl-invalid-asm-01'])
227 g(['glsl-invalid-asm-02'])
228 g(['glsl-novertexdata'])
229 g(['glsl-preprocessor-comments'])
230 g(['glsl-reload-source'])
231 g(['glsl-cache-fallback-shader-source'])
232 g(['glsl-uniform-out-of-bounds'])
233 g(['glsl-uniform-out-of-bounds-2'])
234 g(['glsl-uniform-update'])
235 g(['glsl-unused-varying'])
236 g(['glsl-fs-bug25902'])
237 g(['glsl-fs-color-matrix'])
238 g(['glsl-fs-discard-02'])
239 g(['glsl-fs-discard-mrt'])
240 g(['glsl-fs-exp2'])
241 g(['glsl-fs-flat-color'])
242 g(['glsl-fs-fogcolor-statechange'])
243 g(['glsl-fs-fogscale'])
244 g(['glsl-fs-fragcoord'])
245 g(['glsl-fs-fragcoord-zw-ortho'])
246 g(['glsl-fs-fragcoord-zw-perspective'])
247 g(['glsl-fs-loop'])
248 g(['glsl-fs-loop-nested'])
249 g(['glsl-fs-pointcoord'])
250 g(['glsl-fs-raytrace-bug27060'])
251 g(['glsl-fs-sampler-numbering'])
252 g(['glsl-fs-shader-stencil-export'])
253 g(['glsl-fs-sqrt-branch'])
254 g(['glsl-fs-texturecube'])
255 g(['glsl-fs-texturecube', '-bias'], 'glsl-fs-texturecube-bias')
256 g(['glsl-fs-texturecube-2'])
257 g(['glsl-fs-texturecube-2', '-bias'], 'glsl-fs-texturecube-2-bias')
258 g(['glsl-fs-textureenvcolor-statechange'], run_concurrent=False)
259 g(['glsl-fs-texture2drect'])
260 g(['glsl-fs-texture2drect', '-proj3'], 'glsl-fs-texture2drect-proj3')
261 g(['glsl-fs-texture2drect', '-proj4'], 'glsl-fs-texture2drect-proj4')
262 g(['glsl-fs-user-varying-ff'])
263 g(['glsl-mat-attribute'])
264 g(['glsl-max-varyings'])
265 g(['glsl-max-varyings', '--exceed-limits'],
266 'glsl-max-varyings >MAX_VARYING_COMPONENTS')
267 g(['glsl-orangebook-ch06-bump'])
268 g(['glsl-routing'])
269 g(['glsl-vs-arrays'])
270 g(['glsl-vs-normalscale'])
271 g(['glsl-vs-functions'])
272 g(['glsl-vs-user-varying-ff'])
273 g(['glsl-vs-texturematrix-1'])
274 g(['glsl-vs-texturematrix-2'])
275 g(['glsl-sin'])
276 g(['glsl-cos'])
277 g(['glsl-vs-if-bool'])
278 g(['glsl-vs-loop'])
279 g(['glsl-vs-loop-nested'])
280 g(['glsl-vs-mov-after-deref'])
281 g(['glsl-vs-mvp-statechange'])
282 g(['glsl-vs-raytrace-bug26691'])
283 g(['glsl-vs-statechange-1'])
284 g(['vp-combined-image-units'])
285 g(['glsl-derivs'])
286 g(['glsl-fwidth'])
287 g(['glsl-lod-bias'])
288 g(['vp-ignore-input'])
289 g(['glsl-empty-vs-no-fs'])
290 g(['glsl-useprogram-displaylist'])
291 g(['glsl-vs-point-size'])
292 g(['glsl-light-model'])
293 g(['glsl-link-bug30552'])
294 g(['glsl-link-bug38015'])
295 g(['glsl-max-vertex-attrib'])
296 g(['glsl-kwin-blur-1'])
297 g(['glsl-kwin-blur-2'])
298 g(['gpu_shader4_attribs'])
299 g(['link-unresolved-function'])
300 g(['shadersource-no-compile'])
301 g(['sso-simple'])
302 g(['sso-uniforms-01'])
303 g(['sso-uniforms-02'])
304 g(['sso-user-varying-01'])
305 g(['sso-user-varying-02'])
306 g(['useprogram-flushverts-1'])
307 g(['useprogram-flushverts-2'])
308 g(['useprogram-inside-begin'])
309 g(['useprogram-refcount-1'])
310 g(['useprogram-refcount-1', 'delete_dup'])
311 g(['useshaderprogram-bad-type'])
312 g(['useshaderprogram-bad-program'])
313 g(['useshaderprogram-flushverts-1'])
314 g(['point-vertex-id', 'gl_VertexID'])
315 g(['point-vertex-id', 'gl_InstanceID'])
316 g(['point-vertex-id', 'gl_VertexID', 'gl_InstanceID'])
317 g(['point-vertex-id', 'divisor'])
318 g(['point-vertex-id', 'gl_VertexID', 'divisor'])
319 g(['point-vertex-id', 'gl_InstanceID', 'divisor'])
320 g(['point-vertex-id', 'gl_VertexID', 'gl_InstanceID', 'divisor'])
321 g(['glsl-vs-int-attrib'])
322 g(['unsuccessful-relink'])
323 g(['glsl-link-initializer-03'],
324 'GLSL link two programs, global initializer')
325 g(['glsl-getactiveuniform-count',
326 os.path.join('shaders', 'glsl-getactiveuniform-length.vert'), '1'],
327 'glsl-getactiveuniform-count: {}'.format('glsl-getactiveuniform-length'))
328 g(['glsl-getactiveuniform-count',
329 os.path.join('shaders', 'glsl-getactiveuniform-ftransform.vert'), '2'],
330 'glsl-getactiveuniform-count: {}'.format(
331 'glsl-getactiveuniform-ftransform'))
332 g(['glsl-getactiveuniform-count',
333 os.path.join('shaders', 'glsl-getactiveuniform-mvp.vert'), '2'],
334 'glsl-getactiveuniform-count: {}'.format('glsl-getactiveuniform-mvp'))
336 for subtest in ('interstage', 'intrastage', 'vs-gs'):
337 g(['version-mixing', subtest])
339 for subtest in ('texture2D',
340 'bias',
341 'textureGrad',
342 'texelFetch',
343 'textureLod',
344 'textureSize',
345 'textureQueryLOD',
346 'textureGather'):
347 g(['zero-tex-coord', subtest])
349 with profile.test_list.group_manager(PiglitGLTest, grouptools.join('shaders', 'glsl-uniform-interstage-limits')) as g:
350 g(['glsl-uniform-interstage-limits', '--subdivide', '5'], 'subdivide 5')
351 g(['glsl-uniform-interstage-limits', '--subdivide', '5', '--statechanges'], 'subdivide 5, statechanges')
352 g(['glsl-uniform-interstage-limits', '-v', '300', '-f', '300'], '300 VS, 300 FS')
353 g(['glsl-uniform-interstage-limits', '-v', '350', '-f', '350'], '350 VS, 350 FS')
354 g(['glsl-uniform-interstage-limits', '-v', '400', '-f', '400'], '400 VS, 400 FS')
355 g(['glsl-uniform-interstage-limits', '-v', '520', '-f', '1'], '520 VS, 1 FS')
356 g(['glsl-uniform-interstage-limits', '-v', '1', '-f', '520'], '1 VS, 520 FS')
358 with profile.test_list.group_manager(
359 PiglitGLTest, 'glx',
360 require_platforms=['glx', 'mixed_glx_egl']) as g:
361 g(['glx-destroycontext-1'], run_concurrent=False)
362 g(['glx-destroycontext-2'], run_concurrent=False)
363 g(['glx-destroycontext-3'], run_concurrent=False)
364 g(['glx-dont-care-mask'], run_concurrent=False)
365 g(['glx-close-display'], run_concurrent=False)
366 g(['glx-fbconfig-sanity'], run_concurrent=False)
367 g(['glx-fbconfig-compliance'], run_concurrent=False)
368 g(['glx-fbconfig-bad'], run_concurrent=False)
369 g(['glx-fbo-binding'], run_concurrent=False)
370 g(['glx-multi-context-front'], run_concurrent=False)
371 g(['glx-multi-context-ib-1'], run_concurrent=False)
372 g(['glx-multi-context-single-window'], run_concurrent=False)
373 g(['glx-multi-window-single-context'], run_concurrent=False)
374 g(['glx-multithread'], run_concurrent=False)
375 g(['glx-multithread-buffer'], run_concurrent=False)
376 g(['glx-multithread-clearbuffer'], run_concurrent=False)
377 g(['glx-multithread-texture'], run_concurrent=False)
378 g(['glx-multithread-makecurrent-1'], run_concurrent=False)
379 g(['glx-multithread-makecurrent-2'], run_concurrent=False)
380 g(['glx-multithread-makecurrent-3'], run_concurrent=False)
381 g(['glx-multithread-makecurrent-4'], run_concurrent=False)
382 g(['glx-multithread-shader-compile'], run_concurrent=False)
383 g(['glx-shader-sharing'], run_concurrent=False)
384 g(['glx-swap-exchange'], run_concurrent=False)
385 g(['glx-swap-event', '--event'], 'glx-swap-event_event',
386 run_concurrent=False)
387 g(['glx-swap-event', '--async'], 'glx-swap-event_async',
388 run_concurrent=False)
389 g(['glx-swap-event', '--interval'], 'glx-swap-event_interval',
390 run_concurrent=False)
391 g(['glx-swap-pixmap'], run_concurrent=False)
392 g(['glx-swap-pixmap-bad'], run_concurrent=False)
393 g(['glx-swap-singlebuffer'], run_concurrent=False)
394 g(['glx-swap-copy'], run_concurrent=False)
395 g(['glx-make-current'], run_concurrent=False)
396 g(['glx-make-glxdrawable-current'], run_concurrent=False)
397 g(['glx-context-flush-control'], run_concurrent=False)
398 g(['glx-buffer-age'], run_concurrent=False)
399 g(['glx-pixmap-life'])
400 g(['glx-pixmap13-life'])
401 g(['glx-pixmap-multi'])
402 g(['glx-tfp'], run_concurrent=False)
403 g(['glx-visuals-depth'], run_concurrent=False)
404 g(['glx-visuals-depth', '-pixmap'])
405 g(['glx-visuals-stencil'], run_concurrent=False)
406 g(['glx-visuals-stencil', '-pixmap'])
407 g(['glx-window-life'])
408 g(['glx-pixmap-crosscheck'])
409 g(['glx-query-drawable', '--attr=GLX_WIDTH', '--type=GLXWINDOW'],
410 'glx-query-drawable-GLXWINDOW-GLX_WIDTH', run_concurrent=False)
411 g(['glx-query-drawable', '--attr=GLX_HEIGHT', '--type=GLXWINDOW'],
412 'glx-query-drawable-GLXWINDOW-GLX_HEIGHT', run_concurrent=False)
413 g(['glx-query-drawable', '--attr=GLX_WIDTH', '--type=GLXPIXMAP'],
414 'glx-query-drawable-GLXPIXMAP-GLX_WIDTH', run_concurrent=False)
415 g(['glx-query-drawable', '--attr=GLX_HEIGHT', '--type=GLXPIXMAP'],
416 'glx-query-drawable-GLXPIXMAP-GLX_HEIGHT', run_concurrent=False)
417 g(['glx-query-drawable', '--attr=GLX_WIDTH', '--type=GLXPBUFFER'],
418 'glx-query-drawable-GLXPBUFFER-GLX_WIDTH', run_concurrent=False)
419 g(['glx-query-drawable', '--attr=GLX_HEIGHT', '--type=GLXPBUFFER'],
420 'glx-query-drawable-GLXPBUFFER-GLX_HEIGHT', run_concurrent=False)
421 g(['glx-query-drawable', '--attr=GLX_WIDTH', '--type=WINDOW'],
422 'glx-query-drawable-GLX_WIDTH', run_concurrent=False)
423 g(['glx-query-drawable', '--attr=GLX_HEIGHT', '--type=WINDOW'],
424 'glx-query-drawable-GLX_HEIGHT', run_concurrent=False)
425 g(['glx-query-drawable', '--attr=GLX_FBCONFIG_ID', '--type=WINDOW'],
426 'glx-query-drawable-GLX_FBCONFIG_ID-WINDOW', run_concurrent=False)
427 g(['glx-query-drawable', '--attr=GLX_FBCONFIG_ID', '--type=GLXWINDOW'],
428 'glx-query-drawable-GLX_FBCONFIG_ID-GLXWINDOW', run_concurrent=False)
429 g(['glx-query-drawable', '--attr=GLX_FBCONFIG_ID', '--type=GLXPIXMAP'],
430 'glx-query-drawable-GLX_FBCONFIG_ID-GLXPIXMAP', run_concurrent=False)
431 g(['glx-query-drawable', '--attr=GLX_FBCONFIG_ID', '--type=GLXPBUFFER'],
432 'glx-query-drawable-GLX_FBCONFIG_ID-GLXPBUFFER', run_concurrent=False)
433 g(['glx-query-drawable', '--attr=GLX_FBCONFIG_ID', '--type=GLXPBUFFER'],
434 'glx-query-drawable-GLX_PRESERVED_CONTENTS', run_concurrent=False)
435 g(['glx-query-drawable', '--bad-drawable'],
436 'glx-query-drawable-GLXBadDrawable', run_concurrent=False)
437 g(['glx-string-sanity'], 'extension string sanity')
438 g(['glx-egl-switch-context'], run_concurrent=False)
439 add_msaa_visual_plain_tests(g, ['glx-copy-sub-buffer'],
440 run_concurrent=False)
441 profile.test_list[grouptools.join('glx', 'glx-buffer-age vblank_mode=0')] = \
442 PiglitGLTest(['glx-buffer-age'],
443 require_platforms=['glx', 'mixed_glx_egl'],
444 run_concurrent=False)
445 profile.test_list[grouptools.join(
446 'glx', 'glx-buffer-age vblank_mode=0')].env['vblank_mode'] = '0'
448 with profile.test_list.group_manager(
449 PiglitGLTest,
450 grouptools.join('glx', 'glx_ext_import_context'),
451 require_platforms=['glx', 'mixed_glx_egl']) as g:
452 g(['glx-free-context'], 'free context', run_concurrent=False)
453 g(['glx-get-context-id'], 'get context ID', run_concurrent=False)
454 g(['glx-get-current-display-ext'], 'get current display',
455 run_concurrent=False)
456 g(['glx-import-context-has-same-context-id'],
457 'imported context has same context ID',
458 run_concurrent=False)
459 g(['glx-import-context-multi-process'], 'import context, multi process',
460 run_concurrent=False)
461 g(['glx-import-context-single-process'], 'import context, single process',
462 run_concurrent=False)
463 g(['glx-make-current-multi-process'], 'make current, multi process',
464 run_concurrent=False)
465 g(['glx-make-current-single-process'], 'make current, single process',
466 run_concurrent=False)
467 g(['glx-query-context-info-ext'], 'query context info',
468 run_concurrent=False)
470 with profile.test_list.group_manager(
471 PiglitGLTest,
472 grouptools.join('glx', 'GLX_ARB_create_context'),
473 require_platforms=['glx', 'mixed_glx_egl']) as g:
474 g(['glx-create-context-current-no-framebuffer'],
475 'current with no framebuffer')
476 g(['glx-create-context-default-major-version'], 'default major version')
477 g(['glx-create-context-default-minor-version'], 'default minor version')
478 g(['glx-create-context-invalid-attribute'], 'invalid attribute')
479 g(['glx-create-context-invalid-flag'], 'invalid flag')
480 g(['glx-create-context-invalid-flag-forward-compatible'],
481 'forward-compatible flag with pre-3.0')
482 g(['glx-create-context-invalid-gl-version'], 'invalid OpenGL version')
483 g(['glx-create-context-invalid-render-type'], 'invalid render type')
484 g(['glx-create-context-invalid-render-type-color-index'],
485 'color-index render type with 3.0')
486 g(['glx-create-context-valid-attribute-empty'], 'empty attribute list')
487 g(['glx-create-context-valid-attribute-null'], 'NULL attribute list')
488 g(['glx-create-context-valid-flag-forward-compatible'],
489 'forward-compatible flag with 3.0')
491 with profile.test_list.group_manager(
492 PiglitGLTest,
493 grouptools.join('glx', 'GLX_EXT_no_config_context'),
494 require_platforms=['glx', 'mixed_glx_egl']) as g:
495 g(['glx-create-context-ext-no-config-context'], 'no fbconfig')
497 with profile.test_list.group_manager(
498 PiglitGLTest,
499 grouptools.join('glx', 'GLX_ARB_create_context_profile'),
500 require_platforms=['glx', 'mixed_glx_egl']) as g:
501 g(['glx-create-context-core-profile'], '3.2 core profile required')
502 g(['glx-create-context-invalid-profile'], 'invalid profile')
503 g(['glx-create-context-pre-GL32-profile'], 'pre-GL3.2 profile')
505 with profile.test_list.group_manager(
506 PiglitGLTest,
507 grouptools.join('glx', 'GLX_ARB_create_context_robustness'),
508 require_platforms=['glx', 'mixed_glx_egl']) as g:
509 g(['glx-create-context-invalid-reset-strategy'],
510 'invalid reset notification strategy')
511 g(['glx-create-context-require-robustness'], 'require GL_ARB_robustness')
513 with profile.test_list.group_manager(
514 PiglitGLTest,
515 grouptools.join('glx', 'GLX_ARB_create_context_es2_profile'),
516 require_platforms=['glx', 'mixed_glx_egl']) as g:
517 g(['glx-create-context-indirect-es2-profile'],
518 'indirect rendering ES2 profile')
519 g(['glx-create-context-invalid-es-version'], 'invalid OpenGL ES version')
521 with profile.test_list.group_manager(
522 PiglitGLTest,
523 grouptools.join('glx', 'GLX_ARB_create_context_no_error'),
524 require_platforms=['glx', 'mixed_glx_egl']) as g:
525 g(['glx-create-context-no-error'], 'no error')
527 with profile.test_list.group_manager(
528 PiglitGLTest,
529 grouptools.join('glx', 'GLX_ARB_sync_control'),
530 require_platforms=['glx', 'mixed_glx_egl']) as g:
531 g(['glx-oml-sync-control-getmscrate'], 'glXGetMscRateOML')
532 g(['glx-oml-sync-control-swapbuffersmsc-divisor-zero'],
533 'swapbuffersmsc-divisor-zero')
534 g(['glx-oml-sync-control-swapbuffersmsc-return'], 'swapbuffersmsc-return')
535 g(['glx-oml-sync-control-swapbuffersmsc-return', '0'],
536 'swapbuffersmsc-return swap_interval 0')
537 g(['glx-oml-sync-control-swapbuffersmsc-return', '1'],
538 'swapbuffersmsc-return swap_interval 1')
539 g(['glx-oml-sync-control-waitformsc'], 'waitformsc')
541 oml_sync_control_nonzeros = [
542 mode + [kind, period]
543 for mode in [[], ['-fullscreen'], ['-waitformsc']]
544 for kind in ['-divisor', '-msc-delta']
545 for period in ['1', '2']
547 for args in oml_sync_control_nonzeros:
548 group = grouptools.join('glx', 'GLX_ARB_sync_control',
549 ' '.join(['timing'] + args))
550 profile.test_list[group] = PiglitGLTest(
551 ['glx-oml-sync-control-timing'] + args,
552 require_platforms=['glx', 'mixed_glx_egl'], run_concurrent=False)
554 with profile.test_list.group_manager(
555 PiglitGLTest,
556 grouptools.join('glx', 'GLX_MESA_query_renderer'),
557 require_platforms=['glx', 'mixed_glx_egl']) as g:
558 g(['glx-query-renderer-coverage'], 'coverage')
560 with profile.test_list.group_manager(
561 PiglitGLTest, 'wgl',
562 require_platforms=['wgl']) as g:
563 g(['wgl-sanity'])
564 g(['wgl-multi-context-single-window'])
565 g(['wgl-multi-window-single-context'])
567 with profile.test_list.group_manager(
568 PiglitGLTest,
569 grouptools.join('spec', '!opengl 1.0')) as g:
570 g(['gl-1.0-beginend-coverage'])
571 g(['gl-1.0-bitmap-heart-dance'])
572 g(['gl-1.0-dlist-beginend'])
573 g(['gl-1.0-dlist-bitmap'])
574 g(['gl-1.0-dlist-materials'])
575 g(['gl-1.0-dlist-shademodel'])
576 g(['gl-1.0-drawpixels-color-index'])
577 g(['gl-1.0-drawpixels-depth-test'])
578 g(['gl-1.0-drawpixels-stencil-test'])
579 g(['gl-1.0-drawbuffer-modes'], run_concurrent=False)
580 g(['gl-1.0-edgeflag'])
581 g(['gl-1.0-edgeflag-const'])
582 g(['gl-1.0-edgeflag-quads'])
583 g(['gl-1.0-empty-begin-end-clause'])
584 g(['gl-1.0-long-dlist'])
585 g(['gl-1.0-long-line-loop'])
586 g(['gl-1.0-readpixels-oob'])
587 g(['gl-1.0-rendermode-feedback'])
588 g(['gl-1.0-front-invalidate-back'], run_concurrent=False)
589 g(['gl-1.0-swapbuffers-behavior'], run_concurrent=False)
590 g(['gl-1.0-polygon-line-aa'])
591 g(['gl-1.0-push-no-attribs'])
592 g(['gl-1.0-blend-func'])
593 g(['gl-1.0-fpexceptions'])
594 g(['gl-1.0-ortho-pos'])
595 g(['gl-1.0-rastercolor'])
596 g(['gl-1.0-read-cache-stress-test'])
597 g(['gl-1.0-readpixsanity'])
598 g(['gl-1.0-logicop'])
599 g(['gl-1.0-no-op-paths'])
600 g(['gl-1.0-simple-readbuffer'])
601 g(['gl-1.0-spot-light'])
602 g(['gl-1.0-scissor-bitmap'])
603 g(['gl-1.0-scissor-clear'])
604 g(['gl-1.0-scissor-copypixels'])
605 g(['gl-1.0-scissor-depth-clear'])
606 g(['gl-1.0-scissor-depth-clear-negative-xy'])
607 g(['gl-1.0-scissor-many'])
608 g(['gl-1.0-scissor-offscreen'])
609 g(['gl-1.0-scissor-polygon'])
610 g(['gl-1.0-scissor-stencil-clear'])
611 g(['gl-1.0-texgen'])
612 g(['gl-1.0-textured-triangle'])
613 g(['gl-1.0-user-clip-all-planes'])
614 g(['rasterpos'])
616 with profile.test_list.group_manager(
617 PiglitGLTest,
618 grouptools.join('spec', '!opengl 1.1')) as g:
619 # putting slower tests first
620 g(['streaming-texture-leak'])
621 g(['max-texture-size'])
622 g(['max-texture-size-level'])
623 g(['copyteximage', '1D'])
624 g(['copyteximage', '2D'])
625 g(['gl-1.1-color-material-array'])
626 g(['gl-1.1-color-material-unused-normal-array'])
627 g(['gl-1.1-draw-arrays-start'])
628 g(['gl-1.1-read-pixels-after-display-list'])
629 g(['gl-1.1-set-vertex-color-after-draw'])
630 g(['array-stride'])
631 g(['clear-accum'], run_concurrent=False)
632 g(['clipflat'])
633 g(['copypixels-draw-sync'])
634 g(['copypixels-sync'])
635 g(['degenerate-prims'])
636 g(['depthfunc'])
637 g(['depthrange-clear'])
638 g(['dlist-clear'])
639 g(['dlist-color-material'])
640 g(['dlist-fdo3129-01'])
641 g(['dlist-fdo3129-02'])
642 g(['dlist-fdo31590'])
643 g(['draw-arrays-colormaterial'])
644 g(['draw-copypixels-sync'])
645 g(['draw-pixel-with-texture'])
646 g(['drawpix-z'])
647 g(['draw-sync'])
648 g(['fog-modes'])
649 g(['fragment-center'])
650 g(['geterror-invalid-enum'])
651 g(['geterror-inside-begin'])
652 g(['glinfo'])
653 g(['gl-1.1-xor'])
654 g(['gl-1.1-xor-copypixels'])
655 g(['gl-1.2-texture-base-level'])
656 g(['gl-1.3-alpha_to_coverage_nop'])
657 g(['hiz'])
658 g(['infinite-spot-light'])
659 g(['line-aa-width'])
660 g(['line-flat-clip-color'])
661 g(['lineloop'])
662 g(['lineloop', '-dlist'], 'lineloop-dlist')
663 g(['linestipple'], run_concurrent=False)
664 g(['longprim'])
665 g(['masked-clear'], run_concurrent=False)
666 g(['point-line-no-cull'])
667 g(['polygon-mode'])
668 g(['polygon-mode-facing'])
669 g(['polygon-mode-offset'])
670 g(['polygon-offset'])
671 g(['ppgtt_memory_alignment'])
672 g(['push-pop-texture-state'])
673 g(['quad-invariance'])
674 g(['readpix-z'])
675 g(['roundmode-getintegerv'])
676 g(['roundmode-pixelstore'])
677 g(['select', 'gl11'], 'GL_SELECT - no test function')
678 g(['select', 'depth'], 'GL_SELECT - depth-test enabled')
679 g(['select', 'stencil'], 'GL_SELECT - stencil-test enabled')
680 g(['select', 'alpha'], 'GL_SELECT - alpha-test enabled')
681 g(['select', 'scissor'], 'GL_SELECT - scissor-test enabled')
682 g(['stencil-drawpixels'])
683 g(['texgen'])
684 g(['two-sided-lighting'])
685 g(['user-clip'])
686 g(['varray-disabled'])
687 g(['windowoverlap'])
688 g(['copyteximage-border'])
689 g(['copyteximage-clipping'])
690 g(['copytexsubimage'])
691 g(['getteximage-formats'])
692 g(['getteximage-luminance'])
693 g(['getteximage-simple'])
694 g(['getteximage-depth'])
695 g(['incomplete-texture', 'fixed'], 'incomplete-texture-fixed')
696 g(['proxy-texture'])
697 g(['sized-texture-format-channels'])
698 g(['texredefine'])
699 g(['texsubimage'])
700 g(['texsubimage-unpack'])
701 g(['texsubimage-depth-formats'])
702 g(['texture-al'])
703 g(['triangle-guardband-viewport'])
704 g(['getteximage-targets', '1D'])
705 g(['getteximage-targets', '2D'])
706 g(['teximage-scale-bias'])
707 g(['tex-upside-down-miptree'])
709 for prim in ['GL_POINTS', 'GL_LINE_LOOP', 'GL_LINE_STRIP', 'GL_LINES',
710 'GL_TRIANGLES', 'GL_TRIANGLE_STRIP', 'GL_TRIANGLE_FAN',
711 'GL_QUADS', 'GL_QUAD_STRIP', 'GL_POLYGON']:
712 for mode in ['varray', 'vbo']:
713 g(['gl-1.1-drawarrays-vertex-count', '100000', mode, prim])
715 add_msaa_visual_plain_tests(g, ['draw-pixels'])
716 add_msaa_visual_plain_tests(g, ['read-front'], run_concurrent=False)
717 add_msaa_visual_plain_tests(g, ['read-front', 'clear-front-first'],
718 run_concurrent=False)
719 add_texwrap_target_tests(g, '1D')
720 add_texwrap_target_tests(g, '2D')
721 add_texwrap_format_tests(g)
723 color_formats = [
724 'GL_RED', 'GL_R8', 'GL_R8_SNORM', 'GL_R16', 'GL_R16_SNORM',
725 'GL_R16F', 'GL_R32F',
727 'GL_RG', 'GL_RG8', 'GL_RG8_SNORM', 'GL_RG16', 'GL_RG16_SNORM',
728 'GL_RG16F', 'GL_RG32F',
730 'GL_RGB', 'GL_R3_G3_B2', 'GL_RGB4', 'GL_RGB5', 'GL_RGB8',
731 'GL_RGB8_SNORM', 'GL_SRGB8', 'GL_RGB10', 'GL_R11F_G11F_B10F',
732 'GL_RGB12', 'GL_RGB9_E5', 'GL_RGB16', 'GL_RGB16F',
733 'GL_RGB16_SNORM', 'GL_RGB32F',
735 'GL_RGBA', 'GL_RGBA2', 'GL_RGBA4', 'GL_RGB5_A1', 'GL_RGBA8',
736 'GL_RGB10_A2', 'GL_RGBA8_SNORM', 'GL_SRGB8_ALPHA8', 'GL_RGBA12',
737 'GL_RGBA16', 'GL_RGBA16_SNORM', 'GL_RGBA32F',
739 'GL_ALPHA', 'GL_ALPHA4', 'GL_ALPHA8', 'GL_ALPHA12', 'GL_ALPHA16',
741 'GL_LUMINANCE', 'GL_LUMINANCE4', 'GL_LUMINANCE8', 'GL_SLUMINANCE8',
742 'GL_LUMINANCE12', 'GL_LUMINANCE16',
744 'GL_LUMINANCE_ALPHA', 'GL_LUMINANCE4_ALPHA4',
745 'GL_LUMINANCE6_ALPHA2', 'GL_LUMINANCE8_ALPHA8',
746 'GL_SLUMINANCE8_ALPHA8', 'GL_LUMINANCE12_ALPHA4',
747 'GL_LUMINANCE12_ALPHA12', 'GL_LUMINANCE16_ALPHA16',
749 for format in color_formats:
750 g(['teximage-colors', format])
752 for num_samples in ['0'] + MSAA_SAMPLE_COUNTS:
753 add_fbo_depthstencil_tests(g, 'default_fb', num_samples)
755 with profile.test_list.group_manager(
756 PiglitGLTest,
757 grouptools.join('spec', '!opengl 1.2')) as g:
758 g(['gl-1.2-texparameter-before-teximage'])
759 g(['draw-elements-vs-inputs'])
760 g(['two-sided-lighting-separate-specular'])
761 g(['levelclamp'])
762 g(['lodclamp'])
763 g(['lodclamp-between'])
764 g(['lodclamp-between-max'])
765 g(['mipmap-setup'])
766 g(['gl-1.2-rescale-normal'])
767 g(['tex-skipped-unit'])
768 g(['tex3d'])
769 g(['tex3d-maxsize'], run_concurrent=False)
770 g(['teximage-errors'])
771 g(['texture-packed-formats'])
772 g(['getteximage-targets', '3D'])
773 add_msaa_visual_plain_tests(g, ['copyteximage', '3D'])
774 add_texwrap_target_tests(g, '3D')
776 with profile.test_list.group_manager(
777 PiglitGLTest,
778 grouptools.join('spec', '!opengl 1.3')) as g:
779 g(['texunits'])
780 g(['tex-border-1'])
781 g(['gl-1.3-texture-env'])
782 g(['tex3d-depth1'])
784 with profile.test_list.group_manager(
785 PiglitGLTest,
786 grouptools.join('spec', '!opengl 1.4')) as g:
787 g(['gl-1.4-rgba-mipmap-texture-with-rgb-visual'])
788 g(['blendminmax'])
789 g(['blendsquare'])
790 g(['gl-1.4-dlist-multidrawarrays'])
791 g(['gl-1.4-multidrawarrays-errors'])
792 g(['gl-1.4-polygon-offset'])
793 g(['gl-1.4-tex1d-2dborder'])
794 g(['draw-batch'])
795 g(['stencil-wrap'])
796 g(['triangle-rasterization'])
797 g(['triangle-rasterization', '-use_fbo'], 'triangle-rasterization-fbo')
798 g(['triangle-rasterization-overdraw'])
799 g(['tex-miplevel-selection', '-nobias', '-nolod'],
800 'tex-miplevel-selection')
801 g(['tex-miplevel-selection', '-nobias'], 'tex-miplevel-selection-lod')
802 g(['tex-miplevel-selection'], 'tex-miplevel-selection-lod-bias')
803 add_msaa_visual_plain_tests(g, ['copy-pixels'])
805 with profile.test_list.group_manager(
806 PiglitGLTest,
807 grouptools.join('spec', '!opengl 1.5')) as g:
808 g(['draw-elements'])
809 g(['draw-elements', 'user'], 'draw-elements-user')
810 g(['draw-vertices'])
811 g(['draw-vertices', 'user'], 'draw-vertices-user')
812 g(['isbufferobj'])
813 g(['depth-tex-compare'])
814 g(['gl-1.5-get-array-attribs'])
815 g(['gl-1.5-normal3b3s-invariance', 'GL_BYTE'],
816 'normal3b3s-invariance-byte')
817 g(['gl-1.5-normal3b3s-invariance', 'GL_SHORT'],
818 'normal3b3s-invariance-short')
819 g(['gl-1.5-vertex-buffer-offsets'], 'vertex-buffer-offsets')
821 with profile.test_list.group_manager(
822 PiglitGLTest,
823 grouptools.join('spec', '!opengl 2.0')) as g:
824 g(['attribs'])
825 g(['gl-2.0-edgeflag'])
826 g(['gl-2.0-edgeflag-immediate'])
827 g(['gl-2.0-large-point-fs'])
828 g(['gl-2.0-link-empty-prog'])
829 g(['gl-2.0-two-sided-stencil'])
830 g(['gl-2.0-vertexattribpointer'])
831 g(['gl-2.0-vertexattribpointer-size-3'])
832 g(['gl-2.0-vertex-attr-0'])
833 g(['gl-2.0-vertex-const-attr'])
834 g(['gl-2.0-reuse_fragment_shader'])
835 g(['gl-2.0-shader-materials'])
836 g(['attrib-assignments'])
837 g(['getattriblocation-conventional'])
838 g(['clip-flag-behavior'])
839 g(['vertex-program-two-side', 'enabled', 'front', 'back', 'front2',
840 'back2'])
841 g(['vertex-program-two-side', 'enabled', 'front', 'back', 'front2'])
842 g(['vertex-program-two-side', 'enabled', 'front', 'back', 'back2'])
843 g(['vertex-program-two-side', 'enabled', 'front', 'back'])
844 g(['vertex-program-two-side', 'enabled', 'front', 'front2', 'back2'])
845 g(['vertex-program-two-side', 'enabled', 'front', 'front2'])
846 g(['vertex-program-two-side', 'enabled', 'front', 'back2'])
847 g(['vertex-program-two-side', 'enabled', 'front'])
848 g(['vertex-program-two-side', 'enabled', 'back', 'front2', 'back2'])
849 g(['vertex-program-two-side', 'enabled', 'back', 'front2'])
850 g(['vertex-program-two-side', 'enabled', 'back', 'back2'])
851 g(['vertex-program-two-side', 'enabled', 'back'])
852 g(['vertex-program-two-side', 'enabled', 'front2', 'back2'])
853 g(['vertex-program-two-side', 'enabled', 'front2'])
854 g(['vertex-program-two-side', 'enabled', 'back2'])
855 g(['vertex-program-two-side', 'enabled'])
856 g(['vertex-program-two-side', 'front', 'back', 'front2', 'back2'])
857 g(['vertex-program-two-side', 'front', 'back', 'front2'])
858 g(['vertex-program-two-side', 'front', 'back', 'back2'])
859 g(['vertex-program-two-side', 'front', 'back'])
860 g(['vertex-program-two-side', 'front', 'front2', 'back2'])
861 g(['vertex-program-two-side', 'front', 'front2'])
862 g(['vertex-program-two-side', 'front', 'back2'])
863 g(['vertex-program-two-side', 'front'])
864 g(['vertex-program-two-side', 'back', 'front2', 'back2'])
865 g(['vertex-program-two-side', 'back', 'front2'])
866 g(['vertex-program-two-side', 'back', 'back2'])
867 g(['vertex-program-two-side', 'back'])
868 g(['vertex-program-two-side', 'front2', 'back2'])
869 g(['vertex-program-two-side', 'front2'])
870 g(['vertex-program-two-side', 'back2'])
871 g(['vertex-program-two-side'])
872 g(['clear-varray-2.0'])
873 g(['early-z'])
874 g(['occlusion-query-discard'])
875 g(['stencil-twoside'])
876 g(['vs-point_size-zero'])
877 g(['depth-tex-modes-glsl'])
878 g(['fragment-and-vertex-texturing'])
879 g(['incomplete-texture', 'glsl'], 'incomplete-texture-glsl')
880 g(['tex3d-npot'])
881 g(['max-samplers'])
882 g(['max-samplers', 'border'])
883 g(['gl-2.0-active-sampler-conflict'])
884 g(['incomplete-cubemap', 'size'], 'incomplete-cubemap-size')
885 g(['incomplete-cubemap', 'format'], 'incomplete-cubemap-format')
886 g(['gl-2.0-texture-units'])
887 g(['gl-2.0-uniform-neg-location'])
889 with profile.test_list.group_manager(
890 PiglitGLTest,
891 grouptools.join('spec', '!opengl 2.1')) as g:
892 g(['gl-2.1-minmax'], 'minmax')
893 g(['gl-2.1-pbo'], 'pbo')
894 g(['gl-2.1-polygon-stipple-fs'], 'polygon-stipple-fs')
895 g(['gl-2.1-fbo-mrt-alphatest-no-buffer-zero-write'], 'fbo-mrt-alphatest-no-buffer-zero-write')
897 with profile.test_list.group_manager(
898 PiglitGLTest,
899 grouptools.join('spec', '!opengl 3.0')) as g:
900 g(['attribs', 'GL3'], 'attribs')
901 g(['bindfragdata-invalid-parameters'])
902 g(['bindfragdata-link-error'])
903 g(['bindfragdata-nonexistent-variable'])
904 g(['gl-3.0-bound-resource-limits'],
905 'bound-resource-limits')
906 g(['clearbuffer-depth'])
907 g(['clearbuffer-depth-stencil'])
908 g(['clearbuffer-display-lists'])
909 g(['clearbuffer-invalid-drawbuffer'])
910 g(['clearbuffer-invalid-buffer'])
911 g(['clearbuffer-mixed-format'])
912 g(['clearbuffer-stencil'])
913 g(['gl-3.0-dlist-uint-uniforms'],
914 'dlist-uint-uniforms')
915 g(['genmipmap-errors'])
916 g(['getfragdatalocation'])
917 g(['integer-errors'])
918 g(['gl-3.0-multidrawarrays-vertexid'],
919 'gl_VertexID used with glMultiDrawArrays')
920 g(['gl-3.0-minmax'], 'minmax')
921 g(['gl-3.0-render-integer'], 'render-integer')
922 g(['gl-3.0-required-sized-texture-formats', '30'],
923 'required-sized-texture-formats')
924 g(['gl-3.0-required-renderbuffer-attachment-formats', '30'],
925 'required-renderbuffer-attachment-formats')
926 g(['gl-3.0-required-texture-attachment-formats', '30'],
927 'required-texture-attachment-formats')
928 g(['gl-3.0-forward-compatible-bit', 'yes'],
929 'forward-compatible-bit yes')
930 g(['gl-3.0-forward-compatible-bit', 'no'],
931 'forward-compatible-bit no')
932 g(['gl-3.0-texparameteri'])
933 g(['gl-3.0-texture-integer'])
934 g(['gl-3.0-vertexattribipointer'])
935 g(['gl30basic'], run_concurrent=False)
936 g(['array-depth-roundtrip'])
937 g(['depth-cube-map'])
938 g(['sampler-cube-shadow'])
939 g(['generatemipmap-base-change', 'size'])
940 g(['generatemipmap-base-change', 'format'])
941 g(['generatemipmap-cubemap'])
942 g(['viewport-clamp'])
944 with profile.test_list.group_manager(
945 PiglitGLTest,
946 grouptools.join('spec', '!opengl 3.1')) as g:
947 g(['gl-3.1-buffer-bindings'], 'buffer-bindings')
948 g(['gl-3.1-default-vao'], 'default-vao')
949 g(['gl-3.1-draw-buffers-errors'], 'draw-buffers-errors')
950 g(['gl-3.1-enable-vertex-array'])
951 g(['gl-3.1-genned-names'], 'genned-names')
952 g(['gl-3.1-link-empty-prog-core'])
953 g(['gl-3.1-minmax'], 'minmax')
954 g(['gl-3.1-mixed-int-float-fbo'])
955 g(['gl-3.1-mixed-int-float-fbo', 'int_second'])
956 g(['gl-3.1-vao-broken-attrib'], 'vao-broken-attrib')
957 g(['gl-3.0-required-renderbuffer-attachment-formats', '31'],
958 'required-renderbuffer-attachment-formats')
959 g(['gl-3.0-required-sized-texture-formats', '31'],
960 'required-sized-texture-formats')
961 g(['gl-3.0-required-texture-attachment-formats', '31'],
962 'required-texture-attachment-formats')
963 for subtest in ['generated', 'written', 'flush']:
964 g(['gl-3.1-primitive-restart-xfb', subtest],
965 'primitive-restart-xfb {0}'.format(subtest))
967 with profile.test_list.group_manager(
968 PiglitGLTest,
969 grouptools.join('spec', '!opengl 3.2')) as g:
970 g(['glsl-resource-not-bound', '1D'])
971 g(['glsl-resource-not-bound', '2D'])
972 g(['glsl-resource-not-bound', '3D'])
973 g(['glsl-resource-not-bound', '2DRect'])
974 g(['glsl-resource-not-bound', '1DArray'])
975 g(['glsl-resource-not-bound', '2DArray'])
976 g(['glsl-resource-not-bound', '2DMS'])
977 g(['glsl-resource-not-bound', '2DMSArray'])
978 g(['glsl-resource-not-bound', 'Buffer'])
979 g(['glsl-resource-not-bound', 'Cube'])
980 g(['gl-3.2-basevertex-vertexid'],
981 'gl_VertexID used with glMultiDrawElementsBaseVertex')
982 g(['gl-3.2-minmax'], 'minmax')
983 g(['gl-3.2-adj-prims', 'pv-first'])
984 g(['gl-3.2-adj-prims', 'pv-last'])
985 g(['gl-3.2-adj-prims', 'cull-front pv-first'])
986 g(['gl-3.2-adj-prims', 'cull-front pv-last'])
987 g(['gl-3.2-adj-prims', 'cull-back pv-first'])
988 g(['gl-3.2-adj-prims', 'cull-back pv-last'])
989 g(['gl-3.2-adj-prims', 'line cull-front pv-first'])
990 g(['gl-3.2-adj-prims', 'line cull-front pv-last'])
991 g(['gl-3.2-adj-prims', 'line cull-back pv-first'])
992 g(['gl-3.2-adj-prims', 'line cull-back pv-last'])
993 g(['gl-3.2-clear-no-buffers'], 'clear-no-buffers')
994 g(['gl-3.2-depth-tex-sampling'], 'depth-tex-sampling')
995 g(['gl-3.2-get-buffer-parameter-i64v'], 'get-buffer-parameter-i64v')
996 g(['gl-3.2-get-integer-64iv'], 'get-integer-64iv')
997 g(['gl-3.2-get-integer-64v'], 'get-integer-64v')
998 g(['gl-3.2-pointsprite-coord'], 'pointsprite-coord')
999 g(['gl-3.2-pointsprite-origin'], 'pointsprite-origin')
1000 g(['gl-coord-replace-doesnt-eliminate-frag-tex-coords'],
1001 'coord-replace-doesnt-eliminate-frag-tex-coords')
1002 g(['gl-get-active-attrib-returns-all-inputs'],
1003 'get-active-attrib-returns-all-inputs')
1004 g(['gl-3.2-texture-border-deprecated'], 'texture-border-deprecated')
1006 with profile.test_list.group_manager(
1007 PiglitGLTest,
1008 grouptools.join('spec', '!opengl 3.2', 'layered-rendering')) as g:
1009 g(['gl-3.2-layered-rendering-blit'], 'blit')
1010 g(['gl-3.2-layered-rendering-clear-color'], 'clear-color')
1011 g(['gl-3.2-layered-rendering-clear-color-mismatched-layer-count'],
1012 'clear-color-mismatched-layer-count')
1013 g(['gl-3.2-layered-rendering-clear-depth'], 'clear-depth')
1014 g(['gl-3.2-layered-rendering-framebuffertexture'], 'framebuffertexture')
1015 g(['gl-3.2-layered-rendering-framebuffertexture-buffer-textures'],
1016 'framebuffertexture-buffer-textures')
1017 g(['gl-3.2-layered-rendering-framebuffertexture-defaults'],
1018 'framebuffertexture-defaults')
1019 g(['gl-3.2-layered-rendering-readpixels'], 'readpixels')
1020 g(['gl-3.2-layered-rendering-framebuffer-layer-attachment-mismatch'],
1021 'framebuffer-layer-attachment-mismatch')
1022 g(['gl-3.2-layered-rendering-framebuffer-layer-complete'],
1023 'framebuffer-layer-complete')
1024 g(['gl-3.2-layered-rendering-framebuffer-layer-count-mismatch'],
1025 'framebuffer-layer-count-mismatch')
1026 g(['gl-3.2-layered-rendering-framebuffer-layered-attachments'],
1027 'framebuffer-layered-attachments')
1028 g(['gl-3.2-layered-rendering-gl-layer'], 'gl-layer')
1029 g(['gl-3.2-layered-rendering-gl-layer-cube-map'], 'gl-layer-cube-map')
1030 g(['gl-3.2-layered-rendering-gl-layer-not-layered'],
1031 'gl-layer-not-layered')
1032 g(['gl-3.2-layered-rendering-gl-layer-render'], 'gl-layer-render')
1033 g(['gl-3.2-layered-rendering-gl-layer-render-clipped'], 'gl-layer-render-clipped')
1034 g(['gl-3.2-layered-rendering-gl-layer-render-storage'], 'gl-layer-render-storage')
1036 for texture_type in ['3d', '2d_array', '2d_multisample_array', '1d_array',
1037 'cube_map', 'cube_map_array']:
1038 for test_type in ['single_level', 'mipmapped']:
1039 if texture_type == '2d_multisample_array' and \
1040 test_type == 'mipmapped':
1041 continue
1042 g(['gl-3.2-layered-rendering-clear-color-all-types', texture_type,
1043 test_type],
1044 'clear-color-all-types {} {}'.format(texture_type, test_type))
1046 with profile.test_list.group_manager(
1047 PiglitGLTest,
1048 grouptools.join('spec', '!opengl 3.3')) as g:
1049 g(['gl-3.3-minmax'], 'minmax')
1050 g(['gl-3.0-required-renderbuffer-attachment-formats', '33'],
1051 'required-renderbuffer-attachment-formats')
1052 g(['gl-3.0-required-sized-texture-formats', '33'],
1053 'required-sized-texture-formats')
1054 g(['gl-3.0-required-texture-attachment-formats', '33'],
1055 'required-texture-attachment-formats')
1057 with profile.test_list.group_manager(
1058 PiglitGLTest,
1059 grouptools.join('spec', '!opengl 4.2')) as g:
1060 g(['gl-3.0-required-renderbuffer-attachment-formats', '42'],
1061 'required-renderbuffer-attachment-formats')
1062 g(['gl-3.0-required-sized-texture-formats', '42'],
1063 'required-sized-texture-formats')
1064 g(['gl-3.0-required-texture-attachment-formats', '42'],
1065 'required-texture-attachment-formats')
1066 g(['gl-4.4-max_vertex_attrib_stride'], 'gl-max-vertex-attrib-stride')
1068 with profile.test_list.group_manager(
1069 PiglitGLTest,
1070 grouptools.join('spec', '!opengl 4.5')) as g:
1071 g(['gl-4.5-named-framebuffer-draw-buffers-errors'], 'named-framebuffer-draw-buffers-errors')
1072 g(['gl-4.5-named-framebuffer-read-buffer-errors'], 'named-framebuffer-read-buffer-errors')
1073 g(['gl-4.5-compare-framebuffer-parameter-with-get'], 'compare-framebuffer-parameter-with-get')
1075 with profile.test_list.group_manager(
1076 PiglitGLTest,
1077 grouptools.join('spec', '!opengl 4.3')) as g:
1078 g(['gl-4.3-get_glsl_versions'], 'get_glsl_version')
1080 with profile.test_list.group_manager(
1081 PiglitGLTest,
1082 grouptools.join('spec', '!opengl 4.4')) as g:
1083 g(['tex-errors'])
1085 # Group spec/glsl-es-1.00
1086 with profile.test_list.group_manager(
1087 BuiltInConstantsTest,
1088 grouptools.join('spec', 'glsl-es-1.00')) as g:
1089 g(['built-in-constants_gles2',
1090 os.path.join('spec', 'glsl-es-1.00', 'minimum-maximums.txt')],
1091 'built-in constants')
1093 with profile.test_list.group_manager(
1094 PiglitGLTest,
1095 grouptools.join('spec', 'glsl-es-1.00', 'linker')) as g:
1096 g(['glsl-es-1.00-fface-invariant'], 'glsl-fface-invariant')
1098 # Group spec/glsl-1.10
1099 with profile.test_list.group_manager(
1100 PiglitGLTest,
1101 grouptools.join('spec', 'glsl-1.10', 'execution')) as g:
1102 g(['glsl-render-after-bad-attach'])
1103 g(['glsl-1.10-built-in-matrix-state'])
1104 g(['glsl-1.10-built-in-uniform-state'])
1105 g(['glsl-1.10-fragdepth'])
1106 g(['glsl-1.10-linear-fog'])
1107 g(['glsl-1.10-uniform-matrix-transposed'])
1109 with profile.test_list.group_manager(
1110 PiglitGLTest,
1111 grouptools.join('spec', 'glsl-1.10', 'execution', 'clipping')) as g:
1112 for mode in ['fixed', 'pos_clipvert', 'clipvert_pos']:
1113 g(['clip-plane-transformation', mode],
1114 'clip-plane-transformation {}'.format(mode))
1116 with profile.test_list.group_manager(
1117 PiglitGLTest,
1118 grouptools.join('spec', 'glsl-1.10', 'execution',
1119 'varying-packing')) as g:
1120 for type_ in ['int', 'uint', 'float', 'vec2', 'vec3', 'vec4', 'ivec2',
1121 'ivec3', 'ivec4', 'uvec2', 'uvec3', 'uvec4', 'mat2', 'mat3',
1122 'mat4', 'mat2x3', 'mat2x4', 'mat3x2', 'mat3x4', 'mat4x2',
1123 'mat4x3']:
1124 for arrayspec in ['array', 'separate', 'arrays_of_arrays']:
1125 g(['varying-packing-simple', type_, arrayspec],
1126 'simple {} {}'.format(type_, arrayspec))
1128 with profile.test_list.group_manager(
1129 BuiltInConstantsTest,
1130 grouptools.join('spec', 'glsl-1.10')) as g:
1131 g(['built-in-constants',
1132 os.path.join('spec', 'glsl-1.10', 'minimum-maximums.txt')],
1133 'built-in constants')
1135 with profile.test_list.group_manager(
1136 PiglitGLTest,
1137 grouptools.join('spec', 'glsl-1.10', 'api')) as g:
1138 g(['getactiveattrib', '110'], 'getactiveattrib 110')
1140 # Group spec/glsl-1.20
1141 with profile.test_list.group_manager(
1142 PiglitGLTest,
1143 grouptools.join('spec', 'glsl-1.20')) as g:
1144 g(['glsl-1.20-getactiveuniform-constant'])
1145 g(['glsl-1.20-negative-mult-matNxN-matNxN'])
1146 g(['built-in-constants',
1147 os.path.join('spec', 'glsl-1.20', 'minimum-maximums.txt')],
1148 'built-in constants',
1149 override_class=BuiltInConstantsTest)
1151 with profile.test_list.group_manager(
1152 PiglitGLTest,
1153 grouptools.join('spec', 'glsl-1.20', 'api')) as g:
1154 g(['getactiveattrib', '120'])
1156 with profile.test_list.group_manager(
1157 PiglitGLTest,
1158 grouptools.join('spec', 'glsl-1.20', 'recursion')) as g:
1159 g(['recursion', '-rlmit', '268435456', 'simple'], 'simple',
1160 run_concurrent=False)
1161 g(['recursion', '-rlmit', '268435456', 'unreachable'], 'unreachable',
1162 run_concurrent=False)
1163 g(['recursion', '-rlmit', '268435456', 'unreachable-constant-folding'],
1164 'unreachable-constant-folding', run_concurrent=False)
1165 g(['recursion', '-rlmit', '268435456', 'indirect'], 'indirect',
1166 run_concurrent=False)
1167 g(['recursion', '-rlmit', '268435456', 'indirect-separate'],
1168 'indirect-separate', run_concurrent=False)
1169 g(['recursion', '-rlmit', '268435456', 'indirect-complex'],
1170 'indirect-complex', run_concurrent=False)
1171 g(['recursion', '-rlmit', '268435456', 'indirect-complex-separate'],
1172 'indirect-complex-separate', run_concurrent=False)
1174 with profile.test_list.group_manager(
1175 PiglitGLTest,
1176 grouptools.join('spec', 'glsl-1.20', 'execution')) as g:
1177 for test in ['1D', '2D', '3D', 'Cube', '1DShadow', '2DShadow']:
1178 g(['tex-miplevel-selection', 'GL2:texture()', test])
1179 g(['tex-miplevel-selection', 'GL2:texture(bias)', test])
1181 for test in ['1D', '1D_ProjVec4', '2D', '2D_ProjVec4', '3D', '1DShadow',
1182 '2DShadow']:
1183 g(['tex-miplevel-selection', 'GL2:textureProj', test])
1184 g(['tex-miplevel-selection', 'GL2:textureProj(bias)', test])
1186 textureSize_samplers_130 = [
1187 'sampler1D', 'sampler2D', 'sampler3D', 'samplerCube', 'sampler1DShadow',
1188 'sampler2DShadow', 'samplerCubeShadow', 'sampler1DArray', 'sampler2DArray',
1189 'sampler1DArrayShadow', 'sampler2DArrayShadow', 'isampler1D', 'isampler2D',
1190 'isampler3D', 'isamplerCube', 'isampler1DArray', 'isampler2DArray',
1191 'usampler1D', 'usampler2D', 'usampler3D', 'usamplerCube',
1192 'usampler1DArray', 'usampler2DArray']
1193 for stage in ['vs', 'gs', 'fs']:
1194 if stage == 'gs':
1195 version = '1.50'
1196 else:
1197 version = '1.30'
1199 # textureSize():
1200 # These will be added in the textureSize_samplers_140 loop for gs, because
1201 # it is a special case and is actually 1.50 feature.
1202 # Despite the differences in the commands lines of the two lists (this one
1203 # does not add '140', the two tests are equivalent.
1204 if stage != 'gs':
1205 for sampler in textureSize_samplers_130:
1206 profile.test_list[grouptools.join(
1207 'spec', 'glsl-{}'.format(version), 'execution', 'textureSize',
1208 '{}-textureSize-{}'.format(stage, sampler))] = PiglitGLTest(
1209 ['textureSize', stage, sampler])
1211 # texelFetch():
1212 for sampler in ['sampler1D', 'sampler2D', 'sampler3D', 'sampler1DArray',
1213 'sampler2DArray', 'isampler1D', 'isampler2D', 'isampler3D',
1214 'isampler1DArray', 'isampler2DArray', 'usampler1D',
1215 'usampler2D', 'usampler3D', 'usampler1DArray',
1216 'usampler2DArray']:
1217 profile.test_list[grouptools.join(
1218 'spec', 'glsl-{}'.format(version), 'execution', 'texelFetch',
1219 '{}-texelFetch-{}'.format(stage, sampler))] = PiglitGLTest(
1220 ['texelFetch', stage, sampler])
1221 profile.test_list[grouptools.join(
1222 'spec', 'glsl-{}'.format(version), 'execution', 'texelFetchOffset',
1223 '{}-texelFetch-{}'.format(stage, sampler))] = PiglitGLTest(
1224 ['texelFetch', 'offset', stage, sampler])
1226 # texelFetch() with EXT_texture_swizzle mode "b0r1":
1227 for type in ['i', 'u', '']:
1228 profile.test_list[grouptools.join(
1229 'spec', 'glsl-{}'.format(version), 'execution', 'texelFetch',
1230 '{}-texelFetch-{}sampler2Darray-swizzle'.format(stage, type))] = \
1231 PiglitGLTest(['texelFetch', stage, '{}sampler2DArray'.format(type),
1232 'b0r1'])
1234 for type in ('i', 'u', ''):
1235 for sampler in ('sampler2DMS', 'sampler2DMSArray'):
1236 for sample_count in MSAA_SAMPLE_COUNTS:
1237 stype = '{}{}'.format(type, sampler)
1238 profile.test_list[grouptools.join(
1239 'spec', 'arb_shader_texture_image_samples',
1240 'textureSamples', '{}-{}-{}'.format(stage, stype, sample_count))
1241 ] = PiglitGLTest([
1242 'textureSamples', stage, stype, sample_count])
1244 with profile.test_list.group_manager(
1245 PiglitGLTest,
1246 grouptools.join('spec', 'glsl-1.30')) as g:
1247 g(['glsl-1.30-texel-offset-limits'], 'texel-offset-limits')
1248 g(['built-in-constants',
1249 os.path.join('spec', 'glsl-1.30', 'minimum-maximums.txt')],
1250 'built-in constants',
1251 override_class=BuiltInConstantsTest)
1253 with profile.test_list.group_manager(
1254 PiglitGLTest,
1255 grouptools.join('spec', 'glsl-1.30', 'execution')) as g:
1256 g(['texelFetch', 'fs', 'sampler1D', '1-513'])
1257 g(['texelFetch', 'fs', 'sampler1DArray', '1x71-501x71'])
1258 g(['texelFetch', 'fs', 'sampler1DArray', '1x281-501x281'])
1259 g(['texelFetch', 'fs', 'sampler1DArray', '71x1-71x281'])
1260 g(['texelFetch', 'fs', 'sampler1DArray', '281x1-281x281'])
1261 g(['texelFetch', 'fs', 'sampler2D', '1x71-501x71'])
1262 g(['texelFetch', 'fs', 'sampler2D', '1x281-501x281'])
1263 g(['texelFetch', 'fs', 'sampler2D', '71x1-71x281'])
1264 g(['texelFetch', 'fs', 'sampler2D', '281x1-281x281'])
1265 g(['texelFetch', 'fs', 'sampler3D', '1x129x9-98x129x9'])
1266 g(['texelFetch', 'fs', 'sampler3D', '98x1x9-98x129x9'])
1267 g(['texelFetch', 'fs', 'sampler3D', '98x129x1-98x129x9'])
1268 g(['texelFetch', 'fs', 'sampler2DArray', '1x129x9-98x129x9'])
1269 g(['texelFetch', 'fs', 'sampler2DArray', '98x1x9-98x129x9'])
1270 g(['texelFetch', 'fs', 'sampler2DArray', '98x129x1-98x129x9'])
1271 g(['fs-texelFetch-2D'])
1272 g(['fs-texelFetchOffset-2D'])
1273 g(['fs-textureOffset-2D'])
1274 g(['fs-discard-exit-2'])
1275 g(['vertexid-beginend'])
1276 g(['vertexid-drawarrays'])
1277 g(['vertexid-drawelements'])
1278 g(['fs-execution-ordering'])
1280 for stage in ['1D', '2D', '3D', 'Cube', '1DShadow', '2DShadow', '1DArray',
1281 '2DArray', '1DArrayShadow', 'CubeArray']:
1282 g(['tex-miplevel-selection', 'textureLod', stage])
1284 for stage in ['1D', '2D', '3D', 'Cube', '1DShadow', '2DShadow',
1285 'CubeShadow', '1DArray', '2DArray', 'CubeArray',
1286 '1DArrayShadow']:
1287 g(['tex-miplevel-selection', 'texture(bias)', stage])
1289 for stage in ['1D', '2D', '3D', 'Cube', '1DShadow', '2DShadow',
1290 'CubeShadow', '1DArray', '2DArray', 'CubeArray',
1291 '1DArrayShadow', '2DArrayShadow', '2DRect', '2DRectShadow',
1292 'CubeArrayShadow']:
1293 g(['tex-miplevel-selection', 'texture()', stage])
1295 for stage in ['1D', '2D', '3D', '2DRect', '2DRectShadow', '1DShadow',
1296 '2DShadow', '1DArray', '2DArray', '1DArrayShadow',
1297 '2DArrayShadow']:
1298 g(['tex-miplevel-selection', 'textureOffset', stage])
1300 for stage in ['1D', '2D', '3D', '1DShadow', '2DShadow', '1DArray',
1301 '2DArray', '1DArrayShadow']:
1302 g(['tex-miplevel-selection', 'textureOffset(bias)', stage])
1304 for stage in ['1D', '1D_ProjVec4', '2D', '2D_ProjVec4', '3D', '1DShadow',
1305 '2DShadow', '2DRect', '2DRect_ProjVec4', '2DRectShadow']:
1306 g(['tex-miplevel-selection', 'textureProj', stage])
1308 for stage in ['1D', '1D_ProjVec4', '2D', '2D_ProjVec4', '3D', '1DShadow',
1309 '2DShadow']:
1310 g(['tex-miplevel-selection', 'textureProj(bias)', stage])
1312 for stage in ['1D', '1D_ProjVec4', '2D', '2D_ProjVec4', '3D', '2DRect',
1313 '2DRect_ProjVec4', '2DRectShadow', '1DShadow', '2DShadow']:
1314 g(['tex-miplevel-selection', 'textureProjOffset', stage])
1316 for stage in ['1D', '1D_ProjVec4', '2D', '2D_ProjVec4', '3D', '1DShadow',
1317 '2DShadow']:
1318 g(['tex-miplevel-selection', 'textureProjOffset(bias)', stage])
1320 for stage in ['1D', '2D', '3D', '1DShadow', '2DShadow', '1DArray',
1321 '2DArray', '1DArrayShadow']:
1322 g(['tex-miplevel-selection', 'textureLodOffset', stage])
1324 for stage in ['1D', '2D', '3D', '1D_ProjVec4', '2D_ProjVec4', '1DShadow',
1325 '2DShadow']:
1326 g(['tex-miplevel-selection', 'textureProjLod', stage])
1327 g(['tex-miplevel-selection', 'textureProjLodOffset', stage])
1329 for stage in ['1D', '2D', '3D', 'Cube', '2DRect', '2DRectShadow',
1330 '1DShadow', '2DShadow', 'CubeShadow', '1DArray', '2DArray',
1331 '1DArrayShadow', '2DArrayShadow', 'CubeArray']:
1332 g(['tex-miplevel-selection', 'textureGrad', stage])
1334 for stage in ['1D', '2D', '3D', '2DRect', '2DRectShadow', '1DShadow',
1335 '2DShadow', '1DArray', '2DArray', '1DArrayShadow',
1336 '2DArrayShadow']:
1337 g(['tex-miplevel-selection', 'textureGradOffset', stage])
1339 for stage in ['1D', '2D', '3D', '1D_ProjVec4', '2D_ProjVec4', '2DRect',
1340 '2DRect_ProjVec4', '1DShadow', '2DShadow', '2DRectShadow']:
1341 g(['tex-miplevel-selection', 'textureProjGrad', stage])
1342 g(['tex-miplevel-selection', 'textureProjGradOffset', stage])
1344 with profile.test_list.group_manager(
1345 PiglitGLTest,
1346 grouptools.join('spec', 'glsl-1.30', 'linker', 'clipping')) as g:
1347 g(['mixing-clip-distance-and-clip-vertex-disallowed'])
1349 with profile.test_list.group_manager(
1350 PiglitGLTest,
1351 grouptools.join('spec', 'glsl-1.30', 'execution')) as g:
1352 for arg in ['vs_basic', 'vs_xfb', 'vs_fbo', 'fs_basic', 'fs_fbo']:
1353 g(['isinf-and-isnan', arg])
1355 with profile.test_list.group_manager(
1356 PiglitGLTest,
1357 grouptools.join('spec', 'glsl-1.30', 'execution', 'clipping')) as g:
1358 g(['max-clip-distances'])
1359 g(['clip-plane-transformation', 'pos'])
1361 with profile.test_list.group_manager(
1362 PiglitGLTest,
1363 grouptools.join('spec', 'glsl-1.30', 'api')) as g:
1364 g(['getactiveattrib', '130'], 'getactiveattrib 130')
1366 # Group spec/glsl-1.40
1367 with profile.test_list.group_manager(
1368 BuiltInConstantsTest,
1369 grouptools.join('spec', 'glsl-1.40')) as g:
1370 g(['built-in-constants',
1371 os.path.join('spec', 'glsl-1.40', 'minimum-maximums.txt')],
1372 'built-in constants')
1374 with profile.test_list.group_manager(
1375 PiglitGLTest,
1376 grouptools.join('spec', 'glsl-1.40', 'execution')) as g:
1377 g(['glsl-1.40-tf-no-position'], 'tf-no-position')
1379 textureSize_samplers_140 = textureSize_samplers_130 + [
1380 'sampler2DRect', 'isampler2DRect', 'sampler2DRectShadow', 'samplerBuffer',
1381 'isamplerBuffer', 'usamplerBuffer']
1382 for stage in ['vs', 'gs', 'fs', 'tes']:
1383 if stage == 'gs' or stage == 'tes':
1384 version = '1.50'
1385 else:
1386 version = '1.40'
1387 # textureSize():
1388 for sampler in textureSize_samplers_140:
1389 profile.test_list[grouptools.join(
1390 'spec', 'glsl-{}'.format(version), 'execution', 'textureSize',
1391 '{}-textureSize-{}'.format(stage, sampler))] = PiglitGLTest(
1392 ['textureSize', '140', stage, sampler])
1393 for stage in ['vs', 'gs', 'fs']:
1394 if stage == 'gs':
1395 version = '1.50'
1396 else:
1397 version = '1.40'
1398 # texelFetch():
1399 for sampler in ['sampler2DRect', 'usampler2DRect', 'isampler2DRect']:
1400 profile.test_list[grouptools.join(
1401 'spec', 'glsl-{}'.format(version), 'execution', 'texelFetch',
1402 '{}-texelFetch-{}'.format(stage, sampler))] = PiglitGLTest(
1403 ['texelFetch', '140', stage, sampler])
1404 profile.test_list[grouptools.join(
1405 'spec', 'glsl-{}'.format(version), 'execution', 'texelFetchOffset',
1406 '{}-{}'.format(stage, sampler))] = PiglitGLTest(
1407 ['texelFetch', 'offset', '140', stage, sampler])
1409 with profile.test_list.group_manager(
1410 PiglitGLTest,
1411 grouptools.join('spec', 'glsl-1.50')) as g:
1412 g(['built-in-constants',
1413 os.path.join('spec', 'glsl-1.50', 'minimum-maximums.txt')],
1414 'built-in constants',
1415 override_class=BuiltInConstantsTest)
1416 g(['built-in-constants',
1417 os.path.join('spec', 'glsl-1.50', 'minimum-maximums-compat.txt')],
1418 'built-in constants compatibility',
1419 override_class=BuiltInConstantsTest)
1420 g(['glsl-1.50-gs-emits-too-few-verts'], 'gs-emits-too-few-verts')
1421 g(['glsl-1.50-geometry-end-primitive-optional-with-points-out'],
1422 'gs-end-primitive-optional-with-points-out')
1423 g(['glsl-1.50-gs-max-output', '-scan', '1', '20'], 'gs-max-output')
1424 g(['glsl-1.50-gs-max-output-components'], 'gs-max-output-components')
1425 g(['glsl-1.50-getshaderiv-may-return-GS'], 'getshaderiv-may-return-GS')
1426 g(['glsl-1.50-query-gs-prim-types'], 'query-gs-prim-types')
1427 g(['glsl-1.50-transform-feedback-type-and-size'],
1428 'transform-feedback-type-and-size')
1429 g(['glsl-1.50-transform-feedback-vertex-id'],
1430 'transform-feedback-vertex-id')
1431 g(['glsl-1.50-transform-feedback-builtins'], 'transform-feedback-builtins')
1433 for draw in ['', 'indexed']:
1434 for prim in ['GL_LINES_ADJACENCY', 'GL_LINE_STRIP_ADJACENCY',
1435 'GL_TRIANGLES_ADJACENCY', 'GL_TRIANGLE_STRIP_ADJACENCY']:
1436 g(['arb_geometry_shader4-ignore-adjacent-vertices',
1437 'core', draw, prim], run_concurrent=False)
1439 for subtest in ['unnamed', 'named', 'array']:
1440 g(['glsl-1.50-interface-block-centroid', subtest])
1442 for layout_type in ['points', 'lines', 'lines_adjacency', 'triangles',
1443 'triangles_adjacency']:
1444 g(['glsl-1.50-gs-mismatch-prim-type', layout_type])
1446 for layout in ['points', 'lines', 'lines_adjacency', 'triangles',
1447 'triangles_adjacency', 'line_strip', 'triangle_strip']:
1448 g(['glsl-1.50-gs-input-layout-qualifiers', layout])
1449 g(['glsl-1.50-gs-output-layout-qualifiers', layout])
1451 with profile.test_list.group_manager(
1452 PiglitGLTest,
1453 grouptools.join('spec', 'glsl-1.50', 'execution')) as g:
1454 g(['glsl-1.50-get-active-attrib-array'], 'get-active-attrib-array')
1455 g(['glsl-1.50-interface-blocks-api-access-members'],
1456 'interface-blocks-api-access-members')
1457 g(['glsl-1.50-vs-input-arrays'], 'vs-input-arrays')
1458 g(['glsl-1.50-vs-named-block-no-modify'], 'vs-named-block-no-modify')
1460 # max_vertices of 32 and 128 are important transition points for
1461 # mesa/i965 (they are the number of bits in a float and a vec4,
1462 # respectively), so test around there. Also test 0, which means the
1463 # maximum number of geometry shader output vertices supported by the
1464 # hardware.
1465 with profile.test_list.group_manager(
1466 PiglitGLTest,
1467 grouptools.join('spec', 'glsl-1.50', 'execution', 'geometry')) as g:
1468 for i in [31, 32, 33, 34, 127, 128, 129, 130, 0]:
1469 g(['glsl-1.50-geometry-end-primitive', str(i)],
1470 'end-primitive {0}'.format(i))
1472 for prim_type in ['GL_POINTS', 'GL_LINE_LOOP', 'GL_LINE_STRIP', 'GL_LINES',
1473 'GL_TRIANGLES', 'GL_TRIANGLE_STRIP', 'GL_TRIANGLE_FAN',
1474 'GL_LINES_ADJACENCY', 'GL_LINE_STRIP_ADJACENCY',
1475 'GL_TRIANGLES_ADJACENCY', 'GL_TRIANGLE_STRIP_ADJACENCY']:
1476 g(['glsl-1.50-geometry-primitive-types', prim_type],
1477 'primitive-types {0}'.format(prim_type))
1479 for restart_index in ['ffs', 'other']:
1480 g(['glsl-1.50-geometry-primitive-id-restart', prim_type,
1481 restart_index],
1482 'primitive-id-restart {0} {1}'.format(prim_type, restart_index))
1484 for prim_type in ['GL_TRIANGLE_STRIP', 'GL_TRIANGLE_STRIP_ADJACENCY']:
1485 for restart_index in ['ffs', 'other']:
1486 g(['glsl-1.50-geometry-tri-strip-ordering-with-prim-restart',
1487 prim_type, restart_index],
1488 'tri-strip-ordering-with-prim-restart {0} {1}'.format(
1489 prim_type, restart_index))
1491 with profile.test_list.group_manager(
1492 BuiltInConstantsTest, grouptools.join('spec', 'glsl-3.30')) as g:
1493 g(['built-in-constants',
1494 os.path.join('spec', 'glsl-3.30', 'minimum-maximums.txt')],
1495 'built-in constants')
1497 with profile.test_list.group_manager(
1498 BuiltInConstantsTest, grouptools.join('spec', 'glsl-es-3.00')) as g:
1499 g(['built-in-constants_gles3',
1500 os.path.join('spec', 'glsl-es-3.00', 'minimum-maximums.txt')],
1501 'built-in constants')
1503 with profile.test_list.group_manager(
1504 PiglitGLTest,
1505 grouptools.join('spec', 'glsl-es-3.00', 'execution')) as g:
1506 g(['varying-struct-centroid_gles3'])
1508 with profile.test_list.group_manager(
1509 BuiltInConstantsTest, grouptools.join('spec', 'glsl-es-3.10')) as g:
1510 g(['built-in-constants_gles3',
1511 os.path.join('spec', 'glsl-es-3.10', 'minimum-maximums.txt')],
1512 'built-in constants')
1514 # AMD_performance_monitor
1515 with profile.test_list.group_manager(
1516 PiglitGLTest, grouptools.join('spec', 'AMD_performance_monitor')) as g:
1517 g(['amd_performance_monitor_api'], 'api', run_concurrent=False)
1518 g(['amd_performance_monitor_api'], 'vc4')
1519 g(['amd_performance_monitor_measure'], 'measure', run_concurrent=False)
1521 # Group ARB_arrays_of_arrays
1522 with profile.test_list.group_manager(
1523 PiglitGLTest,
1524 grouptools.join('spec', 'ARB_arrays_of_arrays')) as g:
1525 g(['arb_arrays_of_arrays-max-binding'], run_concurrent=False)
1527 # Group ARB_point_sprite
1528 with profile.test_list.group_manager(
1529 PiglitGLTest, grouptools.join('spec', 'ARB_point_sprite')) as g:
1530 g(['arb_point_sprite-checkerboard'], run_concurrent=False)
1531 g(['arb_point_sprite-mipmap'])
1532 g(['arb_point_sprite-interactions', '1.0'])
1534 # Group ARB_tessellation_shader
1535 with profile.test_list.group_manager(
1536 PiglitGLTest, grouptools.join('spec', 'ARB_tessellation_shader')) as g:
1537 g(['arb_tessellation_shader-get-tcs-params'])
1538 g(['arb_tessellation_shader-get-tes-params'])
1539 g(['arb_tessellation_shader-minmax'])
1540 g(['arb_tessellation_shader-immediate-mode-draw-patches'])
1541 g(['arb_tessellation_shader-invalid-get-program-params'])
1542 g(['arb_tessellation_shader-invalid-patch-vertices-range'])
1543 g(['arb_tessellation_shader-invalid-primitive'])
1544 g(['built-in-constants',
1545 os.path.join('spec', 'arb_tessellation_shader', 'minimum-maximums.txt')],
1546 'built-in-constants',
1547 override_class=BuiltInConstantsTest)
1548 g(['arb_tessellation_shader-large-uniforms'])
1549 g(['arb_tessellation_shader-layout-mismatch'])
1550 g(['arb_tessellation_shader-tes-gs-max-output', '-small', '-scan', '1', '50'])
1552 # Group ARB_texture_multisample
1553 with profile.test_list.group_manager(
1554 PiglitGLTest, grouptools.join('spec', 'ARB_texture_multisample')) as g:
1555 g(['arb_texture_multisample-large-float-texture'], 'large-float-texture',
1556 run_concurrent=False)
1557 g(['arb_texture_multisample-large-float-texture', '--array'],
1558 'large-float-texture-array', run_concurrent=False)
1559 g(['arb_texture_multisample-large-float-texture', '--fp16'],
1560 'large-float-texture-fp16', run_concurrent=False)
1561 g(['arb_texture_multisample-large-float-texture', '--array', '--fp16'],
1562 'large-float-texture-array-fp16', run_concurrent=False)
1563 g(['arb_texture_multisample-minmax'])
1564 g(['texelFetch', 'fs', 'sampler2DMS', '4', '1x71-501x71'])
1565 g(['texelFetch', 'fs', 'sampler2DMS', '4', '1x130-501x130'])
1566 g(['texelFetch', 'fs', 'sampler2DMS', '4', '71x1-71x130'])
1567 g(['texelFetch', 'fs', 'sampler2DMS', '4', '281x1-281x130'])
1568 g(['texelFetch', 'fs', 'sampler2DMSArray', '4', '1x129x9-98x129x9'])
1569 g(['texelFetch', 'fs', 'sampler2DMSArray', '4', '98x1x9-98x129x9'])
1570 g(['texelFetch', 'fs', 'sampler2DMSArray', '4', '98x129x1-98x129x9'])
1571 g(['arb_texture_multisample-texstate'])
1572 g(['arb_texture_multisample-errors'])
1573 for sample_count in MSAA_SAMPLE_COUNTS:
1574 g(['arb_texture_multisample-texelfetch', sample_count])
1575 g(['arb_texture_multisample-sample-mask'])
1576 g(['arb_texture_multisample-dsa-texelfetch'])
1577 g(['arb_texture_multisample-sample-mask-value'])
1578 g(['arb_texture_multisample-sample-mask-execution'])
1579 g(['arb_texture_multisample-sample-mask-execution', '-tex'])
1580 g(['arb_texture_multisample-negative-max-samples'])
1581 g(['arb_texture_multisample-teximage-3d-multisample'])
1582 g(['arb_texture_multisample-teximage-2d-multisample'])
1583 g(['arb_texture_multisample-sample-depth']),
1584 g(['arb_texture_multisample-stencil-clear']),
1585 g(['arb_texture_multisample-clear'])
1587 samplers_atm = ['sampler2DMS', 'isampler2DMS', 'usampler2DMS',
1588 'sampler2DMSArray', 'isampler2DMSArray', 'usampler2DMSArray']
1589 with profile.test_list.group_manager(
1590 PiglitGLTest,
1591 grouptools.join('spec', 'ARB_texture_multisample',
1592 'fb-completeness')) as g:
1594 for sample_count in MSAA_SAMPLE_COUNTS:
1595 # fb-completeness
1596 g(['arb_texture_multisample-fb-completeness', sample_count],
1597 sample_count)
1599 with profile.test_list.group_manager(
1600 PiglitGLTest,
1601 grouptools.join('spec', 'ARB_texture_multisample', 'texelFetch')) as g:
1603 stages = ['vs', 'gs', 'fs']
1604 for sampler, stage, sample_count in itertools.product(
1605 samplers_atm, stages, MSAA_SAMPLE_COUNTS):
1606 g(['texelFetch', stage, sampler, sample_count],
1607 '{}-{}-{}'.format(sample_count, stage, sampler))
1609 with profile.test_list.group_manager(
1610 PiglitGLTest,
1611 grouptools.join('spec', 'ARB_texture_multisample',
1612 'sample-position')) as g:
1613 # sample positions
1614 for sample_count in MSAA_SAMPLE_COUNTS:
1615 g(['arb_texture_multisample-sample-position', sample_count],
1616 sample_count)
1619 with profile.test_list.group_manager(
1620 PiglitGLTest,
1621 grouptools.join('spec', 'ARB_texture_multisample',
1622 'textureSize')) as g:
1624 stages = ['vs', 'gs', 'fs', 'tes']
1625 for stage, sampler in itertools.product(stages, samplers_atm):
1626 g(['textureSize', stage, sampler],
1627 '{}-textureSize-{}'.format(stage, sampler))
1629 # Group ARB_texture_gather
1630 with profile.test_list.group_manager(
1631 PiglitGLTest,
1632 grouptools.join('spec', 'ARB_texture_gather')) as g:
1633 stages = ['vs', 'fs']
1634 comps = ['r', 'rg', 'rgb', 'rgba']
1635 types = ['unorm', 'float', 'int', 'uint']
1636 samplers = ['2D', '2DArray', 'Cube', 'CubeArray']
1637 for stage, comp, type_, sampler in itertools.product(
1638 stages, comps, types, samplers):
1639 for swiz in ['red', 'green', 'blue', 'alpha'][:len(comp)] + ['', 'zero', 'one']:
1640 for func in ['textureGather'] if 'Cube' in sampler else ['textureGather', 'textureGatherOffset']:
1641 testname = grouptools.join(
1642 func, '{}-{}-{}-{}-{}'.format(
1643 stage, comp,
1644 swiz if swiz else 'none',
1645 type_, sampler))
1646 g(['textureGather', stage,
1647 'offset' if func == 'textureGatherOffset' else '',
1648 comp, swiz, type_, sampler], testname)
1651 with profile.test_list.group_manager(
1652 PiglitGLTest,
1653 grouptools.join('spec', 'ARB_stencil_texturing')) as g:
1654 g(['arb_stencil_texturing-draw'], 'draw')
1656 with profile.test_list.group_manager(
1657 PiglitGLTest,
1658 grouptools.join('spec', 'ARB_stencil_texturing', 'glBlitFramebuffer corrupts state')) as g:
1659 for t in ['1D', '2D', 'CUBE_MAP', '1D_ARRAY', '2D_ARRAY', 'CUBE_MAP_ARRAY', '2D_MULTISAMPLE', '2D_MULTISAMPLE_ARRAY', 'RECTANGLE']:
1660 target = 'GL_TEXTURE_' + t
1661 g(['arb_stencil_texturing-blit_corrupts_state', target], target)
1663 # Group ARB_sync
1664 with profile.test_list.group_manager(
1665 PiglitGLTest, grouptools.join('spec', 'ARB_sync')) as g:
1666 g(['arb_sync-client-wait-errors'], 'ClientWaitSync-errors')
1667 g(['arb_sync-delete'], 'DeleteSync')
1668 g(['arb_sync-fence-sync-errors'], 'FenceSync-errors')
1669 g(['arb_sync-get-sync-errors'], 'GetSynciv-errors')
1670 g(['arb_sync-is-sync'], 'IsSync')
1671 g(['arb_sync-repeat-wait'], 'repeat-wait')
1672 g(['arb_sync-sync-initialize'], 'sync-initialize')
1673 g(['arb_sync-timeout-zero'], 'timeout-zero')
1674 g(['arb_sync-WaitSync-errors'], 'WaitSync-errors')
1675 g(['arb_sync-ClientWaitSync-timeout'], 'ClientWaitSync-timeout')
1676 g(['sync_api'], run_concurrent=False)
1678 # Group ARB_ES2_compatibility
1679 with profile.test_list.group_manager(
1680 PiglitGLTest, grouptools.join('spec', 'ARB_ES2_compatibility')) as g:
1681 g(['arb_es2_compatibility-depthrangef'], run_concurrent=False)
1682 g(['arb_es2_compatibility-drawbuffers'], run_concurrent=False)
1683 g(['arb_es2_compatibility-getshaderprecisionformat'], run_concurrent=False)
1684 g(['arb_es2_compatibility-maxvectors'], run_concurrent=False)
1685 g(['arb_es2_compatibility-shadercompiler'], run_concurrent=False)
1686 g(['arb_es2_compatibility-releaseshadercompiler'], run_concurrent=False)
1687 g(['arb_es2_compatibility-fixed-type'], run_concurrent=False)
1688 g(['fbo-missing-attachment-clear'], run_concurrent=False)
1689 g(['fbo-missing-attachment-blit', 'es2', 'to'],
1690 'FBO blit to missing attachment (ES2 completeness rules)')
1691 g(['fbo-missing-attachment-blit', 'es2', 'from'],
1692 'FBO blit from missing attachment (ES2 completeness rules)')
1693 g(['arb_get_program_binary-overrun', 'shader'],
1694 'NUM_SHADER_BINARY_FORMATS over-run check')
1695 add_texwrap_format_tests(g, 'GL_ARB_ES2_compatibility')
1696 add_fbo_formats_tests(g, 'GL_ARB_ES2_compatibility')
1699 # Group ARB_get_program_binary
1700 with profile.test_list.group_manager(
1701 PiglitGLTest, grouptools.join('spec', 'ARB_get_program_binary')) as g:
1702 g(['arb_get_program_binary-api-errors'],
1703 'misc. API error checks')
1704 g(['arb_get_program_binary-overrun', 'program'],
1705 'NUM_PROGRAM_BINARY_FORMATS over-run check')
1706 g(['arb_get_program_binary-retrievable_hint'],
1707 'PROGRAM_BINARY_RETRIEVABLE_HINT')
1708 g(['arb_get_program_binary-xfb-varyings'],
1709 'xfb-varyings')
1710 g(['arb_get_program_binary-restore-implicit-use-program'],
1711 'restore-implicit-use-program')
1712 g(['arb_get_program_binary-restore-sso-program'],
1713 'restore-sso-program')
1714 g(['arb_get_program_binary-reset-uniform'],
1715 'reset-uniform')
1717 with profile.test_list.group_manager(
1718 PiglitGLTest, grouptools.join('spec', 'EXT_depth_bounds_test')) as g:
1719 g(['depth_bounds'])
1721 with profile.test_list.group_manager(
1722 PiglitGLTest, grouptools.join('spec', 'ARB_depth_clamp')) as g:
1723 g(['depth_clamp'])
1724 g(['depth-clamp-range'])
1725 g(['depth-clamp-status'])
1727 # AMD_depth_clamp_separate
1728 with profile.test_list.group_manager(
1729 PiglitGLTest, grouptools.join('spec', 'AMD_depth_clamp_separate')) as g:
1730 g(['amd_depth_clamp_separate_status'])
1731 g(['amd_depth_clamp_separate_range'])
1733 # Group ARB_draw_elements_base_vertex
1734 # Group ARB_draw_elements_base_vertex
1735 with profile.test_list.group_manager(
1736 PiglitGLTest,
1737 grouptools.join('spec', 'ARB_draw_elements_base_vertex')) as g:
1738 g(['arb_draw_elements_base_vertex-dlist'], 'dlist')
1739 g(['arb_draw_elements_base_vertex-drawelements'])
1740 g(['arb_draw_elements_base_vertex-drawelements', 'user_varrays'],
1741 'arb_draw_elements_base_vertex-drawelements-user_varrays')
1742 g(['arb_draw_elements_base_vertex-negative-index'])
1743 g(['arb_draw_elements_base_vertex-bounds'])
1744 g(['arb_draw_elements_base_vertex-negative-index', 'user_varrays'],
1745 'arb_draw_elements_base_vertex-negative-index-user_varrays')
1746 g(['arb_draw_elements_base_vertex-drawelements-instanced'])
1747 g(['arb_draw_elements_base_vertex-drawrangeelements'])
1748 g(['arb_draw_elements_base_vertex-multidrawelements'])
1750 # Group ARB_draw_instanced
1751 with profile.test_list.group_manager(
1752 PiglitGLTest,
1753 grouptools.join('spec', 'ARB_draw_instanced')) as g:
1754 g(['arb_draw_instanced-dlist'], 'dlist')
1755 g(['arb_draw_instanced-elements'], 'elements')
1756 g(['arb_draw_instanced-negative-arrays-first-negative'],
1757 'negative-arrays-first-negative')
1758 g(['arb_draw_instanced-negative-elements-type'],
1759 'negative-elements-type')
1760 g(['arb_draw_instanced-drawarrays'])
1762 # Group EXT_draw_instanced
1763 with profile.test_list.group_manager(
1764 PiglitGLTest,
1765 grouptools.join('spec', 'EXT_draw_instanced')) as g:
1766 g(['ext_draw_instanced-drawarrays'])
1768 # Group ARB_draw_indirect
1769 with profile.test_list.group_manager(
1770 PiglitGLTest,
1771 grouptools.join('spec', 'ARB_draw_indirect')) as g:
1772 g(['arb_draw_indirect-api-errors'])
1773 g(['arb_draw_indirect-draw-arrays'])
1774 g(['arb_draw_indirect-draw-arrays-compat'])
1775 g(['arb_draw_indirect-draw-arrays-prim-restart'])
1776 g(['arb_draw_indirect-draw-elements'])
1777 g(['arb_draw_indirect-draw-elements-compat'])
1778 g(['arb_draw_indirect-draw-arrays-base-instance'])
1779 g(['arb_draw_indirect-draw-elements-base-instance'])
1780 g(['arb_draw_indirect-draw-elements-prim-restart'])
1781 g(['arb_draw_indirect-draw-elements-prim-restart-ugly'])
1782 g(['arb_draw_indirect-draw-arrays-instances'])
1783 g(['arb_draw_indirect-draw-arrays-shared-binding'])
1784 g(['arb_draw_indirect-transform-feedback'])
1785 g(['arb_draw_indirect-vertexid'],
1786 'gl_VertexID used with glDrawArraysIndirect')
1787 g(['arb_draw_indirect-vertexid', 'elements'],
1788 'gl_VertexID used with glDrawElementsIndirect')
1790 # Group ARB_draw_indirect
1791 with profile.test_list.group_manager(
1792 PiglitGLTest,
1793 grouptools.join('spec', 'ARB_multi_draw_indirect')) as g:
1794 g(['gl-3.0-multidrawarrays-vertexid', '-indirect'])
1795 g(['arb_draw_elements_base_vertex-multidrawelements', '-indirect'])
1797 # Group ARB_fragment_program
1798 with profile.test_list.group_manager(
1799 PiglitGLTest,
1800 grouptools.join('spec', 'ARB_fragment_program')) as g:
1801 g(['arb_fragment_program-minmax'], 'minmax')
1802 g(['fp-abs-01'])
1803 g(['fp-fog'])
1804 g(['fp-formats'])
1805 g(['fp-fragment-position'])
1806 g(['fp-incomplete-tex'])
1807 g(['fp-indirections'])
1808 g(['fp-indirections2'])
1809 g(['fp-kil'])
1810 g(['fp-lit-mask'])
1811 g(['fp-lit-src-equals-dst'])
1812 g(['fp-long-alu'])
1813 g(['fp-set-01'])
1814 g(['trinity-fp1'])
1815 g(['arb_fragment_program-sparse-samplers'], 'sparse-samplers')
1816 g(['incomplete-texture', 'arb_fp'], 'incomplete-texture-arb_fp')
1818 with profile.test_list.group_manager(
1819 PiglitGLTest,
1820 grouptools.join('spec', 'NV_fragment_program_option')) as g:
1821 g(['fp-abs-02'])
1822 g(['fp-condition_codes-01'])
1823 g(['fp-rfl'])
1824 g(['fp-set-02'])
1825 g(['fp-unpack-01'])
1827 with profile.test_list.group_manager(
1828 PiglitGLTest,
1829 grouptools.join('spec', 'ATI_fragment_shader')) as g:
1830 g(['ati_fragment_shader-api-alphafirst'])
1831 g(['ati_fragment_shader-api-gen'])
1832 g(['ati_fragment_shader-error01-genzero'])
1833 g(['ati_fragment_shader-error02-inside'])
1834 g(['ati_fragment_shader-error03-outside'])
1835 g(['ati_fragment_shader-error04-endshader'])
1836 g(['ati_fragment_shader-error05-passes'])
1837 g(['ati_fragment_shader-error06-regswizzle'])
1838 g(['ati_fragment_shader-error07-instcount'])
1839 g(['ati_fragment_shader-error08-secondary'])
1840 g(['ati_fragment_shader-error09-allconst'])
1841 g(['ati_fragment_shader-error10-dotx'])
1842 g(['ati_fragment_shader-error11-invaliddst'])
1843 g(['ati_fragment_shader-error12-invalidsrc'])
1844 g(['ati_fragment_shader-error13-invalidarg'])
1845 g(['ati_fragment_shader-error14-invalidmod'])
1846 g(['ati_fragment_shader-render-constants'])
1847 g(['ati_fragment_shader-render-default'])
1848 g(['ati_fragment_shader-render-fog'])
1849 g(['ati_fragment_shader-render-notexture'])
1850 g(['ati_fragment_shader-render-precedence'])
1851 g(['ati_fragment_shader-render-sources'])
1852 g(['ati_fragment_shader-render-textargets'])
1854 # Group ARB_framebuffer_object
1855 with profile.test_list.group_manager(
1856 PiglitGLTest,
1857 grouptools.join('spec', 'ARB_framebuffer_object')) as g:
1858 g(['same-attachment-glFramebufferTexture2D-GL_DEPTH_STENCIL_ATTACHMENT'])
1859 g(['same-attachment-glFramebufferRenderbuffer-GL_DEPTH_STENCIL_ATTACHMENT'])
1860 g(['arb_framebuffer_object-get-attachment-parameter-default-framebuffer'], run_concurrent=False)
1861 g(['fbo-alpha'])
1862 g(['fbo-blit-stretch'], run_concurrent=False)
1863 g(['fbo-blit-scaled-linear'])
1864 g(['fbo-attachments-blit-scaled-linear'])
1865 g(['fbo-deriv'])
1866 g(['fbo-luminance-alpha'])
1867 g(['fbo-getframebufferattachmentparameter-01'])
1868 g(['fbo-gl_pointcoord'])
1869 g(['fbo-incomplete'])
1870 g(['fbo-incomplete-invalid-texture'])
1871 g(['fbo-incomplete-texture-01'])
1872 g(['fbo-incomplete-texture-02'])
1873 g(['fbo-incomplete-texture-03'])
1874 g(['fbo-incomplete-texture-04'])
1875 g(['fbo-mipmap-copypix'])
1876 g(['fbo-viewport'], run_concurrent=False)
1877 g(['fbo-missing-attachment-blit', 'to'], 'FBO blit to missing attachment')
1878 g(['fbo-missing-attachment-blit', 'from'],
1879 'FBO blit from missing attachment')
1880 g(['fbo-scissor-blit', 'fbo'], 'fbo-scissor-blit fbo')
1881 g(['fbo-scissor-blit', 'window'], 'fbo-scissor-blit window',
1882 run_concurrent=False)
1883 g(['fbo-tex-rgbx'], 'fbo-tex-rgbx')
1884 g(['arb_framebuffer_object-mixed-buffer-sizes'], 'mixed-buffer-sizes')
1885 g(['arb_framebuffer_object-negative-readpixels-no-rb'],
1886 'negative-readpixels-no-rb')
1887 g(['arb_framebuffer_object-depth-stencil-blit', 'depth', 'GL_DEPTH_COMPONENT16'])
1888 g(['arb_framebuffer_object-depth-stencil-blit', 'depth', 'GL_DEPTH_COMPONENT24'])
1889 g(['arb_framebuffer_object-depth-stencil-blit', 'depth', 'GL_DEPTH_COMPONENT32'])
1890 g(['arb_framebuffer_object-depth-stencil-blit', 'depth', 'GL_DEPTH_COMPONENT32F'])
1891 g(['arb_framebuffer_object-depth-stencil-blit', 'stencil', 'GL_STENCIL_INDEX1'])
1892 g(['arb_framebuffer_object-depth-stencil-blit', 'stencil', 'GL_STENCIL_INDEX4'])
1893 g(['arb_framebuffer_object-depth-stencil-blit', 'stencil', 'GL_STENCIL_INDEX8'])
1894 g(['arb_framebuffer_object-depth-stencil-blit', 'stencil', 'GL_STENCIL_INDEX16'])
1895 g(['arb_framebuffer_object-depth-stencil-blit', 'depth', 'GL_DEPTH24_STENCIL8'])
1896 g(['arb_framebuffer_object-depth-stencil-blit', 'stencil', 'GL_DEPTH24_STENCIL8'])
1897 g(['arb_framebuffer_object-depth-stencil-blit', 'depth_stencil', 'GL_DEPTH24_STENCIL8'])
1898 g(['arb_framebuffer_object-depth-stencil-blit', 'depth', 'GL_DEPTH32F_STENCIL8'])
1899 g(['arb_framebuffer_object-depth-stencil-blit', 'stencil', 'GL_DEPTH32F_STENCIL8'])
1900 g(['arb_framebuffer_object-depth-stencil-blit', 'depth_stencil', 'GL_DEPTH32F_STENCIL8'])
1901 g(['fbo-drawbuffers-none', 'glClear'])
1902 g(['fbo-drawbuffers-none', 'glClearBuffer'])
1903 g(['fbo-drawbuffers-none', 'gl_FragColor'])
1904 g(['fbo-drawbuffers-none', 'gl_FragData'])
1905 g(['fbo-drawbuffers-none', 'use_frag_out'])
1906 g(['fbo-drawbuffers-none', 'glColorMaskIndexed'])
1907 g(['fbo-drawbuffers-none', 'glBlendFunci'])
1908 g(['fbo-drawbuffers-none', 'glDrawPixels'])
1909 g(['fbo-drawbuffers-none', 'glBlitFramebuffer'])
1910 g(['fbo-generatemipmap-cubemap'])
1911 g(['fbo-generatemipmap-cubemap', 'RGB9_E5'])
1912 g(['fbo-generatemipmap-cubemap', 'S3TC_DXT1'])
1913 g(['fbo-generatemipmap-1d'])
1914 g(['fbo-generatemipmap-1d', 'RGB9_E5'])
1915 g(['fbo-generatemipmap-3d'])
1916 g(['fbo-generatemipmap-3d', 'RGB9_E5'])
1917 for format in ('rgba', 'depth', 'stencil'):
1918 for test_mode in ('draw', 'read'):
1919 g(['framebuffer-blit-levels', test_mode, format],
1920 'framebuffer-blit-levels {} {}'.format(test_mode, format))
1922 # Group ARB_framebuffer_sRGB
1923 with profile.test_list.group_manager(
1924 PiglitGLTest,
1925 grouptools.join('spec', 'ARB_framebuffer_sRGB')) as g:
1926 for backing_type in ('texture', 'renderbuffer'):
1927 for srgb_types in ('linear', 'srgb', 'linear_to_srgb',
1928 'srgb_to_linear'):
1929 for blit_type in ('single_sampled', 'upsample', 'downsample',
1930 'msaa', 'scaled'):
1931 for framebuffer_srgb_setting in ('enabled',
1932 'disabled'):
1933 for src_fill_mode in ('clear', 'render'):
1934 g(['arb_framebuffer_srgb-blit', backing_type,
1935 srgb_types, blit_type, framebuffer_srgb_setting,
1936 src_fill_mode],
1937 'blit {} {} {} {} {}'.format(
1938 backing_type, srgb_types, blit_type,
1939 framebuffer_srgb_setting, src_fill_mode))
1940 g(['framebuffer-srgb'], run_concurrent=False)
1941 g(['arb_framebuffer_srgb-clear'])
1942 g(['arb_framebuffer_srgb-pushpop'])
1943 g(['ext_framebuffer_multisample-fast-clear',
1944 'GL_EXT_texture_sRGB',
1945 'enable-fb-srgb'],
1946 'msaa-fast-clear')
1947 g(['ext_framebuffer_multisample-fast-clear',
1948 'GL_EXT_texture_sRGB',
1949 'enable-fb-srgb',
1950 'single-sample'],
1951 'fbo-fast-clear')
1952 g(['arb_framebuffer_srgb-fast-clear-blend'])
1953 g(['arb_framebuffer_srgb-srgb_conformance'])
1954 g(['arb_framebuffer_srgb-srgb_pbo'])
1957 with profile.test_list.group_manager(
1958 PiglitGLTest,
1959 grouptools.join('spec', 'ARB_gpu_shader5')) as g:
1960 stages = ['vs', 'fs']
1961 types = ['unorm', 'float', 'int', 'uint']
1962 comps = ['r', 'rg', 'rgb', 'rgba']
1963 samplers = ['2D', '2DArray', 'Cube', 'CubeArray', '2DRect']
1964 for stage, type_, comp, sampler in itertools.product(
1965 stages, types, comps, samplers):
1966 for func in ['textureGather'] if 'Cube' in sampler else ['textureGather', 'textureGatherOffset', 'textureGatherOffsets']:
1967 for cs in range(len(comp)):
1968 assert cs <= 3
1969 address_mode = 'clamp' if sampler == '2DRect' else 'repeat'
1970 cmd = ['textureGather', stage,
1971 'offsets' if func == 'textureGatherOffsets' else 'nonconst' if func == 'textureGatherOffset' else '',
1972 comp, str(cs), type_, sampler, address_mode]
1973 testname = grouptools.join(func, '{}-{}-{}-{}-{}'.format(
1974 stage, comp, cs, type_, sampler))
1975 g(cmd, testname)
1977 if func == 'textureGatherOffset':
1978 # also add a constant offset version.
1979 testname = grouptools.join(
1980 func, '{}-{}-{}-{}-{}-const'.format(
1981 stage, comp, cs, type_, sampler))
1982 cmd = ['textureGather', stage, 'offset',
1983 comp, str(cs), type_, sampler, address_mode]
1984 g(cmd, testname)
1986 # test shadow samplers
1987 samplers = ['2D', '2DArray', 'Cube', 'CubeArray', '2DRect']
1988 for stage, sampler in itertools.product(stages, samplers):
1989 for func in ['textureGather'] if 'Cube' in sampler else ['textureGather', 'textureGatherOffset', 'textureGatherOffsets']:
1990 testname = grouptools.join(func, '{}-r-none-shadow-{}'.format(
1991 stage, sampler))
1992 cmd = ['textureGather', stage, 'shadow', 'r',
1993 'offsets' if func == 'textureGatherOffsets' else 'nonconst' if func == 'textureGatherOffset' else '',
1994 sampler,
1995 'clamp' if sampler == '2DRect' else 'repeat']
1996 g(cmd, testname)
1998 g(['arb_gpu_shader5-minmax'])
1999 g(['arb_gpu_shader5-invocation-id'])
2000 g(['arb_gpu_shader5-invocations_count_too_large'])
2001 g(['arb_gpu_shader5-xfb-streams'])
2002 g(['arb_gpu_shader5-stream_value_too_large'])
2003 g(['arb_gpu_shader5-emitstreamvertex_stream_too_large'])
2004 g(['arb_gpu_shader5-tf-wrong-stream-value'])
2005 g(['arb_gpu_shader5-xfb-streams-without-invocations'])
2006 g(['arb_gpu_shader5-xfb-streams-without-invocations', 'spirv'])
2007 g(['arb_gpu_shader5-emitstreamvertex_nodraw'])
2008 g(['arb_gpu_shader5-interpolateAtCentroid'])
2009 g(['arb_gpu_shader5-interpolateAtCentroid-packing'])
2010 g(['arb_gpu_shader5-interpolateAtCentroid-flat'])
2011 g(['arb_gpu_shader5-interpolateAtCentroid-centroid'])
2012 g(['arb_gpu_shader5-interpolateAtCentroid-noperspective'])
2013 g(['arb_gpu_shader5-interpolateAtSample'])
2014 g(['arb_gpu_shader5-interpolateAtSample-nonconst'])
2015 g(['arb_gpu_shader5-interpolateAtSample-different'])
2016 g(['arb_gpu_shader5-interpolateAtSample-different', 'uniform'])
2017 g(['arb_gpu_shader5-interpolateAtSample-dynamically-nonuniform'])
2018 g(['arb_gpu_shader5-interpolateAtOffset'])
2019 g(['arb_gpu_shader5-interpolateAtOffset-nonconst'])
2022 with profile.test_list.group_manager(
2023 PiglitGLTest,
2024 grouptools.join('spec', 'ARB_gpu_shader_fp64',
2025 'varying-packing')) as g:
2026 for type in ['double', 'dvec2', 'dvec3', 'dvec4', 'dmat2', 'dmat3',
2027 'dmat4', 'dmat2x3', 'dmat2x4', 'dmat3x2', 'dmat3x4',
2028 'dmat4x2', 'dmat4x3']:
2029 for arrayspec in ['array', 'separate', 'arrays_of_arrays']:
2030 g(['varying-packing-simple', type, arrayspec],
2031 'simple {0} {1}'.format(type, arrayspec))
2033 with profile.test_list.group_manager(
2034 PiglitGLTest,
2035 grouptools.join('spec', 'ARB_gpu_shader_fp64', 'execution')) as g:
2036 g(['arb_gpu_shader_fp64-tf-separate'])
2037 g(['arb_gpu_shader_fp64-double-gettransformfeedbackvarying'])
2038 g(['arb_gpu_shader_fp64-tf-interleaved'])
2039 g(['arb_gpu_shader_fp64-tf-interleaved-aligned'])
2040 g(['arb_gpu_shader_fp64-vs-getuniformdv'])
2041 g(['arb_gpu_shader_fp64-fs-getuniformdv'])
2042 g(['arb_gpu_shader_fp64-gs-getuniformdv'])
2043 g(['arb_gpu_shader_fp64-wrong-type-setter'])
2044 g(['arb_gpu_shader_fp64-dlist-uniforms'])
2045 g(['arb_gpu_shader_fp64-double_in_bool_uniform'])
2046 g(['arb_gpu_shader_fp64-uniform-invalid-operation'])
2047 g(['arb_gpu_shader_fp64-vs-non-uniform-control-flow-const'])
2048 g(['arb_gpu_shader_fp64-fs-non-uniform-control-flow-const'])
2049 g(['arb_gpu_shader_fp64-vs-non-uniform-control-flow-ubo'])
2050 g(['arb_gpu_shader_fp64-fs-non-uniform-control-flow-ubo'])
2051 g(['arb_gpu_shader_fp64-vs-non-uniform-control-flow-ssbo'])
2052 g(['arb_gpu_shader_fp64-fs-non-uniform-control-flow-ssbo'])
2053 g(['arb_gpu_shader_fp64-vs-non-uniform-control-flow-alu'])
2054 g(['arb_gpu_shader_fp64-fs-non-uniform-control-flow-alu'])
2055 g(['arb_gpu_shader_fp64-vs-non-uniform-control-flow-packing'])
2056 g(['arb_gpu_shader_fp64-fs-non-uniform-control-flow-packing'])
2058 with profile.test_list.group_manager(
2059 PiglitGLTest,
2060 grouptools.join('spec', 'ARB_gpu_shader_fp64', 'shader_storage')) as g:
2061 g(['arb_gpu_shader_fp64-layout-std140-fp64-shader'], 'layout-std140-fp64-shader')
2062 g(['arb_gpu_shader_fp64-layout-std140-fp64-mixed-shader'], 'layout-std140-fp64-mixed-shader')
2063 g(['arb_gpu_shader_fp64-layout-std430-fp64-shader'], 'layout-std430-fp64-shader')
2064 g(['arb_gpu_shader_fp64-layout-std430-fp64-mixed-shader'], 'layout-std430-fp64-mixed-shader')
2066 with profile.test_list.group_manager(
2067 PiglitGLTest,
2068 grouptools.join('spec', 'ARB_shader_subroutine')) as g:
2069 g(['arb_shader_subroutine-minmax'])
2070 g(['arb_shader_subroutine-uniformsubroutinesuiv'])
2072 with profile.test_list.group_manager(
2073 PiglitGLTest,
2074 grouptools.join('spec', 'ARB_occlusion_query')) as g:
2075 g(['occlusion_query'])
2076 g(['occlusion_query_conform'])
2077 g(['occlusion_query_lifetime'])
2078 g(['occlusion_query_meta_fragments'])
2079 g(['occlusion_query_meta_no_fragments'])
2080 g(['occlusion_query_meta_save'])
2081 g(['occlusion_query_order'])
2082 g(['gen_delete_while_active'])
2084 with profile.test_list.group_manager(
2085 PiglitGLTest,
2086 grouptools.join('spec', 'ARB_point_parameters')) as g:
2087 g(['arb_point_parameters-point-attenuation'])
2089 # Group ARB_separate_shader_objects
2090 with profile.test_list.group_manager(
2091 PiglitGLTest,
2092 grouptools.join('spec', 'ARB_separate_shader_objects')) as g:
2093 g(['arb_separate_shader_object-ActiveShaderProgram-invalid-program'],
2094 'ActiveShaderProgram with invalid program')
2095 g(['arb_separate_shader_object-GetProgramPipelineiv'],
2096 'GetProgramPipelineiv')
2097 g(['arb_separate_shader_object-dlist'], 'Display lists (Compat)')
2098 g(['arb_separate_shader_object-IsProgramPipeline'],
2099 'IsProgramPipeline')
2100 g(['arb_separate_shader_object-UseProgramStages-non-separable'],
2101 'UseProgramStages - non-separable program')
2102 g(['arb_separate_shader_object-ProgramUniform-coverage'],
2103 'ProgramUniform coverage')
2104 g(['arb_separate_shader_object-rendezvous_by_name'],
2105 'Rendezvous by name')
2106 g(['arb_separate_shader_object-rendezvous_by_name_interpolation'],
2107 'Rendezvous by name with multiple interpolation qualifier')
2108 g(['arb_separate_shader_object-mix-and-match-tcs-tes'],
2109 'mix-and-match-tcs-tes'),
2110 g(['arb_separate_shader_object-mixed_explicit_and_non_explicit_locations'],
2111 'Mixed explicit and non-explicit locations')
2112 g(['arb_separate_shader_object-api-errors'], 'misc. API error checks')
2113 g(['arb_separate_shader_object-rendezvous_by_location', '-fbo'],
2114 'Rendezvous by location', run_concurrent=False)
2115 g(['arb_separate_shader_object-rendezvous_by_location-5-stages'],
2116 'Rendezvous by location (5 stages)')
2117 g(['arb_separate_shader_object-ValidateProgramPipeline'],
2118 'ValidateProgramPipeline')
2119 g(['arb_separate_shader_object-400-combinations', '-fbo', '--by-location'],
2120 '400 combinations by location', run_concurrent=False)
2121 g(['arb_separate_shader_object-400-combinations', '-fbo'],
2122 '400 combinations by name', run_concurrent=False)
2123 g(['arb_separate_shader_object-active-sampler-conflict'],
2124 'active sampler conflict')
2125 g(['arb_separate_shader_object-atomic-counter'],
2126 'atomic counter')
2127 g(['arb_separate_shader_object-compat-builtins'], 'compat-builtins')
2128 g(['arb_separate_shader_object-rendezvous_by_location-3-stages'],
2129 'rendezvous_by_location-3-stages')
2130 g(['arb_separate_shader_object-uniform-namespace'],
2131 'uniform namespace is per-program')
2132 g(['arb_separate_shader_object-xfb-rendezvous_by_location'],
2133 'Transform feedback with rendezvous by location')
2135 # Group ARB_sampler_objects
2136 with profile.test_list.group_manager(
2137 PiglitGLTest,
2138 grouptools.join('spec', 'ARB_sampler_objects')) as g:
2139 g(['arb_sampler_objects-sampler-objects'], 'sampler-objects',)
2140 g(['arb_sampler_objects-sampler-incomplete'], 'sampler-incomplete',)
2141 g(['arb_sampler_objects-srgb-decode'], 'GL_EXT_texture_sRGB_decode',)
2142 g(['arb_sampler_objects-framebufferblit'], 'framebufferblit',
2143 run_concurrent=False)
2145 # Group ARB_sample_shading
2146 with profile.test_list.group_manager(
2147 PiglitGLTest,
2148 grouptools.join('spec', 'ARB_sample_shading')) as g:
2149 g(['arb_sample_shading-api'], run_concurrent=False)
2151 for num_samples in ['0'] + MSAA_SAMPLE_COUNTS:
2152 g(['arb_sample_shading-builtin-gl-num-samples', num_samples],
2153 'builtin-gl-num-samples {0}'.format(num_samples),
2154 run_concurrent=False)
2155 g(['arb_sample_shading-builtin-gl-sample-id', num_samples],
2156 'builtin-gl-sample-id {}'.format(num_samples), run_concurrent=False)
2157 g(['arb_sample_shading-builtin-gl-sample-mask', num_samples],
2158 'builtin-gl-sample-mask {}'.format(num_samples),
2159 run_concurrent=False)
2160 g(['arb_sample_shading-builtin-gl-sample-position', num_samples],
2161 'builtin-gl-sample-position {}'.format(num_samples),
2162 run_concurrent=False)
2164 for sample_count in MSAA_SAMPLE_COUNTS:
2165 g(['arb_sample_shading-interpolate-at-sample-position', sample_count],
2166 'interpolate-at-sample-position {}'.format(sample_count))
2167 g(['arb_sample_shading-ignore-centroid-qualifier', sample_count],
2168 'ignore-centroid-qualifier {}'.format(sample_count))
2169 g(['arb_sample_shading-samplemask', sample_count, 'all', 'all'],
2170 'samplemask {}'.format(sample_count))
2172 for num_samples in ['0'] + MSAA_SAMPLE_COUNTS:
2173 g(['arb_sample_shading-builtin-gl-sample-mask-simple',
2174 num_samples],
2175 'builtin-gl-sample-mask-simple {}'.format(num_samples))
2176 g(['arb_sample_shading-samplemask', num_samples, 'all', 'all'],
2177 'samplemask {} all'.format(num_samples))
2179 g(['arb_sample_shading-builtin-gl-sample-mask-mrt-alpha'])
2180 g(['arb_sample_shading-builtin-gl-sample-mask-mrt-alpha-to-coverage-combinations'])
2182 # Group ARB_debug_output
2183 with profile.test_list.group_manager(
2184 PiglitGLTest,
2185 grouptools.join('spec', 'ARB_debug_output')) as g:
2186 g(['arb_debug_output-api_error'], run_concurrent=False)
2188 # Group KHR_debug
2189 with profile.test_list.group_manager(
2190 PiglitGLTest,
2191 grouptools.join('spec', 'KHR_debug')) as g:
2192 g(['khr_debug-object-label_gl'], 'object-label_gl')
2193 g(['khr_debug-object-label_gles2'], 'object-label_gles2')
2194 g(['khr_debug-object-label_gles3'], 'object-label_gles3')
2195 g(['khr_debug-push-pop-group_gl'], 'push-pop-group_gl')
2196 g(['khr_debug-push-pop-group_gles2'], 'push-pop-group_gles2')
2197 g(['khr_debug-push-pop-group_gles3'], 'push-pop-group_gles3')
2199 # Group ARB_occlusion_query2
2200 with profile.test_list.group_manager(
2201 PiglitGLTest,
2202 grouptools.join('spec', 'ARB_occlusion_query2')) as g:
2203 g(['arb_occlusion_query2-api'], 'api')
2204 g(['arb_occlusion_query2-render'], 'render')
2206 # Group EXT_external_objects tests
2207 with profile.test_list.group_manager(
2208 PiglitGLTest,
2209 grouptools.join('spec', 'EXT_external_objects')) as g:
2210 g(['ext_external_objects-memory-object-api-errors'], 'memory-object-api-errors')
2211 g(['ext_external_objects-semaphore-api-errors'], 'semaphore-api-errors')
2212 g(['ext_external_objects-vk-image-override'], 'vk-image-override')
2213 g(['ext_external_objects-vk-image-display'], 'vk-image-display')
2215 # Group EXT_external_objects_fd tests
2216 with profile.test_list.group_manager(
2217 PiglitGLTest,
2218 grouptools.join('spec', 'EXT_external_objects_fd')) as g:
2219 g(['ext_external_objects_fd-memory-object-api-errors'], 'memory-object-api-errors')
2220 g(['ext_external_objects_fd-semaphore-api-errors'], 'semaphore-api-errors')
2222 # Group EXT_texture_format_BGRA8888 tests
2223 with profile.test_list.group_manager(
2224 PiglitGLTest,
2225 grouptools.join('spec', 'EXT_texture_format_BGRA8888')) as g:
2226 g(['ext_texture_format_bgra8888-api-errors'], 'api-errors')
2228 with profile.test_list.group_manager(
2229 PiglitGLTest,
2230 grouptools.join('spec', 'ARB_pixel_buffer_object')) as g:
2231 g(['cubemap', 'pbo'])
2232 g(['cubemap', 'npot', 'pbo'])
2233 g(['fbo-pbo-readpixels-small'], run_concurrent=False)
2234 g(['pbo-drawpixels'], run_concurrent=False)
2235 g(['pbo-getteximage'], run_concurrent=False)
2236 g(['pbo-read-argb8888'], run_concurrent=False)
2237 g(['pbo-readpixels-small'], run_concurrent=False)
2238 g(['pbo-teximage'], run_concurrent=False)
2239 g(['pbo-teximage-tiling'], run_concurrent=False)
2240 g(['pbo-teximage-tiling-2'], run_concurrent=False)
2241 g(['texsubimage', 'pbo'])
2242 g(['texsubimage', 'pbo', 'manual', 'GL_TEXTURE_2D', 'GL_RGB8', '6',
2243 '10', '0', '94', '53', '0'])
2244 g(['texsubimage', 'array', 'pbo'])
2245 g(['texsubimage', 'cube_map_array', 'pbo'])
2246 g(['texsubimage-depth-formats', 'pbo'])
2247 g(['texsubimage-unpack', 'pbo'])
2249 # Group ARB_provoking_vertex
2250 with profile.test_list.group_manager(
2251 PiglitGLTest,
2252 grouptools.join('spec', 'ARB_provoking_vertex')) as g:
2253 g(['arb-provoking-vertex-control'], run_concurrent=False)
2254 g(['arb-provoking-vertex-initial'], run_concurrent=False)
2255 g(['arb-provoking-vertex-render'], run_concurrent=False)
2256 g(['arb-provoking-vertex-clipped-geometry-flatshading'], run_concurrent=False)
2257 g(['arb-quads-follow-provoking-vertex'], run_concurrent=False)
2258 g(['arb-xfb-before-flatshading'], run_concurrent=False)
2260 # Group ARB_robustness
2261 with profile.test_list.group_manager(
2262 PiglitGLTest,
2263 grouptools.join('spec', 'ARB_robustness')) as g:
2264 g(['arb_robustness_client-mem-bounds'], run_concurrent=False)
2266 # Group ARB_shader_texture_lod
2267 with profile.test_list.group_manager(
2268 PiglitGLTest,
2269 grouptools.join('spec', 'ARB_shader_texture_lod', 'execution')) as g:
2270 g(['arb_shader_texture_lod-texgrad'])
2271 g(['arb_shader_texture_lod-texgradcube'])
2272 g(['tex-miplevel-selection', '*Lod', '1D'])
2273 g(['tex-miplevel-selection', '*Lod', '2D'])
2274 g(['tex-miplevel-selection', '*Lod', '3D'])
2275 g(['tex-miplevel-selection', '*Lod', 'Cube'])
2276 g(['tex-miplevel-selection', '*Lod', '1DShadow'])
2277 g(['tex-miplevel-selection', '*Lod', '2DShadow'])
2278 g(['tex-miplevel-selection', '*ProjLod', '1D'])
2279 g(['tex-miplevel-selection', '*ProjLod', '1D_ProjVec4'])
2280 g(['tex-miplevel-selection', '*ProjLod', '2D'])
2281 g(['tex-miplevel-selection', '*ProjLod', '2D_ProjVec4'])
2282 g(['tex-miplevel-selection', '*ProjLod', '3D'])
2283 g(['tex-miplevel-selection', '*ProjLod', '1DShadow'])
2284 g(['tex-miplevel-selection', '*ProjLod', '2DShadow'])
2285 g(['tex-miplevel-selection', '*GradARB', '1D'])
2286 g(['tex-miplevel-selection', '*GradARB', '2D'])
2287 g(['tex-miplevel-selection', '*GradARB', '3D'])
2288 g(['tex-miplevel-selection', '*GradARB', 'Cube'])
2289 g(['tex-miplevel-selection', '*GradARB', '1DShadow'])
2290 g(['tex-miplevel-selection', '*GradARB', '2DShadow'])
2291 g(['tex-miplevel-selection', '*GradARB', '2DRect'])
2292 g(['tex-miplevel-selection', '*GradARB', '2DRectShadow'])
2293 g(['tex-miplevel-selection', '*ProjGradARB', '1D'])
2294 g(['tex-miplevel-selection', '*ProjGradARB', '1D_ProjVec4'])
2295 g(['tex-miplevel-selection', '*ProjGradARB', '2D'])
2296 g(['tex-miplevel-selection', '*ProjGradARB', '2D_ProjVec4'])
2297 g(['tex-miplevel-selection', '*ProjGradARB', '3D'])
2298 g(['tex-miplevel-selection', '*ProjGradARB', '1DShadow'])
2299 g(['tex-miplevel-selection', '*ProjGradARB', '2DShadow'])
2300 g(['tex-miplevel-selection', '*ProjGradARB', '2DRect'])
2301 g(['tex-miplevel-selection', '*ProjGradARB', '2DRect_ProjVec4'])
2302 g(['tex-miplevel-selection', '*ProjGradARB', '2DRectShadow'])
2305 # Group ARB_shader_objects
2306 with profile.test_list.group_manager(
2307 PiglitGLTest,
2308 grouptools.join('spec', 'ARB_shader_objects')) as g:
2309 g(['arb_shader_objects-getuniform'], 'getuniform')
2310 g(['arb_shader_objects-bindattriblocation-scratch-name'],
2311 'bindattriblocation-scratch-name')
2312 g(['arb_shader_objects-getactiveuniform-beginend'],
2313 'getactiveuniform-beginend')
2314 g(['arb_shader_objects-getuniformlocation-array-of-struct-of-array'],
2315 'getuniformlocation-array-of-struct-of-array')
2316 g(['arb_shader_objects-clear-with-deleted'], 'clear-with-deleted')
2317 g(['arb_shader_objects-delete-repeat'], 'delete-repeat')
2319 with profile.test_list.group_manager(
2320 PiglitGLTest,
2321 grouptools.join('spec', 'ARB_shading_language_420pack')) as g:
2322 g(['built-in-constants',
2323 os.path.join('spec', 'arb_shading_language_420pack', 'minimum-maximums.txt')],
2324 'built-in constants',
2325 override_class=BuiltInConstantsTest)
2326 g(['arb_shading_language_420pack-multiple-layout-qualifiers'],
2327 'multiple layout qualifiers')
2328 g(['arb_shading_language_420pack-active-sampler-conflict'], 'active sampler conflict')
2329 g(['arb_shading_language_420pack-binding-layout'], 'binding layout')
2331 with profile.test_list.group_manager(
2332 PiglitGLTest,
2333 grouptools.join('spec', 'ARB_shading_language_include')) as g:
2334 g(['arb_shading_language_include-api'], 'API tests')
2336 # Group ARB_enhanced_layouts
2337 with profile.test_list.group_manager(
2338 PiglitGLTest,
2339 grouptools.join('spec', 'arb_enhanced_layouts')) as g:
2340 g(['arb_enhanced_layouts-explicit-offset-bufferstorage'],
2341 'explicit-offset-bufferstorage')
2342 g(['arb_enhanced_layouts-gs-stream-location-aliasing'],
2343 'gs-stream-location-aliasing')
2344 g(['arb_enhanced_layouts-transform-feedback-layout-qualifiers', 'vs'],
2345 'arb_enhanced_layouts-transform-feedback-layout-qualifiers_vs',
2346 run_concurrent=False)
2347 g(['arb_enhanced_layouts-transform-feedback-layout-qualifiers', 'vs_ifc'],
2348 'arb_enhanced_layouts-transform-feedback-layout-qualifiers_vs_interface',
2349 run_concurrent=False)
2350 g(['arb_enhanced_layouts-transform-feedback-layout-qualifiers', 'vs_named_ifc'],
2351 'arb_enhanced_layouts-transform-feedback-layout-qualifiers_vs_named_interface',
2352 run_concurrent=False)
2353 g(['arb_enhanced_layouts-transform-feedback-layout-qualifiers', 'vs_struct'],
2354 'arb_enhanced_layouts-transform-feedback-layout-qualifiers_vs_struct',
2355 run_concurrent=False)
2356 g(['arb_enhanced_layouts-transform-feedback-layout-qualifiers', 'gs'],
2357 'arb_enhanced_layouts-transform-feedback-layout-qualifiers_gs',
2358 run_concurrent=False)
2359 g(['arb_enhanced_layouts-transform-feedback-layout-qualifiers', 'gs_max'],
2360 'arb_enhanced_layouts-transform-feedback-layout-qualifiers_gs_max',
2361 run_concurrent=False)
2362 g(['arb_enhanced_layouts-transform-feedback-layout-query-api'],
2363 'arb_enhanced_layouts-transform-feedback-layout-query-api')
2365 # Group ARB_explicit_attrib_location
2366 with profile.test_list.group_manager(
2367 PiglitGLTest,
2368 grouptools.join('spec', 'ARB_explicit_attrib_location')) as g:
2369 g(['glsl-explicit-location-01'], run_concurrent=False)
2370 g(['glsl-explicit-location-02'], run_concurrent=False)
2371 g(['glsl-explicit-location-03'], run_concurrent=False)
2372 g(['glsl-explicit-location-04'], run_concurrent=False)
2373 g(['glsl-explicit-location-05'], run_concurrent=False)
2374 for test_type in ('shader', 'api'):
2375 g(['overlapping-locations-input-attribs', test_type],
2376 run_concurrent=False)
2378 with profile.test_list.group_manager(
2379 PiglitGLTest,
2380 grouptools.join('spec', 'ARB_program_interface_query')) as g:
2381 g(['arb_program_interface_query-resource-location'], run_concurrent=False)
2382 g(['arb_program_interface_query-resource-query'], run_concurrent=False)
2383 g(['arb_program_interface_query-getprograminterfaceiv'], run_concurrent=False)
2384 g(['arb_program_interface_query-getprogramresourceindex'], run_concurrent=False)
2385 g(['arb_program_interface_query-getprogramresourcename'], run_concurrent=False)
2386 g(['arb_program_interface_query-getprogramresourceiv'], run_concurrent=False)
2387 g(['arb_program_interface_query-compare-with-shader-subroutine'], run_concurrent=False)
2389 with profile.test_list.group_manager(
2390 PiglitGLTest,
2391 grouptools.join('spec', 'ARB_framebuffer_no_attachments')) as g:
2392 g(['arb_framebuffer_no_attachments-minmax'])
2393 g(['arb_framebuffer_no_attachments-params'])
2394 g(['arb_framebuffer_no_attachments-atomic'])
2395 g(['arb_framebuffer_no_attachments-query'])
2396 g(['arb_framebuffer_no_attachments-roundup-samples'])
2398 # Group ARB_explicit_uniform_location
2399 with profile.test_list.group_manager(
2400 PiglitGLTest,
2401 grouptools.join('spec', 'ARB_explicit_uniform_location')) as g:
2402 g(['arb_explicit_uniform_location-minmax'], run_concurrent=False)
2403 g(['arb_explicit_uniform_location-boundaries'], run_concurrent=False)
2404 g(['arb_explicit_uniform_location-array-elements'], run_concurrent=False)
2405 g(['arb_explicit_uniform_location-inactive-uniform'], run_concurrent=False)
2406 g(['arb_explicit_uniform_location-use-of-unused-loc'],
2407 run_concurrent=False)
2409 with profile.test_list.group_manager(
2410 PiglitGLTest,
2411 grouptools.join('spec', 'ARB_texture_buffer_object')) as g:
2412 g(['arb_texture_buffer_object-bufferstorage'], 'bufferstorage')
2413 g(['arb_texture_buffer_object-data-sync'], 'data-sync')
2414 g(['arb_texture_buffer_object-dlist'], 'dlist')
2415 g(['arb_texture_buffer_object-formats', 'fs', 'core'],
2416 'formats (FS, 3.1 core)')
2417 g(['arb_texture_buffer_object-formats', 'vs', 'core'],
2418 'formats (VS, 3.1 core)')
2419 g(['arb_texture_buffer_object-formats', 'fs', 'arb'], 'formats (FS, ARB)')
2420 g(['arb_texture_buffer_object-formats', 'vs', 'arb'], 'formats (VS, ARB)')
2421 g(['arb_texture_buffer_object-get'], 'get')
2422 g(['arb_texture_buffer_object-fetch-outside-bounds'],
2423 'fetch-outside-bounds')
2424 g(['arb_texture_buffer_object-max-size'], 'max-size')
2425 g(['arb_texture_buffer_object-minmax'], 'minmax')
2426 g(['arb_texture_buffer_object-negative-bad-bo'], 'negative-bad-bo')
2427 g(['arb_texture_buffer_object-negative-bad-format'], 'negative-bad-format')
2428 g(['arb_texture_buffer_object-negative-bad-target'], 'negative-bad-target')
2429 g(['arb_texture_buffer_object-negative-unsupported'],
2430 'negative-unsupported')
2431 g(['arb_texture_buffer_object-subdata-sync'], 'subdata-sync')
2432 g(['arb_texture_buffer_object-unused-name'], 'unused-name')
2433 g(['arb_texture_buffer_object-render-no-bo'], 'render-no-bo')
2434 g(['arb_texture_buffer_object-indexed'], 'indexed')
2435 g(['arb_texture_buffer_object-re-init'], 're-init')
2437 with profile.test_list.group_manager(
2438 PiglitGLTest,
2439 grouptools.join('spec', 'ARB_texture_buffer_range')) as g:
2440 g(['arb_texture_buffer_range-dlist'], 'dlist')
2441 g(['arb_texture_buffer_range-errors'], 'errors')
2442 g(['arb_texture_buffer_range-ranges'], 'ranges')
2443 g(['arb_texture_buffer_range-ranges-2'], 'ranges-2')
2444 g(['arb_texture_buffer_range-ranges-2', '-compat'], 'ranges-2 compat')
2446 with profile.test_list.group_manager(
2447 PiglitGLTest,
2448 grouptools.join('spec', 'ARB_texture_rectangle')) as g:
2449 g(['1-1-linear-texture'])
2450 g(['texrect-many'], run_concurrent=False)
2451 g(['getteximage-targets', 'RECT'])
2452 g(['texrect_simple_arb_texrect'], run_concurrent=False)
2453 g(['arb_texrect-texture-base-level-error'], run_concurrent=False)
2454 g(['fbo-blit', 'rect'], run_concurrent=False)
2455 g(['tex-miplevel-selection', 'GL2:texture()', '2DRect'])
2456 g(['tex-miplevel-selection', 'GL2:texture()', '2DRectShadow'])
2457 g(['tex-miplevel-selection', 'GL2:textureProj', '2DRect'])
2458 g(['tex-miplevel-selection', 'GL2:textureProj', '2DRect_ProjVec4'])
2459 g(['tex-miplevel-selection', 'GL2:textureProj', '2DRectShadow'])
2460 add_msaa_visual_plain_tests(g, ['copyteximage', 'RECT'],
2461 run_concurrent=False)
2462 add_texwrap_target_tests(g, 'RECT')
2464 with profile.test_list.group_manager(
2465 PiglitGLTest, grouptools.join('spec', 'ARB_texture_storage')) as g:
2466 g(['arb_texture_storage-texture-storage'], 'texture-storage',
2467 run_concurrent=False)
2468 g(['arb_texture_storage-texture-storage-attach-before'], 'attach-before',
2469 run_concurrent=False)
2471 with profile.test_list.group_manager(
2472 PiglitGLTest,
2473 grouptools.join('spec', 'ARB_texture_storage_multisample')) as g:
2474 g(['arb_texture_storage_multisample-tex-storage'], 'tex-storage')
2475 g(['arb_texture_storage_multisample-tex-param'], 'tex-param')
2477 with profile.test_list.group_manager(
2478 PiglitGLTest,
2479 grouptools.join('spec', 'ARB_texture_view')) as g:
2480 g(['arb_texture_view-bug-layers-image'], 'bug-layers-image')
2481 g(['arb_texture_view-cubemap-view'], 'cubemap-view')
2482 g(['arb_texture_view-texture-immutable-levels'], 'immutable_levels')
2483 g(['arb_texture_view-max-level'], 'max-level')
2484 g(['arb_texture_view-mipgen'], 'mipgen')
2485 g(['arb_texture_view-params'], 'params')
2486 g(['arb_texture_view-formats'], 'formats')
2487 g(['arb_texture_view-targets'], 'targets')
2488 g(['arb_texture_view-queries'], 'queries')
2489 g(['arb_texture_view-rendering-target'], 'rendering-target')
2490 g(['arb_texture_view-rendering-levels'], 'rendering-levels')
2491 g(['arb_texture_view-rendering-layers'], 'rendering-layers')
2492 g(['arb_texture_view-rendering-layers-image'], 'rendering-layers-image')
2493 g(['arb_texture_view-rendering-formats'], 'rendering-formats')
2494 g(['arb_texture_view-rendering-r32ui'], 'rendering-r32ui')
2495 g(['arb_texture_view-lifetime-format'], 'lifetime-format')
2496 g(['arb_texture_view-getteximage-srgb'], 'getteximage-srgb')
2497 g(['arb_texture_view-texsubimage-levels'], 'texsubimage-levels')
2498 g(['arb_texture_view-texsubimage-levels', 'pbo'], 'texsubimage-levels pbo')
2499 g(['arb_texture_view-texsubimage-layers'], 'texsubimage-layers')
2500 g(['arb_texture_view-texsubimage-layers', 'pbo'], 'texsubimage-layers pbo')
2501 g(['arb_texture_view-clear-into-view-2d'], 'clear-into-view-2d')
2502 g(['arb_texture_view-clear-into-view-2d-array'],
2503 'clear-into-view-2d-array')
2504 g(['arb_texture_view-clear-into-view-layered'], 'clear-into-view-layered')
2505 g(['arb_texture_view-copytexsubimage-layers'], 'copytexsubimage-layers')
2506 g(['arb_texture_view-sampling-2d-array-as-cubemap'],
2507 'sampling-2d-array-as-cubemap')
2508 g(['arb_texture_view-sampling-2d-array-as-cubemap-array'],
2509 'sampling-2d-array-as-cubemap-array')
2510 g(['arb_texture_view-sampling-2d-array-as-2d-layer'],
2511 'sampling-2d-array-as-2d-layer')
2513 with profile.test_list.group_manager(
2514 PiglitGLTest,
2515 grouptools.join('spec', 'OES_texture_view')) as g:
2516 g(['arb_texture_view-rendering-formats_gles3'], 'rendering-formats')
2517 g(['arb_texture_view-rendering-layers_gles3'], 'rendering-layers')
2518 g(['arb_texture_view-rendering-levels_gles3'], 'rendering-levels')
2519 g(['arb_texture_view-rendering-target_gles3'], 'rendering-target')
2520 g(['arb_texture_view-sampling-2d-array-as-cubemap_gles3'],
2521 'sampling-2d-array-as-cubemap')
2522 g(['arb_texture_view-sampling-2d-array-as-cubemap-array_gles3'],
2523 'sampling-2d-array-as-cubemap-array')
2524 g(['arb_texture_view-sampling-2d-array-as-2d-layer_gles3'],
2525 'sampling-2d-array-as-2d-layer')
2526 g(['arb_texture_view-texture-immutable-levels_gles3'], 'immutable_levels')
2527 g(['arb_texture_view-formats_gles3'], 'formats')
2528 g(['arb_texture_view-queries_gles3'], 'queries')
2529 g(['arb_texture_view-targets_gles3'], 'targets')
2530 g(['arb_texture_view-clear-into-view-2d_gles3'], 'clear-into-view-2d')
2531 g(['arb_texture_view-clear-into-view-2d-array_gles3'],
2532 'clear-into-view-2d-array')
2533 g(['arb_texture_view-clear-into-view-layered_gles3'],
2534 'clear-into-view-layered')
2535 g(['arb_texture_view-copytexsubimage-layers_gles3'],
2536 'copytexsubimage-layers')
2537 g(['arb_texture_view-texsubimage-levels_gles3'], 'texsubimage-levels')
2538 g(['arb_texture_view-texsubimage-levels_gles3', 'pbo'],
2539 'texsubimage-levels pbo')
2540 g(['arb_texture_view-texsubimage-layers_gles3'], 'texsubimage-layers')
2541 g(['arb_texture_view-texsubimage-layers_gles3', 'pbo'],
2542 'texsubimage-layers pbo')
2544 with profile.test_list.group_manager(
2545 PiglitGLTest,
2546 grouptools.join('spec', '3DFX_texture_compression_FXT1')) as g:
2547 g(['compressedteximage', 'GL_COMPRESSED_RGB_FXT1_3DFX'])
2548 g(['compressedteximage', 'GL_COMPRESSED_RGBA_FXT1_3DFX'])
2549 g(['fxt1-teximage'], run_concurrent=False)
2550 g(['arb_texture_compression-invalid-formats', 'fxt1'],
2551 'invalid formats')
2552 g(['fbo-generatemipmap-formats', 'GL_3DFX_texture_compression_FXT1'],
2553 'fbo-generatemipmap-formats')
2555 with profile.test_list.group_manager(
2556 PiglitGLTest, grouptools.join('spec', 'arb_clip_control')) as g:
2557 g(['arb_clip_control-clip-control'])
2558 g(['arb_clip_control-depth-precision'])
2559 g(['arb_clip_control-viewport'])
2561 with profile.test_list.group_manager(
2562 PiglitGLTest, grouptools.join('spec', 'arb_color_buffer_float')) as g:
2564 def f(name, format, p1=None, p2=None):
2565 testname = '{}-{}{}{}'.format(
2566 format, name,
2567 '-{}'.format(p1) if p1 else '',
2568 '-{}'.format(p2) if p2 else '')
2569 cmd = ['arb_color_buffer_float-{}'.format(name), format, p1, p2]
2570 g([c for c in cmd if c is not None], testname)
2572 f('mrt', 'mixed')
2573 f('getteximage', 'GL_RGBA8')
2574 f('queries', 'GL_RGBA8')
2575 f('readpixels', 'GL_RGBA8')
2576 f('probepixel', 'GL_RGBA8')
2577 f('drawpixels', 'GL_RGBA8')
2578 f('clear', 'GL_RGBA8')
2579 f('render', 'GL_RGBA8')
2580 f('render', 'GL_RGBA8', 'fog')
2581 f('render', 'GL_RGBA8', 'sanity')
2582 f('render', 'GL_RGBA8', 'sanity', 'fog')
2583 f('queries', 'GL_RGBA8_SNORM')
2584 f('readpixels', 'GL_RGBA8_SNORM')
2585 f('probepixel', 'GL_RGBA8_SNORM')
2586 f('drawpixels', 'GL_RGBA8_SNORM')
2587 f('getteximage', 'GL_RGBA8_SNORM')
2588 f('clear', 'GL_RGBA8_SNORM')
2589 f('render', 'GL_RGBA8_SNORM')
2590 f('render', 'GL_RGBA8_SNORM', 'fog')
2591 f('render', 'GL_RGBA8_SNORM', 'sanity')
2592 f('render', 'GL_RGBA8_SNORM', 'sanity', 'fog')
2593 f('getteximage', 'GL_RGBA16F')
2594 f('queries', 'GL_RGBA16F')
2595 f('readpixels', 'GL_RGBA16F')
2596 f('probepixel', 'GL_RGBA16F')
2597 f('drawpixels', 'GL_RGBA16F')
2598 f('clear', 'GL_RGBA16F')
2599 f('render', 'GL_RGBA16F')
2600 f('render', 'GL_RGBA16F', 'fog')
2601 f('render', 'GL_RGBA16F', 'sanity')
2602 f('render', 'GL_RGBA16F', 'sanity', 'fog')
2603 f('getteximage', 'GL_RGBA32F')
2604 f('queries', 'GL_RGBA32F')
2605 f('readpixels', 'GL_RGBA32F')
2606 f('probepixel', 'GL_RGBA32F')
2607 f('drawpixels', 'GL_RGBA32F')
2608 f('clear', 'GL_RGBA32F')
2609 f('render', 'GL_RGBA32F')
2610 f('render', 'GL_RGBA32F', 'fog')
2611 f('render', 'GL_RGBA32F', 'sanity')
2612 f('render', 'GL_RGBA32F', 'sanity', 'fog')
2614 with profile.test_list.group_manager(
2615 PiglitGLTest, grouptools.join('spec', 'arb_depth_texture')) as g:
2616 g(['depth-level-clamp'], run_concurrent=False)
2617 g(['depth-tex-modes'], run_concurrent=False)
2618 g(['texdepth'], run_concurrent=False)
2619 add_depthstencil_render_miplevels_tests(g, ('d=z24', 'd=z16'))
2620 add_texwrap_format_tests(g, 'GL_ARB_depth_texture')
2621 add_fbo_depth_tests(g, 'GL_DEPTH_COMPONENT16')
2622 add_fbo_depth_tests(g, 'GL_DEPTH_COMPONENT24')
2623 add_fbo_depth_tests(g, 'GL_DEPTH_COMPONENT32')
2624 add_fbo_formats_tests(g, 'GL_ARB_depth_texture')
2626 with profile.test_list.group_manager(
2627 PiglitGLTest, grouptools.join('spec', 'arb_depth_buffer_float')) as g:
2628 g(['fbo-clear-formats', 'GL_ARB_depth_buffer_float', 'stencil'],
2629 'fbo-clear-formats stencil')
2630 add_depthstencil_render_miplevels_tests(
2632 ['d=z32f_s8', 'd=z32f', 'd=z32f_s8_s=z24_s8', 'd=z32f_s=z24_s8',
2633 's=z24_s8_d=z32f_s8', 's=z24_s8_d=z32f', 'd=s=z32f_s8', 's=d=z32f_s8',
2634 'ds=z32f_s8'])
2635 add_fbo_stencil_tests(g, 'GL_DEPTH32F_STENCIL8')
2636 add_texwrap_format_tests(g, 'GL_ARB_depth_buffer_float')
2637 add_fbo_depth_tests(g, 'GL_DEPTH_COMPONENT32F')
2638 add_fbo_depth_tests(g, 'GL_DEPTH32F_STENCIL8')
2639 add_fbo_formats_tests(g, 'GL_ARB_depth_buffer_float')
2640 add_fbo_depthstencil_tests(g, 'GL_DEPTH32F_STENCIL8', 0)
2642 with profile.test_list.group_manager(
2643 PiglitGLTest, grouptools.join('spec', 'arb_get_texture_sub_image')) as g:
2644 g(['arb_get_texture_sub_image-cubemap'])
2645 g(['arb_get_texture_sub_image-errors'])
2646 g(['arb_get_texture_sub_image-get'])
2647 g(['arb_get_texture_sub_image-getcompressed'])
2649 with profile.test_list.group_manager(
2650 PiglitGLTest,
2651 grouptools.join('spec', 'ext_texture_env_combine')) as g:
2652 g(['ext_texture_env_combine-combine'], 'texture-env-combine')
2654 with profile.test_list.group_manager(
2655 PiglitGLTest,
2656 grouptools.join('spec', 'arb_texture_env_crossbar')) as g:
2657 g(['crossbar'], run_concurrent=False)
2659 with profile.test_list.group_manager(
2660 PiglitGLTest, grouptools.join('spec', 'arb_texture_compression')) as g:
2661 g(['arb_texture_compression-internal-format-query'],
2662 'GL_TEXTURE_INTERNAL_FORMAT query')
2663 g(['arb_texture_compression-invalid-formats', 'unknown'],
2664 'unknown formats')
2665 g(['fbo-generatemipmap-formats', 'GL_ARB_texture_compression'],
2666 'fbo-generatemipmap-formats')
2667 add_texwrap_format_tests(g, 'GL_ARB_texture_compression')
2669 with profile.test_list.group_manager(
2670 PiglitGLTest,
2671 grouptools.join('spec', 'arb_texture_compression_bptc')) as g:
2672 g(['arb_texture_compression-invalid-formats', 'bptc'], 'invalid formats')
2673 g(['bptc-modes'])
2674 g(['bptc-float-modes'])
2675 g(['compressedteximage', 'GL_COMPRESSED_RGBA_BPTC_UNORM'])
2676 g(['compressedteximage', 'GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM'])
2677 g(['compressedteximage', 'GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT'])
2678 g(['compressedteximage', 'GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT'])
2679 g(['fbo-generatemipmap-formats', 'GL_ARB_texture_compression_bptc-unorm'],
2680 'fbo-generatemipmap-formats unorm')
2681 g(['fbo-generatemipmap-formats', 'GL_ARB_texture_compression_bptc-float'],
2682 'fbo-generatemipmap-formats float')
2683 add_texwrap_format_tests(g, 'GL_ARB_texture_compression_bptc')
2685 with profile.test_list.group_manager(
2686 PiglitGLTest,
2687 grouptools.join('spec', 'ext_texture_compression_bptc')) as g:
2688 g(['bptc-api_gles2'])
2690 with profile.test_list.group_manager(
2691 PiglitGLTest,
2692 grouptools.join('spec', 'ext_vertex_array_bgra')) as g:
2693 g(['bgra-sec-color-pointer'], run_concurrent=False)
2694 g(['bgra-vert-attrib-pointer'], run_concurrent=False)
2696 with profile.test_list.group_manager(
2697 PiglitGLTest,
2698 grouptools.join('spec', 'apple_vertex_array_object')) as g:
2699 g(['vao-01'], run_concurrent=False)
2700 g(['vao-02'], run_concurrent=False)
2701 g(['arb_vertex_array-isvertexarray', 'apple'], 'isvertexarray')
2703 with profile.test_list.group_manager(
2704 PiglitGLTest,
2705 grouptools.join('spec', 'arb_vertex_array_bgra')) as g:
2706 g(['arb_vertex_array_bgra-api-errors'], 'api-errors', run_concurrent=False)
2707 g(['arb_vertex_array_bgra-get'], 'get', run_concurrent=False)
2709 with profile.test_list.group_manager(
2710 PiglitGLTest,
2711 grouptools.join('spec', 'arb_vertex_array_object')) as g:
2712 g(['vao-element-array-buffer'])
2713 g(['arb_vertex_array-delete-object-0'], 'delete-object-0')
2714 g(['arb_vertex_array-isvertexarray'], 'isvertexarray')
2716 with profile.test_list.group_manager(
2717 PiglitGLTest,
2718 grouptools.join('spec', 'arb_vertex_buffer_object')) as g:
2719 g(['arb_vertex_buffer_object-combined-vertex-index'],
2720 'combined-vertex-index')
2721 g(['arb_vertex_buffer_object-elements-negative-offset'],
2722 'elements-negative-offset')
2723 g(['arb_vertex_buffer_object-mixed-immediate-and-vbo'],
2724 'mixed-immediate-and-vbo')
2725 g(['arb_vertex_buffer_object-delete-mapped-buffer'])
2726 g(['arb_vertex_buffer_object-map-after-draw'])
2727 g(['arb_vertex_buffer_object-map-empty'])
2728 g(['arb_vertex_buffer_object-ib-data-sync'], 'ib-data-sync')
2729 g(['arb_vertex_buffer_object-ib-subdata-sync'], 'ib-subdata-sync')
2730 g(['pos-array'])
2731 g(['vbo-bufferdata'])
2732 g(['vbo-map-remap'])
2733 g(['vbo-map-unsync'])
2734 g(['arb_vertex_buffer_object-vbo-subdata-many', 'drawarrays'],
2735 'vbo-subdata-many drawarrays')
2736 g(['arb_vertex_buffer_object-vbo-subdata-many', 'drawelements'],
2737 'vbo-subdata-many drawelements')
2738 g(['arb_vertex_buffer_object-vbo-subdata-many', 'drawrangeelements'],
2739 'vbo-subdata-many drawrangeelements')
2740 g(['vbo-subdata-sync'])
2741 g(['vbo-subdata-zero'])
2743 with profile.test_list.group_manager(
2744 PiglitGLTest,
2745 grouptools.join('spec', 'arb_vertex_program')) as g:
2746 g(['arb_vertex_program-getenv4d-with-error'], 'getenv4d-with-error',
2747 run_concurrent=False)
2748 g(['arb_vertex_program-getlocal4d-with-error'], 'getlocal4d-with-error',
2749 run_concurrent=False)
2750 g(['arb_vertex_program-getlocal4f-max'], 'getlocal4f-max')
2751 g(['arb_vertex_program-getlocal4-errors'], 'getlocal4-errors')
2752 g(['clip-plane-transformation', 'arb'],
2753 'clip-plane-transformation arb')
2754 g(['arb_vertex_program-matrix-property-bindings'])
2755 g(['arb_vertex_program-minmax'], 'minmax')
2756 g(['arb_vertex_program-property-bindings'])
2757 g(['arb_vertex_program-unused-attributes'])
2758 g(['arb_vertex_program-get-limits-without-fp'], run_concurrent=False)
2759 g(['vp-address-01'], run_concurrent=False)
2760 g(['vp-address-02'], run_concurrent=False)
2761 g(['vp-address-04'], run_concurrent=False)
2762 g(['vp-bad-program'], run_concurrent=False)
2763 g(['vp-max-array'], run_concurrent=False)
2765 with profile.test_list.group_manager(
2766 PiglitGLTest,
2767 grouptools.join('spec', 'arb_viewport_array')) as g:
2768 g(['arb_viewport_array-viewport-indices'], 'viewport-indices')
2769 g(['arb_viewport_array-depthrange-indices'], 'depthrange-indices')
2770 g(['arb_viewport_array-dlist'], 'display-list')
2771 g(['arb_viewport_array-scissor-check'], 'scissor-check')
2772 g(['arb_viewport_array-scissor-indices'], 'scissor-indices')
2773 g(['arb_viewport_array-bounds'], 'bounds')
2774 g(['arb_viewport_array-queries'], 'queries')
2775 g(['arb_viewport_array-minmax'], 'minmax')
2776 g(['arb_viewport_array-render-viewport'], 'render-viewport')
2777 g(['arb_viewport_array-render-viewport-2'], 'render-viewport-2')
2778 g(['arb_viewport_array-render-depthrange'], 'render-depthrange')
2779 g(['arb_viewport_array-render-scissor'], 'render-scissor')
2780 g(['arb_viewport_array-clear'], 'clear')
2782 with profile.test_list.group_manager(
2783 PiglitGLTest,
2784 grouptools.join('spec', 'oes_viewport_array')) as g:
2785 g(['arb_viewport_array-viewport-indices_gles3'], 'viewport-indices')
2786 g(['arb_viewport_array-depthrange-indices_gles3'], 'depthrange-indices')
2787 g(['arb_viewport_array-scissor-check_gles3'], 'scissor-check')
2788 g(['arb_viewport_array-scissor-indices_gles3'], 'scissor-indices')
2789 g(['arb_viewport_array-bounds_gles3'], 'bounds')
2790 g(['arb_viewport_array-queries_gles3'], 'queries')
2791 g(['arb_viewport_array-minmax_gles3'], 'minmax')
2792 g(['arb_viewport_array-render-viewport_gles3'], 'render-viewport')
2793 g(['arb_viewport_array-render-viewport-2_gles3'], 'render-viewport-2')
2794 g(['arb_viewport_array-render-depthrange_gles3'], 'render-depthrange')
2795 g(['arb_viewport_array-render-scissor_gles3'], 'render-scissor')
2796 g(['arb_viewport_array-clear_gles3'], 'clear')
2798 with profile.test_list.group_manager(
2799 PiglitGLTest,
2800 grouptools.join('spec', 'nv_vertex_program2_option')) as g:
2801 g(['vp-address-03'], run_concurrent=False)
2802 g(['vp-address-05'], run_concurrent=False)
2803 g(['vp-address-06'], run_concurrent=False)
2804 g(['vp-clipdistance-01'], run_concurrent=False)
2805 g(['vp-clipdistance-02'], run_concurrent=False)
2806 g(['vp-clipdistance-03'], run_concurrent=False)
2807 g(['vp-clipdistance-04'], run_concurrent=False)
2809 with profile.test_list.group_manager(
2810 PiglitGLTest, grouptools.join('spec', 'ext_framebuffer_blit')) as g:
2811 g(['fbo-blit'], run_concurrent=False)
2812 g(['fbo-copypix'], run_concurrent=False)
2813 g(['fbo-readdrawpix'], run_concurrent=False)
2814 g(['fbo-sys-blit'], run_concurrent=False)
2815 g(['fbo-sys-sub-blit'], run_concurrent=False)
2816 g(['fbo-blit-check-limits'], run_concurrent=False)
2817 g(['fbo-generatemipmap-versus-READ_FRAMEBUFFER'])
2819 with profile.test_list.group_manager(
2820 PiglitGLTest,
2821 grouptools.join('spec',
2822 'ext_framebuffer_multisample_blit_scaled')) as g:
2823 g(['ext_framebuffer_multisample_blit_scaled-negative-blit-scaled'],
2824 'negative-blit-scaled')
2826 for sample_count in MSAA_SAMPLE_COUNTS:
2827 g(['ext_framebuffer_multisample_blit_scaled-blit-scaled',
2828 sample_count],
2829 'blit-scaled samples={}'.format(sample_count))
2831 for sample_count in MSAA_SAMPLE_COUNTS:
2832 g(['ext_framebuffer_multisample_blit_scaled-blit-scaled',
2833 sample_count, 'array'],
2834 'blit-scaled samples={} with GL_TEXTURE_2D_MULTISAMPLE_ARRAY'.format(sample_count))
2836 with profile.test_list.group_manager(
2837 PiglitGLTest,
2838 grouptools.join('spec', 'ext_framebuffer_multisample')) as g:
2839 g(['ext_framebuffer_multisample-blit-mismatched-samples'],
2840 'blit-mismatched-samples')
2841 g(['ext_framebuffer_multisample-blit-mismatched-sizes'],
2842 'blit-mismatched-sizes')
2843 g(['ext_framebuffer_multisample-blit-mismatched-formats'],
2844 'blit-mismatched-formats')
2845 g(['ext_framebuffer_multisample-dlist'], 'dlist')
2846 g(['ext_framebuffer_multisample-enable-flag'], 'enable-flag')
2847 g(['ext_framebuffer_multisample-minmax'], 'minmax')
2848 g(['ext_framebuffer_multisample-negative-copypixels'],
2849 'negative-copypixels')
2850 g(['ext_framebuffer_multisample-negative-copyteximage'],
2851 'negative-copyteximage')
2852 g(['ext_framebuffer_multisample-negative-max-samples'],
2853 'negative-max-samples')
2854 g(['ext_framebuffer_multisample-negative-mismatched-samples'],
2855 'negative-mismatched-samples')
2856 g(['ext_framebuffer_multisample-negative-readpixels'],
2857 'negative-readpixels')
2858 g(['ext_framebuffer_multisample-renderbufferstorage-samples'],
2859 'renderbufferstorage-samples')
2860 g(['ext_framebuffer_multisample-renderbuffer-samples'],
2861 'renderbuffer-samples')
2862 g(['ext_framebuffer_multisample-samples'], 'samples')
2863 g(['ext_framebuffer_multisample-alpha-blending'], 'alpha-blending')
2864 g(['ext_framebuffer_multisample-alpha-blending', 'slow_cc'],
2865 'alpha-blending slow_cc')
2866 g(['ext_framebuffer_multisample-fast-clear'], 'fast-clear')
2868 for sample_count in MSAA_SAMPLE_COUNTS:
2869 g(['ext_framebuffer_multisample-alpha-blending-after-rendering',
2870 sample_count],
2871 'alpha-blending-after-rendering {}'.format(sample_count))
2873 for num_samples in ['all_samples'] + MSAA_SAMPLE_COUNTS:
2874 g(['ext_framebuffer_multisample-formats', num_samples],
2875 'formats {}'.format(num_samples))
2877 for test_type in ('color', 'srgb', 'stencil_draw', 'stencil_resolve',
2878 'depth_draw', 'depth_resolve'):
2879 sensible_options = ['small', 'depthstencil']
2880 if test_type in ('color', 'srgb'):
2881 sensible_options.append('linear')
2882 for options in power_set(sensible_options):
2883 g(['ext_framebuffer_multisample-accuracy', num_samples,
2884 test_type] + options,
2885 ' '.join(['accuracy', num_samples, test_type] + options))
2887 # Note: the interpolation tests also check for sensible behaviour with
2888 # non-multisampled framebuffers, so go ahead and test them with
2889 # num_samples==0 as well.
2890 for num_samples in ['0'] + MSAA_SAMPLE_COUNTS:
2891 g(['ext_framebuffer_multisample-blit-multiple-render-targets',
2892 num_samples],
2893 'blit-multiple-render-targets {}'.format(num_samples))
2895 for test_type in ('non-centroid-disabled', 'centroid-disabled',
2896 'centroid-edges', 'non-centroid-deriv',
2897 'non-centroid-deriv-disabled', 'centroid-deriv',
2898 'centroid-deriv-disabled'):
2899 g(['ext_framebuffer_multisample-interpolation', num_samples,
2900 test_type],
2901 'interpolation {} {}'.format(num_samples, test_type))
2903 for sample_count in MSAA_SAMPLE_COUNTS:
2904 g(['ext_framebuffer_multisample-turn-on-off', sample_count],
2905 'turn-on-off {}'.format(sample_count), run_concurrent=False)
2907 for buffer_type in ('color', 'depth', 'stencil'):
2908 if buffer_type == 'color':
2909 sensible_options = ['linear']
2910 else:
2911 sensible_options = []
2913 for options in power_set(sensible_options):
2914 g(['ext_framebuffer_multisample-upsample', sample_count,
2915 buffer_type] + options,
2916 'upsample {} {}'.format(
2917 sample_count, ' '.join([buffer_type] + options)))
2918 g(['ext_framebuffer_multisample-multisample-blit',
2919 sample_count, buffer_type] + options,
2920 'multisample-blit {}'.format(
2921 ' '.join([sample_count, buffer_type] + options)))
2923 for blit_type in ('msaa', 'upsample', 'downsample'):
2924 g(['ext_framebuffer_multisample-unaligned-blit',
2925 sample_count, buffer_type, blit_type],
2926 'unaligned-blit {} {} {}'.format(
2927 sample_count, buffer_type, blit_type))
2929 for test_mode in ('inverted', 'non-inverted'):
2930 g(['ext_framebuffer_multisample-sample-coverage', sample_count,
2931 test_mode],
2932 'sample-coverage {} {}'.format(sample_count, test_mode))
2934 for buffer_type in ('color', 'depth'):
2935 g(['ext_framebuffer_multisample-sample-alpha-to-coverage',
2936 sample_count, buffer_type],
2937 'sample-alpha-to-coverage {} {}'.format(
2938 sample_count, buffer_type))
2940 for test in ['line-smooth', 'point-smooth', 'polygon-smooth',
2941 'sample-alpha-to-one',
2942 'draw-buffers-alpha-to-one',
2943 'draw-buffers-alpha-to-coverage',
2944 'alpha-to-coverage-dual-src-blend',
2945 'alpha-to-coverage-no-draw-buffer-zero',
2946 'alpha-to-coverage-no-draw-buffer-zero-write',
2947 'alpha-to-one-dual-src-blend',
2948 'int-draw-buffers-alpha-to-one',
2949 'int-draw-buffers-alpha-to-coverage',
2950 'alpha-to-one-msaa-disabled',
2951 'alpha-to-one-single-sample-buffer',
2952 'bitmap', 'polygon-stipple']:
2953 g(['ext_framebuffer_multisample-{}'.format(test),
2954 sample_count],
2955 '{} {}'.format(test, sample_count))
2957 for blit_type in ('msaa', 'upsample', 'downsample', 'normal'):
2958 g(['ext_framebuffer_multisample-clip-and-scissor-blit',
2959 sample_count, blit_type],
2960 'clip-and-scissor-blit {} {}'.format(sample_count, blit_type))
2962 for flip_direction in ('x', 'y'):
2963 g(['ext_framebuffer_multisample-blit-flipped', sample_count,
2964 flip_direction],
2965 'blit-flipped {} {}'.format(sample_count, flip_direction))
2967 for buffer_type in ('color', 'depth', 'stencil'):
2968 g(['ext_framebuffer_multisample-clear', sample_count, buffer_type],
2969 'clear {} {}'.format(sample_count, buffer_type))
2971 for test_type in ('depth', 'depth-computed', 'stencil'):
2972 for buffer_config in ('combined', 'separate', 'single'):
2973 g(['ext_framebuffer_multisample-no-color', sample_count,
2974 test_type, buffer_config],
2975 'no-color {} {} {}'.format(
2976 sample_count, test_type, buffer_config))
2978 with profile.test_list.group_manager(
2979 PiglitGLTest,
2980 grouptools.join('spec', 'amd_framebuffer_multisample_advanced')) as g:
2981 g(['amd_framebuffer_multisample_advanced-api'], 'api-glcore')
2982 g(['amd_framebuffer_multisample_advanced-api-gles'], 'api-gles3')
2984 with profile.test_list.group_manager(
2985 PiglitGLTest,
2986 grouptools.join('spec', 'ext_framebuffer_object')) as g:
2987 g(['fbo-generatemipmap-noimage'])
2988 g(['fbo-1d'])
2989 g(['fbo-3d'])
2990 g(['fbo-alphatest-formats'])
2991 g(['fbo-alphatest-nocolor'])
2992 g(['fbo-alphatest-nocolor-ff'])
2993 g(['fbo-blending-formats'])
2994 g(['fbo-blending-format-quirks'])
2995 g(['fbo-blending-snorm'])
2996 g(['fbo-bind-renderbuffer'])
2997 g(['fbo-clearmipmap'])
2998 g(['fbo-clear-formats'])
2999 g(['fbo-colormask-formats'])
3000 g(['fbo-copyteximage'])
3001 g(['fbo-copyteximage-simple'])
3002 g(['fbo-cubemap'])
3003 g(['fbo-depthtex'])
3004 g(['fbo-depth-sample-compare'])
3005 g(['fbo-drawbuffers'])
3006 g(['fbo-drawbuffers', 'masked-clear'])
3007 g(['fbo-drawbuffers-arbfp'])
3008 g(['fbo-drawbuffers-blend-add'])
3009 g(['fbo-drawbuffers-fragcolor'])
3010 g(['fbo-drawbuffers-maxtargets'])
3011 g(['ext_framebuffer_object-error-handling'])
3012 g(['fbo-finish-deleted'])
3013 g(['fbo-flushing'])
3014 g(['fbo-flushing-2'])
3015 g(['fbo-fragcoord'])
3016 g(['fbo-fragcoord2'])
3017 g(['fbo-generatemipmap'])
3018 g(['fbo-generatemipmap-filtering'])
3019 g(['fbo-generatemipmap-formats'])
3020 g(['fbo-generatemipmap-scissor'])
3021 g(['fbo-generatemipmap-swizzle'])
3022 g(['fbo-generatemipmap-nonsquare'])
3023 g(['fbo-generatemipmap-npot'])
3024 g(['fbo-generatemipmap-viewport'])
3025 g(['fbo-maxsize'])
3026 g(['ext_framebuffer_object-mipmap'])
3027 g(['fbo-nodepth-test'])
3028 g(['fbo-nostencil-test'])
3029 g(['fbo-readpixels'])
3030 g(['fbo-readpixels-depth-formats'])
3031 g(['fbo-scissor-bitmap'])
3032 g(['fbo-storage-completeness'])
3033 g(['fbo-storage-formats'])
3034 g(['getteximage-formats', 'init-by-rendering'])
3035 g(['getteximage-formats', 'init-by-clear-and-render'])
3036 g(['ext_framebuffer_multisample-fast-clear', 'single-sample'],
3037 'fbo-fast-clear')
3038 g(['ext_framebuffer_object-border-texture-finish'])
3039 add_fbo_stencil_tests(g, 'GL_STENCIL_INDEX1')
3040 add_fbo_stencil_tests(g, 'GL_STENCIL_INDEX4')
3041 add_fbo_stencil_tests(g, 'GL_STENCIL_INDEX8')
3042 add_fbo_stencil_tests(g, 'GL_STENCIL_INDEX16')
3045 with profile.test_list.group_manager(
3046 PiglitGLTest,
3047 grouptools.join('spec', 'ext_gpu_shader4')) as g:
3048 g(['gl-3.1-mixed-int-float-fbo', 'ext_gpu_shader4'], 'bindfragdatalocation mixed-int-float-fbo')
3049 g(['gl-3.1-mixed-int-float-fbo', 'ext_gpu_shader4', 'int_second'], 'bindfragdatalocation mixed-int-float-fbo int_second')
3051 with profile.test_list.group_manager(
3052 PiglitGLTest, grouptools.join('spec', 'ext_image_dma_buf_import')) as \
3054 g(['ext_image_dma_buf_import-invalid_hints'], run_concurrent=False)
3055 g(['ext_image_dma_buf_import-invalid_attributes'], run_concurrent=False)
3056 g(['ext_image_dma_buf_import-missing_attributes'], run_concurrent=False)
3057 g(['ext_image_dma_buf_import-ownership_transfer'], run_concurrent=False)
3058 g(['ext_image_dma_buf_import-unsupported_format'], run_concurrent=False)
3059 g(['ext_image_dma_buf_import-intel_external_sampler_only'],
3060 run_concurrent=False)
3061 g(['ext_image_dma_buf_import-refcount'])
3062 g(['ext_image_dma_buf_import-sample_rgb', '-fmt=AR24'],
3063 'ext_image_dma_buf_import-sample_argb8888', run_concurrent=False)
3064 g(['ext_image_dma_buf_import-sample_rgb', '-fmt=XR24', '-alpha-one'],
3065 'ext_image_dma_buf_import-sample_xrgb8888', run_concurrent=False)
3066 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=NV12'],
3067 'ext_image_dma_buf_import-sample_nv12', run_concurrent=False)
3068 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=YU12'],
3069 'ext_image_dma_buf_import-sample_yuv420', run_concurrent=False)
3070 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=YV12'],
3071 'ext_image_dma_buf_import-sample_yvu420', run_concurrent=False)
3072 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=AYUV'],
3073 'ext_image_dma_buf_import-sample_ayuv', run_concurrent=False)
3074 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=XYUV'],
3075 'ext_image_dma_buf_import-sample_xyuv', run_concurrent=False)
3076 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=P010'],
3077 'ext_image_dma_buf_import-sample_p010', run_concurrent=False)
3078 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=P012'],
3079 'ext_image_dma_buf_import-sample_p012', run_concurrent=False)
3080 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=P016'],
3081 'ext_image_dma_buf_import-sample_p016', run_concurrent=False)
3082 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=YUYV'],
3083 'ext_image_dma_buf_import-sample_yuyv', run_concurrent=False)
3084 g(['ext_image_dma_buf_import-sample_yuv', '-fmt=UYVY'],
3085 'ext_image_dma_buf_import-sample_uyvy', run_concurrent=False)
3086 g(['ext_image_dma_buf_import-transcode-nv12-as-r8-gr88'],
3087 'ext_image_dma_buf_import-transcode-nv12-as-r8-gr88',
3088 run_concurrent=False)
3089 g(['ext_image_dma_buf_import-export'], run_concurrent=False)
3091 with profile.test_list.group_manager(
3092 PiglitGLTest,
3093 grouptools.join('spec', 'ext_packed_depth_stencil')) as g:
3094 g(['fbo-blit-d24s8'], run_concurrent=False)
3095 g(['fbo-clear-formats', 'GL_EXT_packed_depth_stencil', 'stencil'],
3096 'fbo-clear-formats stencil')
3097 g(['ext_packed_depth_stencil-depth-stencil-texture'],
3098 'DEPTH_STENCIL texture')
3099 g(['ext_packed_depth_stencil-errors'], 'errors')
3100 g(['ext_packed_depth_stencil-getteximage'], 'getteximage')
3101 g(['ext_packed_depth_stencil-readdrawpixels'], 'readdrawpixels')
3102 g(['ext_packed_depth_stencil-texsubimage'], 'texsubimage')
3103 g(['ext_packed_depth_stencil-readpixels-24_8'], 'readpixels-24_8',
3104 run_concurrent=False)
3105 add_depthstencil_render_miplevels_tests(
3107 ['s=z24_s8', 'd=z24_s8', 'd=z24_s8_s=z24_s8', 'd=z24_s=z24_s8',
3108 's=z24_s8_d=z24_s8', 's=z24_s8_d=z24', 'd=s=z24_s8', 's=d=z24_s8',
3109 'ds=z24_s8'])
3110 add_fbo_stencil_tests(g, 'GL_DEPTH24_STENCIL8')
3111 add_texwrap_format_tests(g, 'GL_EXT_packed_depth_stencil')
3112 add_fbo_depth_tests(g, 'GL_DEPTH24_STENCIL8')
3113 add_fbo_formats_tests(g, 'GL_EXT_packed_depth_stencil')
3114 add_fbo_depthstencil_tests(g, 'GL_DEPTH24_STENCIL8', 0)
3116 with profile.test_list.group_manager(
3117 PiglitGLTest,
3118 grouptools.join('spec', 'oes_packed_depth_stencil')) as g:
3119 g(['oes_packed_depth_stencil-depth-stencil-texture_gles2'],
3120 'DEPTH_STENCIL texture GLES2')
3121 g(['oes_packed_depth_stencil-depth-stencil-texture_gles1'],
3122 'DEPTH_STENCIL texture GLES1')
3124 with profile.test_list.group_manager(
3125 PiglitGLTest,
3126 grouptools.join('spec', 'oes_required_internalformat')) as g:
3127 g(['oes_required_internalformat-renderbuffer'], 'renderbuffer')
3129 with profile.test_list.group_manager(
3130 PiglitGLTest,
3131 grouptools.join('spec', 'ext_occlusion_query_boolean')) as g:
3132 g(['ext_occlusion_query_boolean-any-samples'], 'any-samples')
3134 with profile.test_list.group_manager(
3135 PiglitGLTest,
3136 grouptools.join('spec', 'ext_disjoint_timer_query')) as g:
3137 g(['ext_disjoint_timer_query-simple'], 'simple')
3139 with profile.test_list.group_manager(
3140 PiglitGLTest,
3141 grouptools.join('spec', 'ext_texture_norm16')) as g:
3142 g(['ext_texture_norm16-render'], 'render')
3144 with profile.test_list.group_manager(
3145 PiglitGLTest,
3146 grouptools.join('spec', 'ext_render_snorm')) as g:
3147 g(['ext_render_snorm-render'], 'render')
3149 with profile.test_list.group_manager(
3150 PiglitGLTest,
3151 grouptools.join('spec', 'ext_frag_depth')) as g:
3152 g(['fragdepth_gles2'])
3154 with profile.test_list.group_manager(
3155 PiglitGLTest,
3156 grouptools.join('spec', 'ext_texture_array')) as g:
3157 g(['fbo-generatemipmap-array'])
3158 g(['fbo-generatemipmap-array', 'RGB9_E5'])
3159 g(['fbo-generatemipmap-array', 'S3TC_DXT1'])
3160 g(['ext_texture_array-maxlayers'], 'maxlayers')
3161 g(['ext_texture_array-gen-mipmap'], 'gen-mipmap')
3162 g(['fbo-array'], run_concurrent=False)
3163 g(['array-texture'], run_concurrent=False)
3164 g(['ext_texture_array-errors'])
3165 g(['getteximage-targets', '1D_ARRAY'])
3166 g(['getteximage-targets', '2D_ARRAY'])
3167 g(['texsubimage', 'array'])
3168 add_msaa_visual_plain_tests(g, ['copyteximage', '1D_ARRAY'],
3169 run_concurrent=False)
3170 add_msaa_visual_plain_tests(g, ['copyteximage', '2D_ARRAY'],
3171 run_concurrent=False)
3172 for test in ('depth-clear', 'depth-layered-clear', 'depth-draw',
3173 'fs-writes-depth', 'stencil-clear', 'stencil-layered-clear',
3174 'stencil-draw', 'fs-writes-stencil'):
3175 g(['fbo-depth-array', test])
3176 for test_mode in ['teximage', 'texsubimage']:
3177 g(['ext_texture_array-compressed', test_mode, '-fbo'],
3178 'compressed {0}'.format(test_mode),
3179 run_concurrent=False)
3180 g(['ext_texture_array-compressed', test_mode, 'pbo', '-fbo'],
3181 'compressed {0} pbo'.format(test_mode),
3182 run_concurrent=False)
3184 with profile.test_list.group_manager(
3185 PiglitGLTest,
3186 grouptools.join('spec', 'arb_texture_cube_map')) as g:
3187 g(['arb_texture_cube_map-unusual-order'], run_concurrent=False)
3188 g(['cubemap'], run_concurrent=False)
3189 g(['cubemap-getteximage-pbo'])
3190 g(['cubemap-mismatch'], run_concurrent=False)
3191 g(['cubemap', 'npot'], 'cubemap npot', run_concurrent=False)
3192 g(['cubemap-shader'], run_concurrent=False)
3193 g(['cubemap-shader', 'lod'], 'cubemap-shader lod', run_concurrent=False)
3194 g(['cubemap-shader', 'bias'], 'cubemap-shader bias', run_concurrent=False)
3195 g(['getteximage-targets', 'CUBE'])
3196 add_msaa_visual_plain_tests(g, ['copyteximage', 'CUBE'],
3197 run_concurrent=False)
3199 with profile.test_list.group_manager(
3200 PiglitGLTest,
3201 grouptools.join('spec', 'arb_texture_cube_map_array')) as g:
3202 g(['arb_texture_cube_map_array-get'], run_concurrent=False)
3203 g(['arb_texture_cube_map_array-teximage3d-invalid-values'],
3204 run_concurrent=False)
3205 g(['arb_texture_cube_map_array-cubemap'], run_concurrent=False)
3206 g(['arb_texture_cube_map_array-cubemap-lod'], run_concurrent=False)
3207 g(['arb_texture_cube_map_array-fbo-cubemap-array'], run_concurrent=False)
3208 g(['arb_texture_cube_map_array-sampler-cube-array-shadow'],
3209 run_concurrent=False)
3210 g(['getteximage-targets', 'CUBE_ARRAY'])
3211 g(['glsl-resource-not-bound', 'CubeArray'])
3212 g(['fbo-generatemipmap-cubemap', 'array'])
3213 g(['fbo-generatemipmap-cubemap', 'array', 'RGB9_E5'])
3214 g(['fbo-generatemipmap-cubemap', 'array', 'S3TC_DXT1'])
3215 g(['texsubimage', 'cube_map_array'])
3217 for stage in ['vs', 'gs', 'fs', 'tes']:
3218 # textureSize():
3219 for sampler in['samplerCubeArray', 'isamplerCubeArray',
3220 'usamplerCubeArray', 'samplerCubeArrayShadow']:
3221 g(['textureSize', stage, sampler],
3222 grouptools.join('textureSize', '{}-textureSize-{}'.format(
3223 stage, sampler)))
3225 with profile.test_list.group_manager(
3226 PiglitGLTest,
3227 grouptools.join('spec', 'ext_texture_swizzle')) as g:
3228 g(['ext_texture_swizzle-api'])
3229 g(['ext_texture_swizzle-swizzle'])
3230 g(['depth_texture_mode_and_swizzle'], 'depth_texture_mode_and_swizzle')
3232 with profile.test_list.group_manager(
3233 PiglitGLTest,
3234 grouptools.join('spec', 'ext_texture_compression_latc')) as g:
3235 g(['arb_texture_compression-invalid-formats', 'latc'], 'invalid formats')
3236 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_compression_latc'],
3237 'fbo-generatemipmap-formats')
3238 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_compression_latc-signed'],
3239 'fbo-generatemipmap-formats-signed')
3240 add_texwrap_format_tests(g, 'GL_EXT_texture_compression_latc')
3242 with profile.test_list.group_manager(
3243 PiglitGLTest,
3244 grouptools.join('spec', 'ext_texture_compression_rgtc')) as g:
3245 g(['compressedteximage', 'GL_COMPRESSED_RED_RGTC1_EXT'])
3246 g(['compressedteximage', 'GL_COMPRESSED_RED_GREEN_RGTC2_EXT'])
3247 g(['compressedteximage', 'GL_COMPRESSED_SIGNED_RED_RGTC1_EXT'])
3248 g(['compressedteximage', 'GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT'])
3249 g(['arb_texture_compression-invalid-formats', 'rgtc'], 'invalid formats')
3250 g(['rgtc-teximage-01'], run_concurrent=False)
3251 g(['rgtc-teximage-02'], run_concurrent=False)
3252 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_compression_rgtc'],
3253 'fbo-generatemipmap-formats')
3254 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_compression_rgtc-signed'],
3255 'fbo-generatemipmap-formats-signed')
3256 add_texwrap_format_tests(g, 'GL_EXT_texture_compression_rgtc')
3257 g(['rgtc-api_gles2'])
3259 with profile.test_list.group_manager(
3260 PiglitGLTest,
3261 grouptools.join('spec', 'ext_texture_compression_s3tc')) as g:
3262 g(['compressedteximage', 'GL_COMPRESSED_RGB_S3TC_DXT1_EXT'])
3263 g(['compressedteximage', 'GL_COMPRESSED_RGBA_S3TC_DXT1_EXT'])
3264 g(['compressedteximage', 'GL_COMPRESSED_RGBA_S3TC_DXT3_EXT'])
3265 g(['compressedteximage', 'GL_COMPRESSED_RGBA_S3TC_DXT5_EXT'])
3266 g(['arb_texture_compression-invalid-formats', 's3tc'], 'invalid formats')
3267 g(['gen-compressed-teximage'], run_concurrent=False)
3268 g(['s3tc-errors'])
3269 g(['s3tc-errors_gles2'])
3270 g(['s3tc-targeted'])
3271 g(['s3tc-teximage'], run_concurrent=False)
3272 g(['s3tc-teximage_gles2'], run_concurrent=False)
3273 g(['s3tc-texsubimage'], run_concurrent=False)
3274 g(['s3tc-texsubimage_gles2'], run_concurrent=False)
3275 g(['getteximage-targets', '2D', 'S3TC'])
3276 g(['getteximage-targets', '2D_ARRAY', 'S3TC'])
3277 g(['getteximage-targets', 'CUBE', 'S3TC'])
3278 g(['getteximage-targets', 'CUBE_ARRAY', 'S3TC'])
3279 g(['compressedteximage', 'GL_COMPRESSED_SRGB_S3TC_DXT1_EXT'])
3280 g(['compressedteximage', 'GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT'])
3281 g(['compressedteximage', 'GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT'])
3282 g(['compressedteximage', 'GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT'])
3283 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_compression_s3tc'],
3284 'fbo-generatemipmap-formats')
3285 add_texwrap_format_tests(g, 'GL_EXT_texture_compression_s3tc')
3287 with profile.test_list.group_manager(
3288 PiglitGLTest,
3289 grouptools.join('spec', 'ati_texture_compression_3dc')) as g:
3290 g(['arb_texture_compression-invalid-formats', '3dc'], 'invalid formats')
3291 g(['fbo-generatemipmap-formats', 'GL_ATI_texture_compression_3dc'],
3292 'fbo-generatemipmap-formats')
3293 add_texwrap_format_tests(g, 'GL_ATI_texture_compression_3dc')
3295 with profile.test_list.group_manager(
3296 PiglitGLTest,
3297 grouptools.join('spec', 'ext_packed_float')) as g:
3298 g(['ext_packed_float-pack'], 'pack')
3299 g(['query-rgba-signed-components'], 'query-rgba-signed-components')
3300 g(['getteximage-invalid-format-for-packed-type'],
3301 'getteximage-invalid-format-for-packed-type')
3302 add_msaa_formats_tests(g, 'GL_EXT_packed_float')
3303 add_texwrap_format_tests(g, 'GL_EXT_packed_float')
3304 add_fbo_formats_tests(g, 'GL_EXT_packed_float')
3306 with profile.test_list.group_manager(
3307 PiglitGLTest,
3308 grouptools.join('spec', 'arb_texture_float')) as g:
3309 g(['arb_texture_float-texture-float-formats'], run_concurrent=False)
3310 g(['arb_texture_float-get-tex3d'], run_concurrent=False)
3311 add_msaa_formats_tests(g, 'GL_ARB_texture_float')
3312 add_texwrap_format_tests(g, 'GL_ARB_texture_float')
3313 add_fbo_formats_tests(g, 'GL_ARB_texture_float')
3315 with profile.test_list.group_manager(
3316 PiglitGLTest,
3317 grouptools.join('spec', 'oes_texture_float')) as g:
3318 g(['oes_texture_float'])
3319 g(['oes_texture_float', 'half'])
3320 g(['oes_texture_float', 'linear'])
3321 g(['oes_texture_float', 'half', 'linear'])
3324 with profile.test_list.group_manager(
3325 PiglitGLTest,
3326 grouptools.join('spec', 'ext_texture_integer')) as g:
3327 g(['ext_texture_integer-api-drawpixels'], 'api-drawpixels')
3328 g(['ext_texture_integer-api-teximage'], 'api-teximage')
3329 g(['ext_texture_integer-api-readpixels'], 'api-readpixels')
3330 g(['ext_texture_integer-fbo-blending'], 'fbo-blending')
3331 g(['ext_texture_integer-fbo-blending', 'GL_ARB_texture_rg'],
3332 'fbo-blending GL_ARB_texture_rg')
3333 g(['ext_texture_integer-fbo_integer_precision_clear'],
3334 'fbo_integer_precision_clear', run_concurrent=False)
3335 g(['ext_texture_integer-fbo_integer_readpixels_sint_uint'],
3336 'fbo_integer_readpixels_sint_uint', run_concurrent=False)
3337 g(['ext_texture_integer-getteximage-clamping'], 'getteximage-clamping')
3338 g(['ext_texture_integer-getteximage-clamping', 'GL_ARB_texture_rg'],
3339 'getteximage-clamping GL_ARB_texture_rg')
3340 g(['ext_texture_integer-texformats']),
3341 g(['ext_texture_integer-texture_integer_glsl130'],
3342 'texture_integer_glsl130')
3343 g(['fbo-integer'], run_concurrent=False)
3344 # TODO: unsupported for int yet
3345 # g(['fbo-clear-formats', 'GL_EXT_texture_integer'], 'fbo-clear-formats')
3346 add_msaa_formats_tests(g, 'GL_EXT_texture_integer')
3347 add_texwrap_format_tests(g, 'GL_EXT_texture_integer')
3349 with profile.test_list.group_manager(
3350 PiglitGLTest,
3351 grouptools.join('spec', 'arb_texture_rg')) as g:
3352 g(['depth-tex-modes-rg'], run_concurrent=False)
3353 g(['rg-draw-pixels'], run_concurrent=False)
3354 g(['rg-teximage-01'], run_concurrent=False)
3355 g(['rg-teximage-02'], run_concurrent=False)
3356 g(['texture-rg'], run_concurrent=False)
3357 # TODO: unsupported for int yet
3358 # g(['fbo-clear-formats', 'GL_ARB_texture_rg-int'],
3359 # 'fbo-clear-formats-int')
3360 add_msaa_formats_tests(g, 'GL_ARB_texture_rg')
3361 add_msaa_formats_tests(g, 'GL_ARB_texture_rg-int')
3362 add_msaa_formats_tests(g, 'GL_ARB_texture_rg-float')
3363 add_texwrap_format_tests(g, 'GL_ARB_texture_rg')
3364 add_texwrap_format_tests(g, 'GL_ARB_texture_rg-float', '-float')
3365 add_texwrap_format_tests(g, 'GL_ARB_texture_rg-int', '-int')
3367 for format in ['GL_RED', 'GL_R8', 'GL_R16', 'GL_RG', 'GL_RG8', 'GL_RG16']:
3368 g(['fbo-rg', format], "fbo-rg-{}".format(format))
3369 add_fbo_formats_tests(g, 'GL_ARB_texture_rg')
3370 add_fbo_formats_tests(g, 'GL_ARB_texture_rg-float', '-float')
3372 with profile.test_list.group_manager(
3373 PiglitGLTest,
3374 grouptools.join('spec', 'arb_texture_rgb10_a2ui')) as g:
3375 g(['ext_texture_integer-fbo-blending', 'GL_ARB_texture_rgb10_a2ui'],
3376 'fbo-blending')
3377 add_texwrap_format_tests(g, 'GL_ARB_texture_rgb10_a2ui')
3379 with profile.test_list.group_manager(
3380 PiglitGLTest,
3381 grouptools.join('spec', 'ext_texture_shared_exponent')) as g:
3382 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_shared_exponent'],
3383 'fbo-generatemipmap-formats')
3384 add_texwrap_format_tests(g, 'GL_EXT_texture_shared_exponent')
3386 with profile.test_list.group_manager(
3387 PiglitGLTest,
3388 grouptools.join('spec', 'ext_texture_snorm')) as g:
3389 add_msaa_formats_tests(g, 'GL_EXT_texture_snorm')
3390 add_texwrap_format_tests(g, 'GL_EXT_texture_snorm')
3391 add_fbo_formats_tests(g, 'GL_EXT_texture_snorm')
3393 with profile.test_list.group_manager(
3394 PiglitGLTest, grouptools.join('spec', 'ext_texture_srgb')) as g:
3395 g(['fbo-srgb'], run_concurrent=False)
3396 g(['tex-srgb'], run_concurrent=False)
3397 g(['arb_texture_compression-invalid-formats', 'srgb'], 'invalid formats')
3398 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_sRGB'],
3399 'fbo-generatemipmap-formats')
3400 g(['fbo-generatemipmap-formats', 'GL_EXT_texture_sRGB-s3tc'],
3401 'fbo-generatemipmap-formats-s3tc')
3402 # TODO: also use GL_ARB_framebuffer_sRGB:
3403 # g(['fbo-blending-formats', 'GL_EXT_texture_sRGB'],
3404 # 'fbo-blending-formats')
3405 g(['fbo-alphatest-formats', 'GL_EXT_texture_sRGB'],
3406 'fbo-alphatest-formats')
3407 g(['ext_framebuffer_multisample-fast-clear',
3408 'GL_EXT_texture_sRGB',
3409 'single-sample'],
3410 'fbo-fast-clear')
3411 add_msaa_formats_tests(g, 'GL_EXT_texture_sRGB')
3412 add_texwrap_format_tests(g, 'GL_EXT_texture_sRGB')
3413 add_texwrap_format_tests(g, 'GL_EXT_texture_sRGB-s3tc', '-s3tc')
3415 with profile.test_list.group_manager(
3416 PiglitGLTest, grouptools.join('spec', 'ext_timer_query')) as g:
3417 g(['ext_timer_query-time-elapsed'], 'time-elapsed', run_concurrent=False)
3418 g(['timer_query'], run_concurrent=False)
3420 with profile.test_list.group_manager(
3421 PiglitGLTest, grouptools.join('spec', 'arb_timer_query')) as g:
3422 g(['ext_timer_query-time-elapsed', 'timestamp'], 'query GL_TIMESTAMP', run_concurrent=False)
3423 g(['ext_timer_query-lifetime'], 'query-lifetime')
3424 g(['arb_timer_query-timestamp-get'], 'timestamp-get', run_concurrent=False)
3426 with profile.test_list.group_manager(
3427 PiglitGLTest, grouptools.join('spec', 'ext_transform_feedback')) as g:
3428 for mode in ['interleaved_ok_base', 'interleaved_ok_range',
3429 'interleaved_ok_offset', 'interleaved_unbound',
3430 'interleaved_no_varyings', 'separate_ok_1',
3431 'separate_unbound_0_1', 'separate_ok_2',
3432 'separate_unbound_0_2', 'separate_unbound_1_2',
3433 'separate_no_varyings', 'no_prog_active', 'begin_active',
3434 'useprog_active', 'link_current_active', 'link_other_active',
3435 'bind_base_active', 'bind_range_active', 'bind_offset_active',
3436 'end_inactive', 'bind_base_max', 'bind_range_max',
3437 'bind_offset_max', 'bind_range_size_m4', 'bind_range_size_0',
3438 'bind_range_size_1', 'bind_range_size_2', 'bind_range_size_3',
3439 'bind_range_size_5', 'bind_range_offset_1',
3440 'bind_range_offset_2', 'bind_range_offset_3',
3441 'bind_range_offset_5', 'bind_offset_offset_1',
3442 'bind_offset_offset_2', 'bind_offset_offset_3',
3443 'bind_offset_offset_5', 'not_a_program',
3444 'useprogstage_noactive', 'useprogstage_active',
3445 'bind_pipeline']:
3446 g(['ext_transform_feedback-api-errors', mode],
3447 'api-errors {}'.format(mode))
3449 for varying in ['gl_Color', 'gl_SecondaryColor', 'gl_TexCoord',
3450 'gl_FogFragCoord', 'gl_Position', 'gl_PointSize',
3451 'gl_ClipVertex', 'gl_ClipDistance',
3452 'gl_ClipDistance[1]-no-subscript',
3453 'gl_ClipDistance[2]-no-subscript',
3454 'gl_ClipDistance[3]-no-subscript',
3455 'gl_ClipDistance[4]-no-subscript',
3456 'gl_ClipDistance[5]-no-subscript',
3457 'gl_ClipDistance[6]-no-subscript',
3458 'gl_ClipDistance[7]-no-subscript',
3459 'gl_ClipDistance[8]-no-subscript']:
3460 g(['ext_transform_feedback-builtin-varyings', varying],
3461 'builtin-varyings {}'.format(varying), run_concurrent=False)
3463 for mode in ['main_binding', 'indexed_binding', 'buffer_start',
3464 'buffer_size']:
3465 g(['ext_transform_feedback-get-buffer-state', mode],
3466 'get-buffer-state {}'.format(mode))
3468 for mode in ['output', 'prims_generated', 'prims_written']:
3469 g(['ext_transform_feedback-intervening-read', mode],
3470 'intervening-read {0}'.format(mode))
3471 g(['ext_transform_feedback-intervening-read', mode, 'use_gs'],
3472 'intervening-read {0} use_gs'.format(mode))
3474 for drawcall in ['arrays', 'elements']:
3475 for mode in ['triangles', 'lines', 'points']:
3476 g(['ext_transform_feedback-order', drawcall, mode],
3477 'order {0} {1}'.format(drawcall, mode))
3479 for draw_mode in ['points', 'lines', 'line_loop', 'line_strip',
3480 'triangles', 'triangle_strip', 'triangle_fan',
3481 'quads', 'quad_strip', 'polygon']:
3482 for shade_mode in ['monochrome', 'smooth', 'flat_first', 'flat_last',
3483 'wireframe']:
3484 if (draw_mode in ['points', 'lines', 'line_loop', 'line_strip'] and
3485 shade_mode == 'wireframe'):
3486 continue
3487 g(['ext_transform_feedback-tessellation', draw_mode, shade_mode],
3488 'tessellation {0} {1}'.format(draw_mode, shade_mode))
3490 for alignment in [0, 4, 8, 12]:
3491 g(['ext_transform_feedback-alignment', str(alignment)],
3492 'alignment {0}'.format(alignment))
3494 for output_type in ['float', 'vec2', 'vec3', 'vec4', 'mat2', 'mat2x3',
3495 'mat2x4', 'mat3x2', 'mat3', 'mat3x4', 'mat4x2',
3496 'mat4x3', 'mat4', 'int', 'ivec2', 'ivec3', 'ivec4',
3497 'uint', 'uvec2', 'uvec3', 'uvec4']:
3498 for suffix in ['', '[2]', '[2]-no-subscript']:
3499 g(['ext_transform_feedback-output-type', output_type, suffix],
3500 'output-type {0}{1}'.format(output_type, suffix))
3502 for mode in ['discard', 'buffer', 'prims_generated', 'prims_written']:
3503 g(['ext_transform_feedback-generatemipmap', mode],
3504 'generatemipmap {0}'.format(mode))
3506 for test_case in ['base-shrink', 'base-grow', 'offset-shrink',
3507 'offset-grow', 'range-shrink', 'range-grow']:
3508 g(['ext_transform_feedback-change-size', test_case],
3509 'change-size {0}'.format(test_case))
3511 for api_suffix, possible_options in [('', [[], ['interface']]),
3512 ('_gles3', [[]])]:
3513 if api_suffix == '_gles3':
3514 subtest_list = ['basic-struct']
3515 else:
3516 subtest_list = ['basic-struct', 'struct-whole-array',
3517 'struct-array-elem', 'array-struct',
3518 'array-struct-whole-array',
3519 'array-struct-array-elem', 'struct-struct',
3520 'array-struct-array-struct']
3521 for subtest in subtest_list:
3522 for mode in ['error', 'get', 'run', 'run-no-fs']:
3523 for options in possible_options:
3524 g(['ext_transform_feedback-structs{0}'.format(api_suffix),
3525 subtest, mode] + options,
3526 'structs{0} {1}'.format(
3527 api_suffix, ' '.join([subtest, mode] + options)))
3529 g(['ext_transform_feedback-buffer-usage'], 'buffer-usage')
3530 g(['ext_transform_feedback-discard-api'], 'discard-api')
3531 g(['ext_transform_feedback-discard-bitmap'], 'discard-bitmap')
3532 g(['ext_transform_feedback-discard-clear'], 'discard-clear')
3533 g(['ext_transform_feedback-discard-copypixels'], 'discard-copypixels')
3534 g(['ext_transform_feedback-discard-drawarrays'], 'discard-drawarrays')
3535 g(['ext_transform_feedback-discard-drawpixels'], 'discard-drawpixels')
3536 g(['ext_transform_feedback-immediate-reuse'], 'immediate-reuse')
3537 g(['ext_transform_feedback-immediate-reuse-index-buffer'],
3538 'immediate-reuse-index-buffer')
3539 g(['ext_transform_feedback-immediate-reuse-uniform-buffer'],
3540 'immediate-reuse-uniform-buffer')
3541 g(['ext_transform_feedback-max-varyings'], 'max-varyings')
3542 g(['ext_transform_feedback-nonflat-integral'], 'nonflat-integral')
3543 g(['ext_transform_feedback-overflow-edge-cases'], 'overflow-edge-cases')
3544 g(['ext_transform_feedback-overflow-edge-cases', 'use_gs'],
3545 'overflow-edge-cases use_gs')
3546 g(['ext_transform_feedback-points'], 'points')
3547 g(['ext_transform_feedback-points', 'large'], 'points-large')
3548 g(['ext_transform_feedback-position'], 'position-readback-bufferbase')
3549 g(['ext_transform_feedback-position', 'discard'],
3550 'position-readback-bufferbase-discard')
3551 g(['ext_transform_feedback-position', 'offset'],
3552 'position-readback-bufferoffset')
3553 g(['ext_transform_feedback-position', 'offset', 'discard'],
3554 'position-readback-bufferoffset-discard')
3555 g(['ext_transform_feedback-position', 'range'],
3556 'position-readback-bufferrange')
3557 g(['ext_transform_feedback-position', 'range', 'discard'],
3558 'position-readback-bufferrange-discard')
3559 g(['ext_transform_feedback-negative-prims'], 'negative-prims')
3560 g(['ext_transform_feedback-primgen'],
3561 'primgen-query transform-feedback-disabled')
3562 g(['ext_transform_feedback-pipeline-basic-primgen'],
3563 'pipeline-basic-primgen')
3564 g(['ext_transform_feedback-position', 'render'],
3565 'position-render-bufferbase')
3566 g(['ext_transform_feedback-position', 'render', 'discard'],
3567 'position-render-bufferbase-discard')
3568 g(['ext_transform_feedback-position', 'render', 'offset'],
3569 'position-render-bufferoffset')
3570 g(['ext_transform_feedback-position', 'render', 'offset', 'discard'],
3571 'position-render-bufferoffset-discard')
3572 g(['ext_transform_feedback-position', 'render', 'range'],
3573 'position-render-bufferrange')
3574 g(['ext_transform_feedback-position', 'render', 'range', 'discard'],
3575 'position-render-bufferrange-discard')
3576 g(['ext_transform_feedback-position', 'primgen'],
3577 'query-primitives_generated-bufferbase')
3578 g(['ext_transform_feedback-position', 'primgen', 'discard'],
3579 'query-primitives_generated-bufferbase-discard')
3580 g(['ext_transform_feedback-position', 'primgen', 'offset'],
3581 'query-primitives_generated-bufferoffset')
3582 g(['ext_transform_feedback-position', 'primgen', 'offset', 'discard'],
3583 'query-primitives_generated-bufferoffset-discard')
3584 g(['ext_transform_feedback-position', 'primgen', 'range'],
3585 'query-primitives_generated-bufferrange')
3586 g(['ext_transform_feedback-position', 'primgen', 'range', 'discard'],
3587 'query-primitives_generated-bufferrange-discard')
3588 g(['ext_transform_feedback-position', 'primwritten'],
3589 'query-primitives_written-bufferbase')
3590 g(['ext_transform_feedback-position', 'primwritten', 'discard'],
3591 'query-primitives_written-bufferbase-discard')
3592 g(['ext_transform_feedback-position', 'primwritten', 'offset'],
3593 'query-primitives_written-bufferoffset')
3594 g(['ext_transform_feedback-position', 'primwritten', 'offset', 'discard'],
3595 'query-primitives_written-bufferoffset-discard')
3596 g(['ext_transform_feedback-position', 'primwritten', 'range'],
3597 'query-primitives_written-bufferrange')
3598 g(['ext_transform_feedback-position', 'primwritten', 'range', 'discard'],
3599 'query-primitives_written-bufferrange-discard')
3600 g(['ext_transform_feedback-interleaved'], 'interleaved-attribs')
3601 g(['ext_transform_feedback-separate'], 'separate-attribs')
3602 g(['ext_transform_feedback-geometry-shaders-basic'],
3603 'geometry-shaders-basic')
3605 with profile.test_list.group_manager(
3606 PiglitGLTest, grouptools.join('spec', 'arb_transform_feedback2')) as g:
3607 g(['arb_transform_feedback2-change-objects-while-paused'],
3608 'Change objects while paused', run_concurrent=False)
3609 g(['arb_transform_feedback2-change-objects-while-paused_gles3'],
3610 'Change objects while paused (GLES3)', run_concurrent=False)
3612 with profile.test_list.group_manager(
3613 PiglitGLTest, grouptools.join('spec', 'ext_transform_feedback2')) as g:
3614 g(['arb_transform_feedback2-draw-auto'], 'draw-auto', run_concurrent=False)
3615 g(['arb_transform_feedback2-istransformfeedback'], 'istranformfeedback',
3616 run_concurrent=False)
3617 g(['arb_transform_feedback2-gen-names-only'],
3618 'glGenTransformFeedbacks names only')
3619 g(['arb_transform_feedback2-cannot-bind-when-active'],
3620 'cannot bind when another object is active')
3621 g(['arb_transform_feedback2-api-queries'], 'misc. API queries')
3622 g(['arb_transform_feedback2-pause-counting'], 'counting with pause')
3624 with profile.test_list.group_manager(
3625 PiglitGLTest, grouptools.join('spec', 'arb_transform_feedback_instanced')) as g:
3626 g(['arb_transform_feedback2-draw-auto', 'instanced'],
3627 'draw-auto instanced', run_concurrent=False)
3629 with profile.test_list.group_manager(
3630 PiglitGLTest, grouptools.join('spec', 'arb_transform_feedback3')) as g:
3631 g(['arb_transform_feedback3-bind_buffer_invalid_index'],
3632 'arb_transform_feedback3-bind_buffer_invalid_index',
3633 run_concurrent=False)
3634 g(['arb_transform_feedback3-query_with_invalid_index'],
3635 'arb_transform_feedback3-query_with_invalid_index', run_concurrent=False)
3636 g(['arb_transform_feedback3-end_query_with_name_zero'],
3637 'arb_transform_feedback3-end_query_with_name_zero', run_concurrent=False)
3638 g(['arb_transform_feedback3-draw_using_invalid_stream_index'],
3639 'arb_transform_feedback3-draw_using_invalid_stream_index',
3640 run_concurrent=False)
3641 g(['arb_transform_feedback3-set_varyings_with_invalid_args'],
3642 'arb_transform_feedback3-set_varyings_with_invalid_args',
3643 run_concurrent=False)
3644 g(['arb_transform_feedback3-set_invalid_varyings'],
3645 'arb_transform_feedback3-set_invalid_varyings', run_concurrent=False)
3646 g(['arb_transform_feedback3-ext_interleaved_two_bufs', 'vs'],
3647 'arb_transform_feedback3-ext_interleaved_two_bufs_vs',
3648 run_concurrent=False)
3649 g(['arb_transform_feedback3-ext_interleaved_two_bufs', 'gs'],
3650 'arb_transform_feedback3-ext_interleaved_two_bufs_gs',
3651 run_concurrent=False)
3652 g(['arb_transform_feedback3-ext_interleaved_two_bufs', 'gs_max'],
3653 'arb_transform_feedback3-ext_interleaved_two_bufs_gs_max',
3654 run_concurrent=False)
3655 g(['arb_transform_feedback3-begin_end'], run_concurrent=False)
3657 for param in ['gl_NextBuffer-1', 'gl_NextBuffer-2', 'gl_SkipComponents1-1',
3658 'gl_SkipComponents1-2', 'gl_SkipComponents1-3',
3659 'gl_SkipComponents2', 'gl_SkipComponents3',
3660 'gl_SkipComponents4',
3661 'gl_NextBuffer-gl_SkipComponents1-gl_NextBuffer',
3662 'gl_NextBuffer-gl_NextBuffer', 'gl_SkipComponents1234', 'gl_SkipComponents1-gl_NextBuffer']:
3663 g(['ext_transform_feedback-output-type', param], param)
3665 with profile.test_list.group_manager(
3666 PiglitGLTest,
3667 grouptools.join('spec', 'arb_transform_feedback_overflow_query')) as g:
3668 g(['arb_transform_feedback_overflow_query-basic'])
3669 g(['arb_transform_feedback_overflow_query-errors'])
3671 with profile.test_list.group_manager(
3672 PiglitGLTest,
3673 grouptools.join('spec', 'arb_uniform_buffer_object')) as g:
3674 g(['arb_uniform_buffer_object-bindbuffer-general-point'],
3675 'bindbuffer-general-point')
3676 g(['arb_uniform_buffer_object-buffer-targets'], 'buffer-targets')
3677 g(['arb_uniform_buffer_object-bufferstorage'], 'bufferstorage')
3678 g(['arb_uniform_buffer_object-deletebuffers'], 'deletebuffers')
3679 g(['arb_uniform_buffer_object-dlist'], 'dlist')
3680 g(['arb_uniform_buffer_object-getactiveuniformblockiv-uniform-block-data-size'],
3681 'getactiveuniformblockiv-uniform-block-data-size')
3682 g(['arb_uniform_buffer_object-getactiveuniformblockname'],
3683 'getactiveuniformblockname')
3684 g(['arb_uniform_buffer_object-getactiveuniformname'],
3685 'getactiveuniformname')
3686 g(['arb_uniform_buffer_object-getactiveuniformsiv-uniform-array-stride'],
3687 'getactiveuniformsiv-uniform-array-stride')
3688 g(['arb_uniform_buffer_object-getactiveuniformsiv-uniform-block-index'],
3689 'getactiveuniformsiv-uniform-block-index')
3690 g(['arb_uniform_buffer_object-getactiveuniformsiv-uniform-matrix-stride'],
3691 'getactiveuniformsiv-uniform-matrix-stride')
3692 g(['arb_uniform_buffer_object-getactiveuniformsiv-uniform-type'],
3693 'getactiveuniformsiv-uniform-type')
3694 g(['arb_uniform_buffer_object-getintegeri_v'], 'getintegeri_v')
3695 g(['arb_uniform_buffer_object-getprogramiv'], 'getprogramiv')
3696 g(['arb_uniform_buffer_object-getuniformblockindex'],
3697 'getuniformblockindex')
3698 g(['arb_uniform_buffer_object-getuniformindices'], 'getuniformindices')
3699 g(['arb_uniform_buffer_object-getuniformlocation'], 'getuniformlocation')
3700 g(['arb_uniform_buffer_object-layout-std140-base-size-and-alignment'],
3701 'layout-std140-base-size-and-alignment')
3702 g(['arb_uniform_buffer_object-link-mismatch-blocks'],
3703 'link-mismatch-blocks')
3704 g(['arb_uniform_buffer_object-maxblocks'], 'maxblocks')
3705 g(['arb_uniform_buffer_object-minmax'], 'minmax')
3706 g(['arb_uniform_buffer_object-negative-bindbuffer-index'],
3707 'negative-bindbuffer-index')
3708 g(['arb_uniform_buffer_object-negative-bindbuffer-target'],
3709 'negative-bindbuffer-target')
3710 g(['arb_uniform_buffer_object-negative-bindbufferrange-range'],
3711 'negative-bindbufferrange-range')
3712 g(['arb_uniform_buffer_object-negative-getactiveuniformblockiv'],
3713 'negative-getactiveuniformblockiv')
3714 g(['arb_uniform_buffer_object-negative-getactiveuniformsiv'],
3715 'negative-getactiveuniformsiv')
3716 g(['arb_uniform_buffer_object-referenced-by-shader'],
3717 'referenced-by-shader')
3718 g(['arb_uniform_buffer_object-rendering'], 'rendering')
3719 g(['arb_uniform_buffer_object-rendering', 'offset'], 'rendering-offset')
3720 g(['arb_uniform_buffer_object-rendering-array'], 'rendering-array')
3721 g(['arb_uniform_buffer_object-rendering-array', 'offset'], 'rendering-array-offset')
3722 g(['arb_uniform_buffer_object-rendering-dsa'], 'rendering-dsa')
3723 g(['arb_uniform_buffer_object-rendering-dsa', 'offset'], 'rendering-dsa-offset')
3724 g(['arb_uniform_buffer_object-row-major'], 'row-major')
3725 g(['arb_uniform_buffer_object-uniformblockbinding'], 'uniformblockbinding')
3727 with profile.test_list.group_manager(
3728 PiglitGLTest,
3729 grouptools.join('spec', 'arb_uniform_buffer_object',
3730 'maxuniformblocksize')) as g:
3731 g(['arb_uniform_buffer_object-maxuniformblocksize', 'vs'], 'vs')
3732 g(['arb_uniform_buffer_object-maxuniformblocksize', 'vsexceed'],
3733 'vsexceed')
3734 g(['arb_uniform_buffer_object-maxuniformblocksize', 'fs'], 'fs')
3735 g(['arb_uniform_buffer_object-maxuniformblocksize', 'fsexceed'],
3736 'fsexceed')
3738 with profile.test_list.group_manager(
3739 PiglitGLTest, grouptools.join('spec', 'ati_draw_buffers')) as g:
3740 g(['ati_draw_buffers-arbfp'])
3741 g(['ati_draw_buffers-arbfp-no-index'], 'arbfp-no-index')
3742 g(['ati_draw_buffers-arbfp-no-option'], 'arbfp-no-option')
3744 with profile.test_list.group_manager(
3745 PiglitGLTest, grouptools.join('spec', 'ati_envmap_bumpmap')) as g:
3746 g(['ati_envmap_bumpmap-bump'], run_concurrent=False)
3748 with profile.test_list.group_manager(
3749 PiglitGLTest, grouptools.join('spec', 'arb_instanced_arrays')) as g:
3750 g(['arb_instanced_arrays-vertex-attrib-divisor-index-error'])
3751 g(['arb_instanced_arrays-instanced_arrays'])
3752 g(['arb_instanced_arrays-drawarrays'])
3753 add_single_param_test_set(g, 'arb_instanced_arrays-instanced_arrays',
3754 'vbo')
3756 with profile.test_list.group_manager(
3757 PiglitGLTest,
3758 grouptools.join('spec', 'arb_internalformat_query')) as g:
3759 g(['arb_internalformat_query-api-errors'], 'misc. API error checks')
3760 g(['arb_internalformat_query-overrun'], 'buffer over-run checks')
3761 g(['arb_internalformat_query-minmax'], 'minmax')
3763 with profile.test_list.group_manager(
3764 PiglitGLTest,
3765 grouptools.join('spec', 'arb_internalformat_query2')) as g:
3766 g(['arb_internalformat_query2-api-errors'], 'API error checks')
3767 g(['arb_internalformat_query2-generic-pname-checks'], 'Individual most generic pname checks')
3768 g(['arb_internalformat_query2-samples-pnames'], 'SAMPLES and NUM_SAMPLE_COUNTS pname checks')
3769 g(['arb_internalformat_query2-internalformat-size-checks'], 'All INTERNALFORMAT_<X>_SIZE pname checks')
3770 g(['arb_internalformat_query2-internalformat-type-checks'], 'All INTERNALFORMAT_<X>_TYPE pname checks')
3771 g(['arb_internalformat_query2-image-format-compatibility-type'], 'IMAGE_FORMAT_COMPATIBILITY_TYPE pname checks')
3772 g(['arb_internalformat_query2-max-dimensions'], 'Max dimensions related pname checks')
3773 g(['arb_internalformat_query2-color-encoding'], 'COLOR_ENCODING pname check')
3774 g(['arb_internalformat_query2-texture-compressed-block'], 'All TEXTURE_COMPRESSED_BLOCK_<X> pname checks')
3775 g(['arb_internalformat_query2-minmax'], 'minmax check for SAMPLES/NUM_SAMPLE_COUNTS')
3776 g(['arb_internalformat_query2-image-texture'], 'Checks for pnames related to ARB_image_load_store that return values from Table 3.22 (OpenGL 4.2)')
3777 g(['arb_internalformat_query2-filter'], 'FILTER pname checks.')
3778 g(['arb_internalformat_query2-format-components'], '{COLOR,DEPTH,STENCIL}_COMPONENTS pname checks')
3780 with profile.test_list.group_manager(
3781 PiglitGLTest, grouptools.join('spec', 'arb_map_buffer_range')) as g:
3782 g(['map_buffer_range_error_check'], run_concurrent=False)
3783 g(['map_buffer_range_test'], run_concurrent=False)
3784 g(['map_buffer_range-invalidate', 'MAP_INVALIDATE_RANGE_BIT', 'offset=0'],
3785 'MAP_INVALIDATE_RANGE_BIT offset=0')
3786 g(['map_buffer_range-invalidate', 'MAP_INVALIDATE_RANGE_BIT',
3787 'increment-offset'], 'MAP_INVALIDATE_RANGE_BIT increment-offset')
3788 g(['map_buffer_range-invalidate', 'MAP_INVALIDATE_RANGE_BIT',
3789 'decrement-offset'], 'MAP_INVALIDATE_RANGE_BIT decrement-offset')
3790 g(['map_buffer_range-invalidate', 'MAP_INVALIDATE_BUFFER_BIT', 'offset=0'],
3791 'MAP_INVALIDATE_BUFFER_BIT offset=0')
3792 g(['map_buffer_range-invalidate', 'MAP_INVALIDATE_BUFFER_BIT',
3793 'increment-offset'], 'MAP_INVALIDATE_BUFFER_BIT increment-offset')
3794 g(['map_buffer_range-invalidate', 'MAP_INVALIDATE_BUFFER_BIT',
3795 'decrement-offset'], 'MAP_INVALIDATE_BUFFER_BIT decrement-offset')
3796 g(['map_buffer_range-invalidate', 'CopyBufferSubData', 'offset=0'],
3797 'CopyBufferSubData offset=0')
3798 g(['map_buffer_range-invalidate', 'CopyBufferSubData', 'increment-offset'],
3799 'CopyBufferSubData increment-offset')
3800 g(['map_buffer_range-invalidate', 'CopyBufferSubData', 'decrement-offset'],
3801 'CopyBufferSubData decrement-offset')
3803 with profile.test_list.group_manager(
3804 PiglitGLTest, grouptools.join('spec', 'arb_multisample')) as g:
3805 g(['arb_multisample-beginend'], 'beginend')
3806 g(['arb_multisample-pushpop'], 'pushpop')
3808 with profile.test_list.group_manager(
3809 PiglitGLTest, grouptools.join('spec', 'arb_seamless_cube_map')) as g:
3810 g(['arb_seamless_cubemap'])
3811 g(['arb_seamless_cubemap-initially-disabled'])
3812 g(['arb_seamless_cubemap-three-faces-average'])
3814 with profile.test_list.group_manager(
3815 PiglitGLTest, grouptools.join('spec', 'AMD_pinned_memory')) as g:
3816 g(['amd_pinned_memory', 'offset=0'], 'offset=0')
3817 g(['amd_pinned_memory', 'increment-offset'], 'increment-offset')
3818 g(['amd_pinned_memory', 'decrement-offset'], 'decrement-offset')
3819 g(['amd_pinned_memory', 'offset=0', 'map-buffer'], 'map-buffer offset=0')
3820 g(['amd_pinned_memory', 'increment-offset', 'map-buffer'],
3821 'map-buffer increment-offset')
3822 g(['amd_pinned_memory', 'decrement-offset', 'map-buffer'],
3823 'map-buffer decrement-offset')
3825 with profile.test_list.group_manager(
3826 PiglitGLTest,
3827 grouptools.join('spec', 'amd_seamless_cubemap_per_texture')) as g:
3828 g(['amd_seamless_cubemap_per_texture'], run_concurrent=False)
3830 with profile.test_list.group_manager(
3831 PiglitGLTest,
3832 grouptools.join('spec', 'amd_vertex_shader_layer')) as g:
3833 g(['amd_vertex_shader_layer-layered-2d-texture-render'],
3834 run_concurrent=False)
3835 g(['amd_vertex_shader_layer-layered-depth-texture-render'],
3836 run_concurrent=False)
3838 with profile.test_list.group_manager(
3839 PiglitGLTest,
3840 grouptools.join('spec', 'amd_vertex_shader_viewport_index')) as g:
3841 g(['amd_vertex_shader_viewport_index-render'])
3843 with profile.test_list.group_manager(
3844 PiglitGLTest,
3845 grouptools.join('spec', 'ext_fog_coord')) as g:
3846 g(['ext_fog_coord-modes'], run_concurrent=False)
3848 with profile.test_list.group_manager(
3849 PiglitGLTest,
3850 grouptools.join('spec', 'nv_texture_barrier')) as g:
3851 g(['blending-in-shader'], run_concurrent=False)
3852 g(['arb_texture_barrier-texture-halves-ping-pong-operation-chain'])
3854 with profile.test_list.group_manager(
3855 PiglitGLTest,
3856 grouptools.join('spec', 'nv_texture_env_combine4')) as g:
3857 g(['nv_texture_env_combine4-combine'])
3859 with profile.test_list.group_manager(
3860 PiglitGLTest,
3861 grouptools.join('spec', 'nv_conditional_render')) as g:
3862 g(['nv_conditional_render-begin-while-active'], 'begin-while-active')
3863 g(['nv_conditional_render-begin-zero'], 'begin-zero')
3864 g(['nv_conditional_render-bitmap'], 'bitmap')
3865 g(['nv_conditional_render-blitframebuffer'], 'blitframebuffer')
3866 g(['nv_conditional_render-clear'], 'clear')
3867 g(['nv_conditional_render-copypixels'], 'copypixels')
3868 g(['nv_conditional_render-copyteximage'], 'copyteximage')
3869 g(['nv_conditional_render-copytexsubimage'], 'copytexsubimage')
3870 g(['nv_conditional_render-dlist'], 'dlist')
3871 g(['nv_conditional_render-drawpixels'], 'drawpixels')
3872 g(['nv_conditional_render-generatemipmap'], 'generatemipmap')
3873 g(['nv_conditional_render-vertex_array'], 'vertex_array')
3875 with profile.test_list.group_manager(
3876 PiglitGLTest,
3877 grouptools.join('spec', 'nv_fill_rectangle')) as g:
3878 g(['nv_fill_rectangle-invalid-draw-mode'], 'invalid-draw-mode')
3880 with profile.test_list.group_manager(
3881 PiglitGLTest,
3882 grouptools.join('spec', 'nv_fog_distance')) as g:
3883 g(['nv_fog_distance-coverage'], 'coverage')
3884 g(['nv_fog_distance-simple-draw', 'radial'], 'simple draw - GL_EYE_RADIAL_NV')
3885 g(['nv_fog_distance-simple-draw', 'eye-plane'], 'simple draw - GL_EYE_PLANE')
3886 g(['nv_fog_distance-simple-draw', 'eye-plane-absolute'], 'simple draw - GL_EYE_PLANE_ABSOLUTE_NV')
3887 g(['nv_fog_distance-fog-coord'], 'GL_FOG_COORDINATE interaction')
3889 with profile.test_list.group_manager(
3890 PiglitGLTest,
3891 grouptools.join('spec', 'oes_matrix_get')) as g:
3892 g(['oes_matrix_get-api'], 'All queries')
3894 with profile.test_list.group_manager(
3895 PiglitGLTest,
3896 grouptools.join('spec', 'oes_fixed_point')) as g:
3897 g(['oes_fixed_point-attribute-arrays'], 'attribute-arrays')
3899 with profile.test_list.group_manager(
3900 PiglitGLTest,
3901 grouptools.join('spec', 'arb_clear_buffer_object')) as g:
3902 g(['arb_clear_buffer_object-formats'])
3903 g(['arb_clear_buffer_object-invalid-internal-format'])
3904 g(['arb_clear_buffer_object-invalid-size'])
3905 g(['arb_clear_buffer_object-mapped'])
3906 g(['arb_clear_buffer_object-no-bound-buffer'])
3907 g(['arb_clear_buffer_object-null-data'])
3908 g(['arb_clear_buffer_object-sub-invalid-size'])
3909 g(['arb_clear_buffer_object-sub-mapped'])
3910 g(['arb_clear_buffer_object-sub-overlap'])
3911 g(['arb_clear_buffer_object-sub-simple'])
3912 g(['arb_clear_buffer_object-unaligned'])
3913 g(['arb_clear_buffer_object-zero-size'])
3915 with profile.test_list.group_manager(
3916 PiglitGLTest,
3917 grouptools.join('spec', 'arb_clear_texture')) as g:
3918 g(['arb_clear_texture-clear-max-level'])
3919 g(['arb_clear_texture-simple'])
3920 g(['arb_clear_texture-error'])
3921 g(['arb_clear_texture-3d'])
3922 g(['arb_clear_texture-cube'])
3923 g(['arb_clear_texture-multisample'])
3924 g(['arb_clear_texture-integer'])
3925 g(['arb_clear_texture-base-formats'])
3926 g(['arb_clear_texture-sized-formats'])
3927 g(['arb_clear_texture-float'])
3928 g(['arb_clear_texture-rg'])
3929 g(['arb_clear_texture-depth-stencil'])
3930 g(['arb_clear_texture-srgb'])
3931 g(['arb_clear_texture-stencil'])
3932 g(['arb_clear_texture-texview'])
3934 with profile.test_list.group_manager(
3935 PiglitGLTest,
3936 grouptools.join('spec', 'arb_copy_buffer')) as g:
3937 g(['copy_buffer_coherency'], run_concurrent=False)
3938 g(['copybuffersubdata'], run_concurrent=False)
3939 g(['arb_copy_buffer-data-sync'], 'data-sync')
3940 g(['arb_copy_buffer-dlist'], 'dlist')
3941 g(['arb_copy_buffer-get'], 'get')
3942 g(['arb_copy_buffer-intra-buffer-copy'], 'intra-buffer-copy')
3943 g(['arb_copy_buffer-negative-bound-zero'], 'negative-bound-zero')
3944 g(['arb_copy_buffer-negative-bounds'], 'negative-bounds')
3945 g(['arb_copy_buffer-negative-mapped'], 'negative-mapped')
3946 g(['arb_copy_buffer-overlap'], 'overlap')
3947 g(['arb_copy_buffer-targets'], 'targets')
3948 g(['arb_copy_buffer-subdata-sync'], 'subdata-sync')
3950 with profile.test_list.group_manager(
3951 PiglitGLTest,
3952 grouptools.join('spec', 'arb_copy_image')) as g:
3953 g(['arb_copy_image-simple', '--tex-to-tex'])
3954 g(['arb_copy_image-simple', '--rb-to-tex'])
3955 g(['arb_copy_image-simple', '--rb-to-rb'])
3956 g(['arb_copy_image-srgb-copy'])
3957 g(['arb_copy_image-api_errors'])
3958 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3959 'GL_TEXTURE_1D', '32', '1', '1', '11', '0', '0', '5', '0', '0', '14',
3960 '1', '1'])
3961 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3962 'GL_TEXTURE_1D_ARRAY', '32', '1', '12', '11', '0', '0', '5', '0', '9',
3963 '14', '1', '1'])
3964 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3965 'GL_TEXTURE_2D', '32', '32', '1', '11', '0', '0', '5', '13', '0', '14',
3966 '1', '1'])
3967 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3968 'GL_TEXTURE_RECTANGLE', '32', '32', '1', '11', '0', '0', '5', '13',
3969 '0', '14', '1', '1'])
3970 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3971 'GL_TEXTURE_2D_ARRAY', '32', '32', '10', '11', '0', '0', '5', '13',
3972 '4', '14', '1', '1'])
3973 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3974 'GL_TEXTURE_CUBE_MAP', '32', '32', '6', '11', '0', '0', '5', '13', '4',
3975 '14', '1', '1'])
3976 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3977 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '30', '11', '0', '0', '5',
3978 '13', '8', '14', '1', '1'])
3979 g(['arb_copy_image-targets', 'GL_TEXTURE_1D', '32', '1', '1',
3980 'GL_TEXTURE_3D', '32', '32', '32', '11', '0', '0', '5', '13', '4',
3981 '14', '1', '1'])
3982 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
3983 'GL_TEXTURE_1D', '32', '1', '1', '11', '0', '7', '5', '0', '0', '14',
3984 '1', '1'])
3985 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
3986 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '0', '3', '5', '0', '7',
3987 '14', '1', '8'])
3988 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
3989 'GL_TEXTURE_2D', '32', '16', '1', '11', '0', '3', '5', '7', '0', '14',
3990 '1', '1'])
3991 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
3992 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '0', '3', '5', '7', '0',
3993 '14', '1', '1'])
3994 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
3995 'GL_TEXTURE_2D_ARRAY', '32', '16', '18', '11', '0', '3', '5', '9', '7',
3996 '14', '1', '8'])
3997 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
3998 'GL_TEXTURE_CUBE_MAP', '32', '32', '6', '11', '0', '3', '5', '17', '2',
3999 '14', '1', '3'])
4000 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
4001 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18', '11', '0', '3', '5',
4002 '17', '2', '14', '1', '7'])
4003 g(['arb_copy_image-targets', 'GL_TEXTURE_1D_ARRAY', '32', '1', '12',
4004 'GL_TEXTURE_3D', '32', '16', '18', '11', '0', '3', '5', '9', '2', '14',
4005 '1', '7'])
4006 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4007 'GL_TEXTURE_1D', '32', '1', '1', '11', '23', '0', '5', '0', '0', '14',
4008 '1', '1'])
4009 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4010 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '2', '0', '5', '0', '7',
4011 '14', '1', '1'])
4012 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4013 'GL_TEXTURE_2D', '32', '16', '1', '11', '12', '0', '5', '7', '0', '14',
4014 '9', '1'])
4015 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4016 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '12', '0', '5', '7',
4017 '0', '14', '9', '1'])
4018 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4019 'GL_TEXTURE_2D_ARRAY', '32', '16', '15', '11', '12', '0', '5', '7',
4020 '12', '14', '8', '1'])
4021 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4022 'GL_TEXTURE_CUBE_MAP', '32', '32', '6', '11', '5', '0', '5', '9', '2',
4023 '14', '7', '1'])
4024 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4025 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18', '11', '5', '0', '5',
4026 '9', '7', '14', '7', '1'])
4027 g(['arb_copy_image-targets', 'GL_TEXTURE_2D', '32', '32', '1',
4028 'GL_TEXTURE_3D', '32', '16', '18', '11', '5', '0', '5', '9', '7', '14',
4029 '7', '1'])
4030 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4031 'GL_TEXTURE_1D', '32', '1', '1', '11', '23', '0', '5', '0', '0', '14',
4032 '1', '1'])
4033 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4034 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '2', '0', '5', '0', '7',
4035 '14', '1', '1'])
4036 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4037 'GL_TEXTURE_2D', '32', '16', '1', '11', '12', '0', '5', '7', '0', '14',
4038 '7', '1'])
4039 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4040 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '12', '0', '5', '7',
4041 '0', '14', '9', '1'])
4042 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4043 'GL_TEXTURE_2D_ARRAY', '32', '16', '15', '11', '12', '0', '5', '7',
4044 '12', '14', '8', '1'])
4045 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4046 'GL_TEXTURE_CUBE_MAP', '32', '32', '6', '11', '5', '0', '5', '9', '2',
4047 '14', '7', '1'])
4048 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4049 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18', '11', '5', '0', '5',
4050 '9', '7', '14', '7', '1'])
4051 g(['arb_copy_image-targets', 'GL_TEXTURE_RECTANGLE', '32', '32', '1',
4052 'GL_TEXTURE_3D', '32', '16', '18', '11', '5', '0', '5', '9', '7', '14',
4053 '7', '1'])
4054 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4055 'GL_TEXTURE_1D', '32', '1', '1', '11', '23', '7', '5', '0', '0', '14',
4056 '1', '1'])
4057 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4058 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '2', '5', '5', '0', '7',
4059 '14', '1', '7'])
4060 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4061 'GL_TEXTURE_2D', '32', '16', '1', '11', '12', '13', '5', '4', '0',
4062 '14', '10', '1'])
4063 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4064 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '12', '13', '5', '7',
4065 '0', '14', '7', '1'])
4066 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4067 'GL_TEXTURE_2D_ARRAY', '32', '16', '15', '11', '12', '5', '5', '7',
4068 '2', '14', '9', '9'])
4069 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4070 'GL_TEXTURE_CUBE_MAP', '32', '32', '6', '11', '5', '1', '5', '9', '2',
4071 '14', '7', '3'])
4072 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4073 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18', '11', '5', '2', '5',
4074 '9', '7', '14', '7', '11'])
4075 g(['arb_copy_image-targets', 'GL_TEXTURE_2D_ARRAY', '32', '32', '15',
4076 'GL_TEXTURE_3D', '32', '16', '18', '11', '5', '2', '5', '9', '7', '14',
4077 '7', '11'])
4078 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4079 'GL_TEXTURE_1D', '32', '1', '1', '11', '23', '3', '5', '0', '0', '14',
4080 '1', '1'])
4081 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4082 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '2', '3', '5', '0', '7',
4083 '14', '1', '2'])
4084 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4085 'GL_TEXTURE_2D', '32', '16', '1', '11', '12', '3', '5', '7', '0', '14',
4086 '9', '1'])
4087 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4088 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '12', '3', '5', '3',
4089 '0', '14', '12', '1'])
4090 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4091 'GL_TEXTURE_2D_ARRAY', '32', '16', '15', '11', '12', '1', '5', '3',
4092 '2', '14', '11', '4'])
4093 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4094 'GL_TEXTURE_CUBE_MAP', '32', '32', '6', '11', '5', '1', '5', '9', '2',
4095 '14', '7', '3'])
4096 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4097 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18', '11', '5', '1', '5',
4098 '9', '9', '14', '7', '5'])
4099 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP', '32', '32', '6',
4100 'GL_TEXTURE_3D', '32', '16', '18', '11', '5', '0', '5', '9', '7', '14',
4101 '7', '4'])
4102 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4103 'GL_TEXTURE_1D', '32', '1', '1', '11', '23', '7', '5', '0', '0', '14',
4104 '1', '1'])
4105 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4106 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '2', '5', '5', '0', '7',
4107 '14', '1', '7'])
4108 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4109 'GL_TEXTURE_2D', '32', '16', '1', '11', '12', '13', '5', '7', '0',
4110 '14', '8', '1'])
4111 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4112 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '12', '13', '5', '7',
4113 '0', '14', '6', '1'])
4114 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4115 'GL_TEXTURE_2D_ARRAY', '32', '16', '15', '11', '12', '5', '5', '1',
4116 '2', '14', '15', '9'])
4117 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4118 'GL_TEXTURE_CUBE_MAP', '16', '16', '6', '11', '5', '1', '5', '9', '2',
4119 '5', '7', '3'])
4120 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4121 'GL_TEXTURE_CUBE_MAP_ARRAY', '16', '16', '18', '11', '5', '2', '5',
4122 '9', '7', '5', '7', '11'])
4123 g(['arb_copy_image-targets', 'GL_TEXTURE_CUBE_MAP_ARRAY', '32', '32', '18',
4124 'GL_TEXTURE_3D', '32', '16', '18', '11', '5', '2', '5', '9', '7', '14',
4125 '7', '11'])
4126 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4127 'GL_TEXTURE_1D', '32', '1', '1', '11', '23', '7', '5', '0', '0', '14',
4128 '1', '1'])
4129 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4130 'GL_TEXTURE_1D_ARRAY', '32', '1', '16', '11', '2', '5', '5', '0', '7',
4131 '14', '1', '7'])
4132 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4133 'GL_TEXTURE_2D', '32', '16', '1', '11', '12', '13', '5', '7', '0',
4134 '14', '7', '1'])
4135 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4136 'GL_TEXTURE_RECTANGLE', '32', '16', '1', '11', '12', '13', '5', '7',
4137 '0', '14', '9', '1'])
4138 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4139 'GL_TEXTURE_2D_ARRAY', '32', '16', '15', '11', '12', '5', '5', '3',
4140 '2', '14', '13', '9'])
4141 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4142 'GL_TEXTURE_CUBE_MAP', '16', '16', '6', '11', '5', '1', '5', '9', '2',
4143 '5', '7', '3'])
4144 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4145 'GL_TEXTURE_CUBE_MAP_ARRAY', '16', '16', '18', '11', '5', '2', '5',
4146 '9', '7', '5', '7', '11'])
4147 g(['arb_copy_image-targets', 'GL_TEXTURE_3D', '32', '32', '17',
4148 'GL_TEXTURE_3D', '32', '16', '18', '11', '5', '2', '5', '9', '7', '14',
4149 '7', '11'])
4150 g(['arb_copy_image-formats'])
4151 g(['arb_copy_image-formats', '--samples=2'])
4152 g(['arb_copy_image-formats', '--samples=4'])
4153 g(['arb_copy_image-formats', '--samples=8'])
4154 g(['arb_copy_image-format-swizzle'])
4155 g(['arb_copy_image-texview'])
4157 with profile.test_list.group_manager(
4158 PiglitGLTest,
4159 grouptools.join('spec', 'nv_copy_image')) as g:
4160 g(['nv_copy_image-simple', '--tex-to-tex'])
4161 g(['nv_copy_image-simple', '--rb-to-tex'])
4162 g(['nv_copy_image-simple', '--rb-to-rb'])
4163 g(['nv_copy_image-api_errors'])
4164 g(['nv_copy_image-formats'])
4165 g(['nv_copy_image-formats', '--samples=2'])
4166 g(['nv_copy_image-formats', '--samples=4'])
4167 g(['nv_copy_image-formats', '--samples=8'])
4169 with profile.test_list.group_manager(
4170 PiglitGLTest,
4171 grouptools.join('spec', 'nv_alpha_to_coverage_dither_control')) as g:
4172 g(['nv_alpha_to_coverage_dither_control-error'])
4173 g(['nv_alpha_to_coverage_dither_control','-1'])
4174 g(['nv_alpha_to_coverage_dither_control','0'])
4175 g(['nv_alpha_to_coverage_dither_control','1'])
4176 g(['nv_alpha_to_coverage_dither_control','2'])
4177 g(['nv_alpha_to_coverage_dither_control','3'])
4178 g(['nv_alpha_to_coverage_dither_control','4'])
4179 g(['nv_alpha_to_coverage_dither_control','5'])
4180 g(['nv_alpha_to_coverage_dither_control','6'])
4181 g(['nv_alpha_to_coverage_dither_control','7'])
4182 g(['nv_alpha_to_coverage_dither_control','8'])
4183 g(['nv_alpha_to_coverage_dither_control','9'])
4184 g(['nv_alpha_to_coverage_dither_control','8', '0', '0'])
4185 g(['nv_alpha_to_coverage_dither_control','8', '0', '1'])
4186 g(['nv_alpha_to_coverage_dither_control','8', '1', '0'])
4187 g(['nv_alpha_to_coverage_dither_control','8', '1', '1'])
4189 with profile.test_list.group_manager(
4190 PiglitGLTest, grouptools.join('spec', 'arb_cull_distance')) as g:
4191 g(['arb_cull_distance-max-distances'])
4192 g(['arb_cull_distance-exceed-limits', 'cull'])
4193 g(['arb_cull_distance-exceed-limits', 'clip'])
4194 g(['arb_cull_distance-exceed-limits', 'total'])
4196 with profile.test_list.group_manager(
4197 PiglitGLTest, grouptools.join('spec', 'arb_half_float_vertex')) as g:
4198 g(['draw-vertices-half-float'])
4199 g(['draw-vertices-half-float', 'user'], 'draw-vertices-half-float-user')
4201 with profile.test_list.group_manager(
4202 PiglitGLTest, grouptools.join('spec', 'oes_vertex_half_float')) as g:
4203 g(['draw-vertices-half-float_gles2'], run_concurrent=False)
4204 g(['draw-vertices-half-float_gles2', 'user'], 'draw-vertices-half-float-user_gles2',
4205 run_concurrent=False)
4207 with profile.test_list.group_manager(
4208 PiglitGLTest,
4209 grouptools.join('spec', 'arb_vertex_type_2_10_10_10_rev')) as g:
4210 g(['draw-vertices-2101010'], run_concurrent=False)
4211 g(['attribs', 'GL_ARB_vertex_type_2_10_10_10_rev'], 'attribs')
4212 g(['arb_vertex_type_2_10_10_10_rev-array_types'])
4213 g(['gl-3.3-vertex-attrib-p-types'], 'attrib-p-types')
4214 g(['gl-3.3-vertex-attrib-p-type-size-match'], 'attrib-p-type-size-match')
4216 with profile.test_list.group_manager(
4217 PiglitGLTest,
4218 grouptools.join('spec', 'arb_vertex_type_10f_11f_11f_rev')) as g:
4219 g(['arb_vertex_type_10f_11f_11f_rev-api-errors'], run_concurrent=False)
4220 g(['arb_vertex_type_10f_11f_11f_rev-draw-vertices'])
4222 with profile.test_list.group_manager(
4223 PiglitGLTest,
4224 grouptools.join('spec', 'arb_draw_buffers')) as g:
4225 g(['arb_draw_buffers-state_change'])
4226 g(['fbo-mrt-alphatest'])
4227 g(['fbo-mrt-new-bind'])
4229 with profile.test_list.group_manager(
4230 PiglitGLTest,
4231 grouptools.join('spec', 'ext_draw_buffers2')) as g:
4232 g(['fbo-drawbuffers2-blend'])
4233 g(['fbo-drawbuffers2-colormask'])
4234 g(['fbo-drawbuffers2-colormask', 'clear'])
4236 with profile.test_list.group_manager(
4237 PiglitGLTest,
4238 grouptools.join('spec', 'arb_draw_buffers_blend')) as g:
4239 g(['arb_draw_buffers_blend-state_set_get'])
4240 g(['fbo-draw-buffers-blend'])
4242 with profile.test_list.group_manager(
4243 PiglitGLTest,
4244 grouptools.join('spec', 'arb_blend_func_extended')) as g:
4245 g(['arb_blend_func_extended-bindfragdataindexed-invalid-parameters'])
4246 g(['arb_blend_func_extended-blend-api'])
4247 g(['arb_blend_func_extended-error-at-begin'])
4248 g(['arb_blend_func_extended-getfragdataindex'])
4249 g(['arb_blend_func_extended-output-location'])
4250 g(['arb_blend_func_extended-fbo-extended-blend'])
4251 g(['arb_blend_func_extended-fbo-extended-blend-explicit'])
4252 g(['arb_blend_func_extended-fbo-extended-blend-pattern'])
4253 g(['arb_blend_func_extended-dual-src-blending-discard-without-src1'])
4254 g(['arb_blend_func_extended-dual-src-blending-issue-1917'])
4255 g(['arb_blend_func_extended-blend-api_gles2'])
4256 g(['arb_blend_func_extended-builtins_gles2'])
4257 g(['arb_blend_func_extended-bindfragdataindexed-invalid-parameters_gles3'])
4258 g(['arb_blend_func_extended-output-location_gles3'])
4259 g(['arb_blend_func_extended-getfragdataindex_gles3'])
4260 g(['arb_blend_func_extended-fbo-extended-blend-pattern_gles2'])
4261 g(['arb_blend_func_extended-fbo-extended-blend-pattern_gles3'])
4262 g(['arb_blend_func_extended-fbo-extended-blend_gles3'])
4263 g(['arb_blend_func_extended-fbo-extended-blend-explicit_gles3'])
4264 g(['arb_blend_func_extended-dual-src-blending-discard-without-src1_gles3'])
4265 g(['arb_blend_func_extended-dual-src-blending-issue-1917_gles3'])
4267 with profile.test_list.group_manager(
4268 PiglitGLTest,
4269 grouptools.join('spec', 'arb_base_instance')) as g:
4270 g(['arb_base_instance-baseinstance-doesnt-affect-gl-instance-id'],
4271 run_concurrent=False)
4272 g(['arb_base_instance-drawarrays'])
4274 with profile.test_list.group_manager(
4275 PiglitGLTest,
4276 grouptools.join('spec', 'ext_base_instance')) as g:
4277 g(['arb_base_instance-baseinstance-doesnt-affect-gl-instance-id_gles3'],
4278 run_concurrent=False)
4279 g(['arb_base_instance-drawarrays_gles3'])
4281 with profile.test_list.group_manager(
4282 PiglitGLTest,
4283 grouptools.join('spec', 'arb_buffer_storage')) as g:
4284 for mode in ['read', 'draw']:
4285 g(['bufferstorage-persistent', mode])
4286 g(['bufferstorage-persistent', mode, 'coherent'])
4287 g(['bufferstorage-persistent', mode, 'client-storage'])
4288 g(['bufferstorage-persistent', mode, 'coherent', 'client-storage'])
4289 g(['bufferstorage-persistent_gles3', mode])
4290 g(['bufferstorage-persistent_gles3', mode, 'coherent'])
4291 g(['bufferstorage-persistent_gles3', mode, 'client-storage'])
4292 g(['bufferstorage-persistent_gles3', mode, 'coherent', 'client-storage'])
4294 with profile.test_list.group_manager(
4295 PiglitGLTest,
4296 grouptools.join('spec', 'apple_object_purgeable')) as g:
4297 g(['object_purgeable-api-pbo'], run_concurrent=False)
4298 g(['object_purgeable-api-texture'], run_concurrent=False)
4299 g(['object_purgeable-api-vbo'], run_concurrent=False)
4301 with profile.test_list.group_manager(
4302 PiglitGLTest,
4303 grouptools.join('spec', 'mesa_pack_invert')) as g:
4304 g(['mesa_pack_invert-readpixels'])
4306 with profile.test_list.group_manager(
4307 PiglitGLTest,
4308 grouptools.join('spec', 'oes_read_format')) as g:
4309 g(['oes-read-format'], run_concurrent=False)
4311 with profile.test_list.group_manager(
4312 PiglitGLTest,
4313 grouptools.join('spec', 'nv_primitive_restart')) as g:
4314 add_single_param_test_set(
4316 'primitive-restart',
4317 "DISABLE_VBO",
4318 "VBO_VERTEX_ONLY", "VBO_INDEX_ONLY",
4319 "VBO_SEPARATE_VERTEX_AND_INDEX", "VBO_COMBINED_VERTEX_AND_INDEX")
4320 add_single_param_test_set(
4322 'primitive-restart-draw-mode',
4323 'points', 'lines', 'line_loop', 'line_strip', 'triangles',
4324 'triangle_strip', 'triangle_fan', 'quads', 'quad_strip', 'polygon')
4326 with profile.test_list.group_manager(
4327 PiglitGLTest,
4328 grouptools.join('spec', 'ext_provoking_vertex')) as g:
4329 g(['provoking-vertex'], run_concurrent=False)
4331 with profile.test_list.group_manager(
4332 PiglitGLTest,
4333 grouptools.join('spec', 'ext_texture_lod_bias')) as g:
4334 g(['lodbias'], run_concurrent=False)
4336 with profile.test_list.group_manager(
4337 PiglitGLTest,
4338 grouptools.join('spec', 'sgis_generate_mipmap')) as g:
4339 g(['gen-nonzero-unit'], run_concurrent=False)
4340 g(['gen-teximage'], run_concurrent=False)
4341 g(['gen-texsubimage'], run_concurrent=False)
4343 with profile.test_list.group_manager(
4344 PiglitGLTest,
4345 grouptools.join('spec', 'arb_map_buffer_alignment')) as g:
4346 g(['arb_map_buffer_alignment-sanity_test'], run_concurrent=False)
4347 g(['arb_map_buffer_alignment-map-invalidate-range'])
4349 with profile.test_list.group_manager(
4350 PiglitGLTest,
4351 grouptools.join('spec', 'arb_geometry_shader4')) as g:
4352 g(['arb_geometry_shader4-program-parameter-input-type'])
4353 g(['arb_geometry_shader4-program-parameter-input-type-draw'])
4354 g(['arb_geometry_shader4-program-parameter-output-type'])
4355 g(['arb_geometry_shader4-vertices-in'])
4357 for draw in ['', 'indexed']:
4358 for prim in ['GL_LINES_ADJACENCY', 'GL_LINE_STRIP_ADJACENCY',
4359 'GL_TRIANGLES_ADJACENCY', 'GL_TRIANGLE_STRIP_ADJACENCY']:
4360 g(['arb_geometry_shader4-ignore-adjacent-vertices', draw, prim])
4362 for mode in ['1', 'tf 1', 'max', 'tf max']:
4363 g(['arb_geometry_shader4-program-parameter-vertices-out', mode])
4365 with profile.test_list.group_manager(
4366 PiglitGLTest,
4367 grouptools.join('spec', 'arb_compute_shader')) as g:
4368 g(['arb_compute_shader-api_errors'], 'api_errors')
4369 g(['arb_compute_shader-minmax'], 'minmax')
4370 g(['built-in-constants',
4371 os.path.join('spec', 'arb_compute_shader', 'minimum-maximums.txt')],
4372 'built-in constants',
4373 override_class=BuiltInConstantsTest)
4374 g(['arb_compute_shader-work_group_size_too_large'],
4375 grouptools.join('compiler', 'work_group_size_too_large'))
4376 g(['arb_compute_shader-dlist'], 'display-list')
4377 g(['arb_compute_shader-indirect-compute'], 'indirect-compute')
4378 g(['arb_compute_shader-local-id'], 'local-id' + '-explosion')
4379 g(['arb_compute_shader-render-and-compute'], 'render-and-compute')
4380 g(['arb_compute_shader-zero-dispatch-size'], 'zero-dispatch-size')
4382 with profile.test_list.group_manager(
4383 PiglitGLTest,
4384 grouptools.join('spec', 'arb_shader_storage_buffer_object')) as g:
4385 g(['arb_shader_storage_buffer_object-minmax'], 'minmax')
4386 g(['arb_shader_storage_buffer_object-rendering'], 'rendering')
4387 g(['arb_shader_storage_buffer_object-issue1258'], 'issue1258')
4388 g(['arb_shader_storage_buffer_object-getintegeri_v'], 'getintegeri_v')
4389 g(['arb_shader_storage_buffer_object-deletebuffers'], 'deletebuffers')
4390 g(['arb_shader_storage_buffer_object-maxblocks'], 'maxblocks')
4391 g(['arb_shader_storage_buffer_object-ssbo-binding'], 'ssbo-binding')
4392 g(['arb_shader_storage_buffer_object-array-ssbo-binding'], 'array-ssbo-binding')
4393 g(['arb_shader_storage_buffer_object-array-ssbo-auto-binding'], 'array-ssbo-auto-binding')
4394 g(['arb_shader_storage_buffer_object-layout-std430-write-shader'], 'layout-std430-write-shader')
4395 g(['arb_shader_storage_buffer_object-layout-std140-write-shader'], 'layout-std140-write-shader')
4396 g(['arb_shader_storage_buffer_object-program_interface_query'], 'program-interface-query')
4398 with profile.test_list.group_manager(
4399 PiglitGLTest,
4400 grouptools.join('spec', 'arb_shader_storage_buffer_object',
4401 'max-ssbo-size')) as g:
4402 g(['arb_shader_storage_buffer_object-max-ssbo-size', 'vs'], 'vs')
4403 g(['arb_shader_storage_buffer_object-max-ssbo-size', 'vsexceed'],
4404 'vsexceed')
4405 g(['arb_shader_storage_buffer_object-max-ssbo-size', 'fs'], 'fs')
4406 g(['arb_shader_storage_buffer_object-max-ssbo-size', 'fsexceed'],
4407 'fsexceed')
4409 with profile.test_list.group_manager(
4410 PiglitGLTest,
4411 grouptools.join('spec', 'arb_sparse_buffer')) as g:
4412 g(['arb_sparse_buffer-basic'], 'basic')
4413 g(['arb_sparse_buffer-buffer-data'], 'buffer-data')
4414 g(['arb_sparse_buffer-commit'], 'commit')
4415 g(['arb_sparse_buffer-minmax'], 'minmax')
4417 with profile.test_list.group_manager(
4418 PiglitGLTest,
4419 grouptools.join('spec', 'ext_polygon_offset_clamp')) as g:
4420 g(['ext_polygon_offset_clamp-draw'])
4421 g(['ext_polygon_offset_clamp-draw_gles2'])
4422 g(['ext_polygon_offset_clamp-dlist'])
4424 with profile.test_list.group_manager(
4425 PiglitGLTest,
4426 grouptools.join('spec', 'ARB_pipeline_statistics_query')) as g:
4427 g(['arb_pipeline_statistics_query-extra_prims'])
4428 g(['arb_pipeline_statistics_query-vert'])
4429 g(['arb_pipeline_statistics_query-vert_adj'])
4430 g(['arb_pipeline_statistics_query-clip'])
4431 g(['arb_pipeline_statistics_query-geom'])
4432 g(['arb_pipeline_statistics_query-frag'])
4433 g(['arb_pipeline_statistics_query-comp'])
4435 with profile.test_list.group_manager(PiglitGLTest, 'hiz') as g:
4436 g(['hiz-depth-stencil-test-fbo-d0-s8'], run_concurrent=False)
4437 g(['hiz-depth-stencil-test-fbo-d24-s0'], run_concurrent=False)
4438 g(['hiz-depth-stencil-test-fbo-d24-s8'], run_concurrent=False)
4439 g(['hiz-depth-stencil-test-fbo-d24s8'], run_concurrent=False)
4440 g(['hiz-depth-read-fbo-d24-s0'], run_concurrent=False)
4441 g(['hiz-depth-read-fbo-d24-s8'], run_concurrent=False)
4442 g(['hiz-depth-read-fbo-d24s8'], run_concurrent=False)
4443 g(['hiz-depth-read-window-stencil0'], run_concurrent=False)
4444 g(['hiz-depth-read-window-stencil1'], run_concurrent=False)
4445 g(['hiz-depth-test-fbo-d24-s0'], run_concurrent=False)
4446 g(['hiz-depth-test-fbo-d24-s8'], run_concurrent=False)
4447 g(['hiz-depth-test-fbo-d24s8'], run_concurrent=False)
4448 g(['hiz-depth-test-window-stencil0'], run_concurrent=False)
4449 g(['hiz-depth-test-window-stencil1'], run_concurrent=False)
4450 g(['hiz-stencil-read-fbo-d0-s8'], run_concurrent=False)
4451 g(['hiz-stencil-read-fbo-d24-s8'], run_concurrent=False)
4452 g(['hiz-stencil-read-fbo-d24s8'], run_concurrent=False)
4453 g(['hiz-stencil-read-window-depth0'], run_concurrent=False)
4454 g(['hiz-stencil-read-window-depth1'], run_concurrent=False)
4455 g(['hiz-stencil-test-fbo-d0-s8'], run_concurrent=False)
4456 g(['hiz-stencil-test-fbo-d24-s8'], run_concurrent=False)
4457 g(['hiz-stencil-test-fbo-d24s8'], run_concurrent=False)
4458 g(['hiz-stencil-test-window-depth0'], run_concurrent=False)
4459 g(['hiz-stencil-test-window-depth1'], run_concurrent=False)
4461 with profile.test_list.group_manager(PiglitGLTest, 'fast_color_clear') as g:
4462 g(['fcc-blit-between-clears'])
4463 g(['fcc-write-after-clear'])
4464 g(['fcc-read-to-pbo-after-clear'], run_concurrent=False)
4465 g(['fcc-front-buffer-distraction'], run_concurrent=False)
4467 for subtest in ('sample', 'read_pixels', 'blit', 'copy'):
4468 for buffer_type in ('rb', 'tex'):
4469 if subtest == 'sample' and buffer_type == 'rb':
4470 continue
4471 g(['fcc-read-after-clear', subtest, buffer_type])
4473 with profile.test_list.group_manager(
4474 PiglitGLTest, grouptools.join('spec', 'ext_unpack_subimage')) as g:
4475 g(['ext_unpack_subimage'], 'basic')
4477 with profile.test_list.group_manager(
4478 PiglitGLTest, grouptools.join('spec', 'oes_draw_texture')) as g:
4479 g(['oes_draw_texture'])
4481 with profile.test_list.group_manager(
4482 PiglitGLTest,
4483 grouptools.join('spec', 'oes_compressed_etc1_rgb8_texture')) as g:
4484 g(['oes_compressed_etc1_rgb8_texture-basic'], 'basic')
4485 g(['oes_compressed_etc1_rgb8_texture-miptree'], 'miptree')
4487 with profile.test_list.group_manager(
4488 PiglitGLTest,
4489 grouptools.join('spec', 'khr_parallel_shader_compile')) as g:
4490 g(['khr_parallel_shader_compile-basic'], 'basic')
4491 g(['khr_parallel_shader_compile-basic_gles2'], 'basic_gles2')
4493 with profile.test_list.group_manager(
4494 PiglitGLTest,
4495 grouptools.join('spec', 'khr_texture_compression_astc')) as g:
4496 g(['arb_texture_compression-invalid-formats', 'astc'], 'invalid formats')
4497 g(['khr_compressed_astc-array_gl'], 'array-gl')
4498 g(['khr_compressed_astc-array_gles3'], 'array-gles')
4499 g(['khr_compressed_astc-basic_gl'], 'basic-gl')
4500 g(['khr_compressed_astc-basic_gles2'], 'basic-gles')
4501 g(['void-extent-dl-bug'], 'void-extent-dl-bug')
4503 for subtest in ('hdr', 'ldr', 'srgb', "srgb-fp", "srgb-sd"):
4504 g(['khr_compressed_astc-miptree_gl', '-subtest', subtest],
4505 'miptree-gl {}'.format(subtest))
4506 g(['khr_compressed_astc-miptree_gles2', '-subtest', subtest],
4507 'miptree-gles {}'.format(subtest))
4508 for subtest in ('hdr', 'ldr', 'srgb', 'srgb-fp'):
4509 g(['khr_compressed_astc-sliced-3d-miptree_gl', '-subtest', subtest],
4510 'sliced-3d-miptree-gl {}'.format(subtest))
4511 g(['khr_compressed_astc-sliced-3d-miptree_gles3', '-subtest', subtest],
4512 'sliced-3d-miptree-gles {}'.format(subtest))
4514 with profile.test_list.group_manager(
4515 PiglitGLTest,
4516 grouptools.join('spec', 'oes_texture_compression_astc')) as g:
4517 for subtest in ('hdr', 'ldr', 'srgb'):
4518 g(['oes_compressed_astc-miptree-3d_gl', '-subtest', subtest],
4519 'miptree-3d-gl {}'.format(subtest))
4520 g(['oes_compressed_astc-miptree-3d_gles3', '-subtest', subtest],
4521 'miptree-3d-gles {}'.format(subtest))
4523 with profile.test_list.group_manager(
4524 PiglitGLTest,
4525 grouptools.join('spec', 'nv_read_depth')) as g:
4526 g(['read_depth_gles3'])
4528 with profile.test_list.group_manager(
4529 PiglitGLTest,
4530 grouptools.join('spec', 'oes_compressed_paletted_texture')) as g:
4531 g(['oes_compressed_paletted_texture-api'], 'basic API')
4532 g(['arb_texture_compression-invalid-formats', 'paletted'],
4533 'invalid formats')
4535 with profile.test_list.group_manager(
4536 PiglitGLTest,
4537 grouptools.join('spec', 'egl 1.4'),
4538 exclude_platforms=['glx']) as g:
4539 g(['egl-create-surface'], 'eglCreateSurface', run_concurrent=False)
4540 g(['egl-query-surface', '--bad-attr'], 'eglQuerySurface EGL_BAD_ATTRIBUTE',
4541 run_concurrent=False)
4542 g(['egl-query-surface', '--bad-surface'],
4543 'eglQuerySurface EGL_BAD_SURFACE',
4544 run_concurrent=False)
4545 g(['egl-query-surface', '--attr=EGL_HEIGHT'], 'eglQuerySurface EGL_HEIGHT',
4546 run_concurrent=False)
4547 g(['egl-query-surface', '--attr=EGL_WIDTH'], 'eglQuerySurface EGL_WIDTH',
4548 run_concurrent=False)
4549 g(['egl-terminate-then-unbind-context'],
4550 'eglTerminate then unbind context',
4551 run_concurrent=False)
4552 g(['egl-create-pbuffer-surface'],
4553 'eglCreatePbufferSurface and then glClear',
4554 run_concurrent=False)
4555 g(['egl-create-msaa-pbuffer-surface'],
4556 'eglCreatePbufferSurface with EGL_SAMPLES set',
4557 run_concurrent=False)
4558 g(['egl-create-largest-pbuffer-surface'],
4559 'largest possible eglCreatePbufferSurface and then glClear',
4560 run_concurrent=False)
4561 g(['egl-invalid-attr'])
4562 g(['egl-context-priority'])
4563 g(['egl-blob-cache'])
4564 g(['egl-copy-buffers'])
4565 g(['egl-gl_oes_egl_image'])
4566 g(['egl-flush-external'])
4567 g(['egl-ext_egl_image_storage'])
4569 with profile.test_list.group_manager(
4570 PiglitGLTest,
4571 grouptools.join('spec', 'egl_nok_swap_region'),
4572 exclude_platforms=['glx']) as g:
4573 g(['egl-nok-swap-region'], 'basic', run_concurrent=False)
4575 with profile.test_list.group_manager(
4576 PiglitGLTest,
4577 grouptools.join('spec', 'egl_nok_texture_from_pixmap'),
4578 exclude_platforms=['glx']) as g:
4579 g(['egl-nok-texture-from-pixmap'], 'basic', run_concurrent=False)
4581 with profile.test_list.group_manager(
4582 PiglitGLTest,
4583 grouptools.join('spec', 'egl_khr_create_context'),
4584 exclude_platforms=['glx']) as g:
4585 g(['egl-create-context-default-major-version-gles'],
4586 'default major version GLES', run_concurrent=False)
4587 g(['egl-create-context-default-major-version-gl'],
4588 'default major version GL', run_concurrent=False)
4589 g(['egl-create-context-default-minor-version-gles'],
4590 'default minor version GLES', run_concurrent=False)
4591 g(['egl-create-context-default-minor-version-gl'],
4592 'default minor version GL', run_concurrent=False)
4593 g(['egl-create-context-valid-attribute-empty-gles'],
4594 'valid attribute empty GLES', run_concurrent=False)
4595 g(['egl-create-context-valid-attribute-empty-gl'],
4596 'valid attribute empty GL', run_concurrent=False)
4597 g(['egl-create-context-valid-attribute-null-gles'],
4598 'NULL valid attribute GLES', run_concurrent=False)
4599 g(['egl-create-context-valid-attribute-null-gl'],
4600 'NULL valid attribute GL', run_concurrent=False)
4601 g(['egl-create-context-invalid-gl-version'], 'invalid OpenGL version',
4602 run_concurrent=False)
4603 g(['egl-create-context-invalid-attribute-gles'], 'invalid attribute GLES',
4604 run_concurrent=False)
4605 g(['egl-create-context-invalid-attribute-gl'], 'invalid attribute GL',
4606 run_concurrent=False)
4607 g(['egl-create-context-invalid-flag-gles'], 'invalid flag GLES',
4608 run_concurrent=False)
4609 g(['egl-create-context-invalid-flag-gl'], 'invalid flag GL',
4610 run_concurrent=False)
4611 g(['egl-create-context-valid-flag-forward-compatible-gl'],
4612 'valid forward-compatible flag GL', run_concurrent=False)
4613 g(['egl-create-context-invalid-profile'], 'invalid profile',
4614 run_concurrent=False)
4615 g(['egl-create-context-core-profile'], '3.2 core profile required',
4616 run_concurrent=False)
4617 g(['egl-create-context-pre-GL32-profile'], 'pre-GL3.2 profile',
4618 run_concurrent=False)
4619 g(['egl-create-context-verify-gl-flavor'], 'verify GL flavor',
4620 run_concurrent=False)
4621 g(['egl-create-context-valid-flag-debug-gl', 'gl'], 'valid debug flag GL',
4622 run_concurrent=False)
4623 g(['egl-create-context-no-error', 'gl'], 'no-error context GL',
4624 run_concurrent=False)
4626 for api in ('gles1', 'gles2', 'gles3'):
4627 g(['egl-create-context-valid-flag-debug-gles', api],
4628 'valid debug flag {}'.format(api), run_concurrent=False)
4630 with profile.test_list.group_manager(
4631 PiglitGLTest,
4632 grouptools.join('spec', 'egl_khr_gl_image'),
4633 exclude_platforms=['glx']) as g:
4634 for internal_format in ('GL_RGBA', 'GL_DEPTH_COMPONENT24'):
4635 g(['egl_khr_gl_renderbuffer_image-clear-shared-image', internal_format],
4636 run_concurrent=False)
4638 with profile.test_list.group_manager(
4639 PiglitGLTest,
4640 grouptools.join('spec', 'egl_khr_surfaceless_context'),
4641 exclude_platforms=['glx']) as g:
4642 g(['egl-surfaceless-context-viewport'], 'viewport',
4643 run_concurrent=False)
4645 with profile.test_list.group_manager(
4646 PiglitGLTest,
4647 grouptools.join('spec', 'egl_mesa_configless_context'),
4648 exclude_platforms=['glx']) as g:
4649 g(['egl-configless-context'], 'basic')
4651 with profile.test_list.group_manager(
4652 PiglitGLTest,
4653 grouptools.join('spec', 'egl_ext_client_extensions'),
4654 exclude_platforms=['glx']) as g:
4655 for i in [1, 2, 3]:
4656 g(['egl_ext_client_extensions', str(i)],
4657 'conformance test {0}'.format(i))
4659 with profile.test_list.group_manager(
4660 PiglitGLTest,
4661 grouptools.join('spec', 'egl_khr_fence_sync'),
4662 exclude_platforms=['glx']) as g:
4663 g(['egl_khr_fence_sync'], 'conformance')
4665 with profile.test_list.group_manager(
4666 PiglitGLTest,
4667 grouptools.join('spec', 'egl_android_native_fence_sync'),
4668 exclude_platforms=['glx']) as g:
4669 g(['egl_khr_fence_sync', 'android_native'])
4671 with profile.test_list.group_manager(
4672 PiglitGLTest,
4673 grouptools.join('spec', 'egl_khr_gl_colorspace'),
4674 exclude_platforms=['glx']) as g:
4675 g(['egl-gl-colorspace'], 'linear')
4676 g(['egl-gl-colorspace', 'srgb'], 'srgb')
4678 with profile.test_list.group_manager(
4679 PiglitGLTest,
4680 grouptools.join('spec', 'egl_khr_wait_sync'),
4681 exclude_platforms=['glx']) as g:
4682 g(['egl_khr_fence_sync', 'wait_sync'], 'conformance')
4684 with profile.test_list.group_manager(
4685 PiglitGLTest,
4686 grouptools.join('spec', 'egl_khr_get_all_proc_addresses'),
4687 exclude_platforms=['glx']) as g:
4688 g(['egl_khr_get_all_proc_addresses'], 'conformance')
4690 with profile.test_list.group_manager(
4691 PiglitGLTest,
4692 grouptools.join('spec', 'egl_chromium_sync_control'),
4693 exclude_platforms=['glx']) as g:
4694 g(['egl_chromium_sync_control'], 'conformance')
4696 with profile.test_list.group_manager(
4697 PiglitGLTest,
4698 grouptools.join('spec', 'egl_ext_device_query'),
4699 exclude_platforms=['glx']) as g:
4700 g(['egl_ext_device_query'], 'conformance')
4702 with profile.test_list.group_manager(
4703 PiglitGLTest,
4704 grouptools.join('spec', 'egl_ext_device_enumeration'),
4705 exclude_platforms=['glx']) as g:
4706 g(['egl_ext_device_enumeration'], 'conformance')
4708 with profile.test_list.group_manager(
4709 PiglitGLTest,
4710 grouptools.join('spec', 'egl_ext_device_drm'),
4711 exclude_platforms=['glx']) as g:
4712 g(['egl_ext_device_drm'], 'conformance')
4714 with profile.test_list.group_manager(
4715 PiglitGLTest,
4716 grouptools.join('spec', 'egl_ext_platform_device'),
4717 exclude_platforms=['glx']) as g:
4718 g(['egl_ext_platform_device'], 'conformance')
4720 with profile.test_list.group_manager(
4721 PiglitGLTest,
4722 grouptools.join('spec', 'egl_ext_device_base'),
4723 exclude_platforms=['glx']) as g:
4724 g(['egl_ext_device_base'], 'conformance')
4726 with profile.test_list.group_manager(
4727 PiglitGLTest,
4728 grouptools.join('spec', 'egl_mesa_device_software'),
4729 exclude_platforms=['glx']) as g:
4730 g(['egl_mesa_device_software'], 'conformance')
4732 with profile.test_list.group_manager(
4733 PiglitGLTest,
4734 grouptools.join('spec', 'egl_mesa_query_driver'),
4735 exclude_platforms=['glx']) as g:
4736 g(['egl_mesa_query_driver'], 'conformance')
4738 with profile.test_list.group_manager(
4739 PiglitGLTest,
4740 grouptools.join('spec', 'egl_mesa_platform_surfaceless'),
4741 exclude_platforms=['glx']) as g:
4742 g(['egl_mesa_platform_surfaceless'], 'conformance')
4744 with profile.test_list.group_manager(
4745 PiglitGLTest,
4746 grouptools.join('spec', 'egl_ext_image_dma_buf_import_modifiers'),
4747 exclude_platforms=['glx']) as g:
4748 g(['egl_ext_image_dma_buf_import_modifiers-query'], 'conformance')
4750 with profile.test_list.group_manager(
4751 PiglitGLTest, grouptools.join('spec', '!opengl ES 2.0')) as g:
4752 g(['glsl-fs-pointcoord_gles2'], 'glsl-fs-pointcoord')
4753 g(['invalid-es3-queries_gles2'])
4754 g(['link-no-vsfs_gles2'], 'link-no-vsfs')
4755 g(['minmax_gles2'])
4756 g(['multiple-shader-objects_gles2'])
4757 g(['fbo_discard_gles2'])
4758 g(['draw_buffers_gles2'])
4760 with profile.test_list.group_manager(
4761 PiglitGLTest, grouptools.join('spec', '!opengl ES 3.0')) as g:
4762 g(['minmax_gles3'], 'minmax')
4763 g(['texture-immutable-levels_gles3'], 'texture-immutable-levels')
4764 g(['gles-3.0-drawarrays-vertexid'], 'gl_VertexID used with glDrawArrays')
4765 g(['gles-3.0-transform-feedback-uniform-buffer-object'])
4766 g(['gles-3.0-attribute-aliasing'], 'vertex attribute aliasing')
4768 for test_mode in ['teximage', 'texsubimage']:
4769 g(['ext_texture_array-compressed_gles3', test_mode, '-fbo'],
4770 'ext_texture_array-compressed_gles3 {0}'.format(test_mode),
4771 run_concurrent=False)
4773 for tex_format in ['rgb8', 'srgb8', 'rgba8', 'srgb8-alpha8', 'r11', 'rg11',
4774 'rgb8-punchthrough-alpha1',
4775 'srgb8-punchthrough-alpha1']:
4776 g(['oes_compressed_etc2_texture-miptree_gles3', tex_format])
4778 with profile.test_list.group_manager(
4779 PiglitGLTest, grouptools.join('spec', 'arb_es3_compatibility')) as g:
4780 g(['es3-primrestart-fixedindex'])
4781 g(['es3-drawarrays-primrestart-fixedindex'])
4783 for tex_format in ['rgb8', 'srgb8', 'rgba8', 'srgb8-alpha8', 'r11', 'rg11',
4784 'rgb8-punchthrough-alpha1',
4785 'srgb8-punchthrough-alpha1']:
4786 for context in ['core', 'compat']:
4787 g(['oes_compressed_etc2_texture-miptree', tex_format, context])
4789 with profile.test_list.group_manager(
4790 PiglitGLTest,
4791 grouptools.join('spec', 'arb_shader_atomic_counters')) as g:
4792 g(['arb_shader_atomic_counters-active-counters'], 'active-counters')
4793 g(['arb_shader_atomic_counters-array-indexing'], 'array-indexing')
4794 g(['arb_shader_atomic_counters-buffer-binding'], 'buffer-binding')
4795 g(['arb_shader_atomic_counters-default-partition'], 'default-partition')
4796 g(['arb_shader_atomic_counters-fragment-discard'], 'fragment-discard')
4797 g(['arb_shader_atomic_counters-function-argument'], 'function-argument')
4798 g(['arb_shader_atomic_counters-max-counters'], 'max-counters')
4799 g(['arb_shader_atomic_counters-minmax'], 'minmax')
4800 g(['arb_shader_atomic_counters-multiple-defs'], 'multiple-defs')
4801 g(['arb_shader_atomic_counters-semantics'], 'semantics')
4802 g(['arb_shader_atomic_counters-unique-id'], 'unique-id')
4803 g(['arb_shader_atomic_counters-unused-result'], 'unused-result')
4804 g(['arb_shader_atomic_counters-respecify-buffer'], 'respecify-buffer')
4806 with profile.test_list.group_manager(
4807 PiglitGLTest,
4808 grouptools.join('spec', 'arb_direct_state_access')) as g:
4809 g(['arb_direct_state_access-create-transformfeedbacks'],
4810 'create-transformfeedbacks')
4811 g(['arb_direct_state_access-transformfeedback-bufferbase'],
4812 'transformfeedback-bufferbase')
4813 g(['arb_direct_state_access-transformfeedback-bufferrange'],
4814 'transformfeedback-bufferrange')
4815 g(['arb_direct_state_access-gettransformfeedback'], 'gettransformfeedback')
4816 g(['arb_direct_state_access-create-renderbuffers'], 'create-renderbuffers')
4817 g(['arb_direct_state_access-namedrenderbuffer'], 'namedrenderbuffer')
4818 g(['arb_direct_state_access-dsa-textures'], 'dsa-textures')
4819 g(['arb_direct_state_access-texturesubimage'], 'texturesubimage')
4820 g(['arb_direct_state_access-bind-texture-unit'], 'bind-texture-unit')
4821 g(['arb_direct_state_access-create-textures'], 'create-textures')
4822 g(['arb_direct_state_access-texture-storage'], 'textures-storage')
4823 g(['arb_direct_state_access-texunits'], 'texunits')
4824 g(['arb_direct_state_access-texture-params'], 'texture-params')
4825 g(['arb_direct_state_access-copytexturesubimage'], 'copytexturesubimage')
4826 g(['arb_direct_state_access-texture-errors'], 'texture-errors')
4827 g(['arb_direct_state_access-get-textures'], 'get-textures')
4828 g(['arb_direct_state_access-gettextureimage-formats'],
4829 'gettextureimage-formats')
4830 g(['arb_direct_state_access-gettextureimage-formats', 'init-by-rendering'],
4831 'gettextureimage-formats init-by-rendering')
4832 g(['arb_direct_state_access-gettextureimage-luminance'],
4833 'gettextureimage-luminance')
4834 g(['arb_direct_state_access-gettextureimage-targets'],
4835 'gettextureimage-targets')
4836 g(['arb_direct_state_access-compressedtextureimage',
4837 'GL_COMPRESSED_RGBA_S3TC_DXT5_EXT'],
4838 'compressedtextureimage GL_COMPRESSED_RGBA_S3TC_DXT5_EXT')
4839 g(['arb_direct_state_access-getcompressedtextureimage'],
4840 'getcompressedtextureimage')
4841 g(['arb_direct_state_access-texture-storage-multisample'],
4842 'texture-storage-multisample')
4843 g(['arb_direct_state_access-texture-buffer'], 'texture-buffer')
4844 g(['arb_direct_state_access-create-samplers'], 'create-samplers')
4845 g(['arb_direct_state_access-create-programpipelines'],
4846 'create-programpipelines')
4847 g(['arb_direct_state_access-create-queries'], 'create-queries')
4848 g(['arb_direct_state_access-generatetexturemipmap'], 'generatetexturemipmap')
4850 with profile.test_list.group_manager(
4851 PiglitGLTest,
4852 grouptools.join('spec', 'ext_direct_state_access')) as g:
4853 g(['ext_direct_state_access-matrix-commands'],
4854 'matrix-commands')
4855 g(['ext_direct_state_access-textures'],
4856 'textures')
4857 g(['ext_direct_state_access-multi-texture'],
4858 'multi-texture')
4859 g(['ext_direct_state_access-named-buffers', '15'],
4860 'named-buffers 15')
4861 g(['ext_direct_state_access-named-buffers', '30'],
4862 'named-buffers 30')
4863 g(['ext_direct_state_access-compressedtextureimage',
4864 'GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT'],
4865 'compressedtextureimage GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT')
4866 g(['ext_direct_state_access-client-state-indexed', '12'],
4867 'client-state-indexed 12')
4868 g(['ext_direct_state_access-client-state-indexed', '30'],
4869 'client-state-indexed 30')
4870 g(['ext_direct_state_access-indexed-state-queries', '12'],
4871 'indexed-state-queries 12')
4872 g(['ext_direct_state_access-indexed-state-queries', '30'],
4873 'indexed-state-queries 30')
4874 g(['ext_direct_state_access-program-uniform'],
4875 'program-uniform')
4876 g(['ext_direct_state_access-named-program'],
4877 'named-program')
4878 g(['ext_direct_state_access-renderbuffer'], 'renderbuffer')
4879 g(['ext_direct_state_access-framebuffer'], 'framebuffer')
4880 g(['ext_direct_state_access-compressedmultiteximage',
4881 'GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT'],
4882 'compressedmultiteximage GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT')
4883 g(['ext_direct_state_access-vao'], 'vao')
4885 with profile.test_list.group_manager(
4886 PiglitGLTest,
4887 grouptools.join('spec', 'arb_shader_image_load_store')) as g:
4888 g(['arb_shader_image_load_store-atomicity'], 'atomicity')
4889 g(['arb_shader_image_load_store-bitcast'], 'bitcast')
4890 g(['arb_shader_image_load_store-coherency'], 'coherency')
4891 g(['arb_shader_image_load_store-dead-fragments'], 'dead-fragments')
4892 g(['arb_shader_image_load_store-early-z'], 'early-z')
4893 g(['arb_shader_image_load_store-host-mem-barrier'], 'host-mem-barrier')
4894 g(['arb_shader_image_load_store-indexing'], 'indexing')
4895 g(['arb_shader_image_load_store-invalid'], 'invalid')
4896 g(['arb_shader_image_load_store-layer'], 'layer')
4897 g(['arb_shader_image_load_store-level'], 'level')
4898 g(['arb_shader_image_load_store-max-images'], 'max-images')
4899 g(['arb_shader_image_load_store-max-size'], 'max-size')
4900 g(['arb_shader_image_load_store-minmax'], 'minmax')
4901 g(['arb_shader_image_load_store-qualifiers'], 'qualifiers')
4902 g(['arb_shader_image_load_store-restrict'], 'restrict')
4903 g(['arb_shader_image_load_store-semantics'], 'semantics')
4904 g(['arb_shader_image_load_store-shader-mem-barrier'], 'shader-mem-barrier')
4905 g(['arb_shader_image_load_store-state'], 'state')
4906 g(['arb_shader_image_load_store-unused'], 'unused')
4908 with profile.test_list.group_manager(
4909 PiglitGLTest,
4910 grouptools.join('spec', 'arb_post_depth_coverage')) as g:
4911 g(['arb_post_depth_coverage-basic'])
4912 g(['arb_post_depth_coverage-multisampling'])
4913 g(['arb_post_depth_coverage-sample-shading'])
4915 with profile.test_list.group_manager(
4916 PiglitGLTest,
4917 grouptools.join('spec', 'arb_fragment_shader_interlock')) as g:
4918 g(['arb_fragment_shader_interlock-image-load-store'])
4920 with profile.test_list.group_manager(
4921 PiglitGLTest,
4922 grouptools.join('spec', 'arb_shader_image_size')) as g:
4923 g(['arb_shader_image_size-builtin'], 'builtin')
4925 with profile.test_list.group_manager(
4926 PiglitGLTest,
4927 grouptools.join('spec', 'arb_shader_texture_image_samples')) as g:
4928 g(['arb_shader_texture_image_samples-builtin-image'], 'builtin-image')
4930 with profile.test_list.group_manager(
4931 PiglitGLTest,
4932 grouptools.join('spec', 'arb_texture_stencil8')) as g:
4933 g(['arb_texture_stencil8-draw'], 'draw')
4934 g(['arb_texture_stencil8-getteximage'], 'getteximage')
4935 g(['arb_texture_stencil8-stencil-texture'], 'stencil-texture')
4936 g(['arb_texture_stencil8-fbo-stencil8', 'clear', 'GL_STENCIL_INDEX8'], 'fbo-stencil-clear')
4937 g(['arb_texture_stencil8-fbo-stencil8', 'blit', 'GL_STENCIL_INDEX8'], 'fbo-stencil-blit')
4938 g(['arb_texture_stencil8-fbo-stencil8', 'readpixels', 'GL_STENCIL_INDEX8'], 'fbo-stencil-readpixels')
4939 add_fbo_formats_tests(g, 'GL_ARB_texture_stencil8')
4940 add_texwrap_format_tests(g, 'GL_ARB_texture_stencil8')
4942 with profile.test_list.group_manager(
4943 PiglitGLTest,
4944 grouptools.join('spec', 'arb_vertex_attrib_64bit')) as g:
4945 g(['arb_vertex_attrib_64bit-double_attribs'], 'double_attribs')
4946 g(['arb_vertex_attrib_64bit-double_attribs_dlist'], 'get_double_attribs-display-lists')
4947 g(['arb_vertex_attrib_64bit-check-explicit-location'], 'check-explicit-location')
4948 g(['arb_vertex_attrib_64bit-getactiveattrib'], 'getactiveattrib')
4949 g(['arb_vertex_attrib_64bit-max-vertex-attrib'], 'max-vertex-attrib')
4950 for test_type in ('shader', 'api'):
4951 g(['arb_vertex_attrib_64bit-overlapping-locations', test_type],
4952 run_concurrent=False)
4954 with profile.test_list.group_manager(
4955 PiglitGLTest,
4956 grouptools.join('spec', 'arb_query_buffer_object')) as g:
4957 g(['arb_query_buffer_object-qbo'], 'qbo')
4958 g(['arb_query_buffer_object-coherency'], 'coherency')
4960 with profile.test_list.group_manager(
4961 PiglitGLTest,
4962 grouptools.join('spec', 'ext_framebuffer_blit')) as g:
4963 g(['ext_framebuffer_blit-blit-early'], 'blit-early')
4965 # Group OES_draw_elements_base_vertex
4966 with profile.test_list.group_manager(
4967 PiglitGLTest,
4968 grouptools.join('spec', 'OES_draw_elements_base_vertex')) as g:
4969 g(['oes_draw_elements_base_vertex-drawelements'], run_concurrent=False)
4970 g(['oes_draw_elements_base_vertex-drawelements-instanced'],
4971 run_concurrent=False)
4972 g(['oes_draw_elements_base_vertex-drawrangeelements'],
4973 run_concurrent=False)
4974 g(['oes_draw_elements_base_vertex-multidrawelements'],
4975 run_concurrent=False)
4977 with profile.test_list.group_manager(
4978 BuiltInConstantsTest,
4979 grouptools.join('spec', 'oes_geometry_shader')) as g:
4980 g(['built-in-constants_gles3',
4981 os.path.join('spec', 'oes_geometry_shader', 'minimum-maximums.txt')],
4982 'built-in constants')
4984 # Group EXT_shader_samples_identical
4985 with profile.test_list.group_manager(
4986 PiglitGLTest,
4987 grouptools.join('spec', 'EXT_shader_samples_identical')) as g:
4988 for sample_count in MSAA_SAMPLE_COUNTS:
4989 g(['ext_shader_samples_identical-simple-fs', sample_count])
4991 # Group ARB_shader_draw_parameters
4992 with profile.test_list.group_manager(
4993 PiglitGLTest,
4994 grouptools.join('spec', 'ARB_shader_draw_parameters')) as g:
4995 g(['arb_shader_draw_parameters-drawid', 'drawid'], 'drawid')
4996 g(['arb_shader_draw_parameters-drawid', 'vertexid'], 'drawid-vertexid')
4997 g(['arb_shader_draw_parameters-drawid-indirect', 'drawid'], 'drawid-indirect')
4998 g(['arb_shader_draw_parameters-drawid-indirect', 'basevertex'], 'drawid-indirect-basevertex')
4999 g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 'drawid-indirect-baseinstance')
5000 g(['arb_shader_draw_parameters-drawid-indirect', 'vertexid'], 'drawid-indirect-vertexid')
5002 variables = ('basevertex', 'baseinstance', 'basevertex-baseinstance', 'vertexid-zerobased')
5003 for v in variables:
5004 g(['arb_shader_draw_parameters-basevertex', v], v)
5005 for v in variables:
5006 g(['arb_shader_draw_parameters-basevertex', v, 'indirect'], v + '-indirect')
5008 # Group ARB_indirect_parameters
5009 with profile.test_list.group_manager(
5010 PiglitGLTest,
5011 grouptools.join('spec', 'ARB_indirect_parameters')) as g:
5012 g(['arb_indirect_parameters-tf-count-arrays'], 'tf-count-arrays')
5013 g(['arb_indirect_parameters-tf-count-elements'], 'tf-count-elements')
5014 g(['arb_indirect_parameters-conditional-render'], 'conditional-render')
5016 with profile.test_list.group_manager(
5017 PiglitGLTest,
5018 grouptools.join('object namespace pollution')) as g:
5019 for object_type in ("buffer", "framebuffer", "program", "renderbuffer", "texture", "vertex-array"):
5020 for operation in ("glBitmap", "glBlitFramebuffer", "glClear", "glClearTexSubImage", "glCopyImageSubData", "glCopyPixels", "glCopyTexSubImage2D", "glDrawPixels", "glGenerateMipmap", "glGetTexImage", "glGetTexImage-compressed", "glTexSubImage2D"):
5021 g(['object-namespace-pollution', operation, object_type],
5022 '{} with {}'.format(object_type, operation))
5024 # Group ARB_texture_barrier
5025 resolution_set = ['32', '512']
5026 blend_passes_set = ['1', '42']
5027 num_textures_set = ['1', '8']
5028 granularity_set = ['8', '64', '128']
5029 draw_passes_set = ['1', '2', '3', '4', '7', '8']
5031 with profile.test_list.group_manager(
5032 PiglitGLTest,
5033 grouptools.join('spec', 'arb_texture_barrier')) as g:
5034 for resolution, blend_passes, num_textures, granularity, draw_passes in itertools.product(
5035 resolution_set, blend_passes_set, num_textures_set, granularity_set, draw_passes_set):
5036 g(['arb_texture_barrier-blending-in-shader', resolution,
5037 blend_passes, num_textures, granularity, draw_passes])
5040 # Group ARB_invalidate_subdata
5041 with profile.test_list.group_manager(
5042 PiglitGLTest,
5043 grouptools.join('spec', 'ARB_invalidate_subdata')) as g:
5044 g(['arb_invalidate_subdata-buffer'], 'buffer')
5046 # Group EXT_window_rectangles
5047 with profile.test_list.group_manager(
5048 PiglitGLTest,
5049 grouptools.join('spec', 'EXT_window_rectangles')) as g:
5050 g(['ext_window_rectangles-dlist'], 'dlist')
5051 g(['ext_window_rectangles-errors'], 'errors')
5052 g(['ext_window_rectangles-render'], 'render')
5054 g(['ext_window_rectangles-errors_gles3'], 'errors_gles3')
5055 g(['ext_window_rectangles-render_gles3'], 'render_gles3')
5057 # Group ARB_compute_variable_group_size
5058 with profile.test_list.group_manager(
5059 PiglitGLTest,
5060 grouptools.join('spec', 'ARB_compute_variable_group_size')) as g:
5061 g(['arb_compute_variable_group_size-errors'], 'errors')
5062 g(['arb_compute_variable_group_size-local-size'], 'local-size')
5063 g(['arb_compute_variable_group_size-minmax'], 'minmax')
5065 # Group INTEL_conservative_rasterization
5066 with profile.test_list.group_manager(
5067 PiglitGLTest,
5068 grouptools.join('spec', 'INTEL_conservative_rasterization')) as g:
5069 g(['intel_conservative_rasterization-depthcoverage'])
5070 g(['intel_conservative_rasterization-innercoverage'])
5071 g(['intel_conservative_rasterization-invalid'])
5072 g(['intel_conservative_rasterization-tri'])
5073 g(['intel_conservative_rasterization-depthcoverage_gles3'])
5074 g(['intel_conservative_rasterization-innercoverage_gles3'])
5075 g(['intel_conservative_rasterization-invalid_gles3'])
5076 g(['intel_conservative_rasterization-tri_gles3'])
5078 # Group INTEL_blackhole_render
5079 with profile.test_list.group_manager(
5080 PiglitGLTest,
5081 grouptools.join('spec', 'INTEL_blackhole_render')) as g:
5082 g(['intel_blackhole-blit'])
5083 g(['intel_blackhole-draw'])
5084 g(['intel_blackhole-dispatch'])
5085 g(['intel_blackhole-blit_gles2'])
5086 g(['intel_blackhole-draw_gles2'])
5087 g(['intel_blackhole-blit_gles3'])
5088 g(['intel_blackhole-draw_gles3'])
5090 # Group INTEL_performance_query
5091 with profile.test_list.group_manager(
5092 PiglitGLTest,
5093 grouptools.join('spec', 'INTEL_performance_query')) as g:
5094 g(['intel_performance_query-issue_2235'])
5096 # Group ARB_bindless_texture
5097 with profile.test_list.group_manager(
5098 PiglitGLTest,
5099 grouptools.join('spec', 'ARB_bindless_texture')) as g:
5100 g(['arb_bindless_texture-border-color'], 'border-color')
5101 g(['arb_bindless_texture-conversions'], 'conversions')
5102 g(['arb_bindless_texture-errors'], 'errors')
5103 g(['arb_bindless_texture-handles'], 'handles')
5104 g(['arb_bindless_texture-illegal'], 'illegal')
5105 g(['arb_bindless_texture-legal'], 'legal')
5106 g(['arb_bindless_texture-limit'], 'limit')
5107 g(['arb_bindless_texture-uint64_attribs'], 'uint64_attribs')
5108 g(['arb_bindless_texture-uniform'], 'uniform')
5110 with profile.test_list.group_manager(
5111 PiglitGLTest,
5112 grouptools.join('spec', 'ext_shader_image_load_store')) as g:
5113 g(['ext_shader_image_load_store-image_functions'], 'image_functions')
5114 g(['ext_shader_image_load_store-bind_image_error'], 'bind_image_error')
5116 # Group ARB_sample_locations
5117 with profile.test_list.group_manager(
5118 PiglitGLTest,
5119 grouptools.join('spec', 'ARB_sample_locations')) as g:
5120 g(['arb_sample_locations'], 'test')
5122 with profile.test_list.group_manager(
5123 PiglitGLTest,
5124 grouptools.join('spec', 'NV_image_formats')) as g:
5125 g(['nv_image_formats-gles3'])
5127 with profile.test_list.group_manager(
5128 PiglitGLTest,
5129 grouptools.join('spec', 'EXT_color_buffer_float')) as g:
5130 g(['ext_color_buffer_float-draw_gles3'])
5132 with profile.test_list.group_manager(
5133 PiglitGLTest,
5134 grouptools.join('spec', 'AMD_compressed_atc_texture')) as g:
5135 g(['amd_compressed_atc_texture-miptree'], 'miptree')
5137 with profile.test_list.group_manager(
5138 PiglitGLTest,
5139 grouptools.join('spec', 'OES_EGL_image_external_essl3')) as g:
5140 g(['oes_egl_image_external_essl3'])
5142 with profile.test_list.group_manager(
5143 PiglitGLTest,
5144 grouptools.join('spec', 'NV_viewport_swizzle')) as g:
5145 g(['nv_viewport_swizzle-errors'])
5146 g(['nv_viewport_swizzle-errors_gles3'])
5149 if platform.system() == 'Windows':
5150 profile.filters.append(lambda p, _: not p.startswith('glx'))