[Piglit] [PATCH 5/5] all.tests: enable testing of MSAA visuals for a few selected tests

Marek Olšák maraeo at gmail.com
Sat Jun 1 05:38:42 PDT 2013


These tests have proved to be useful for implementing and fixing MSAA
visuals.

I also recommend the mesa/demos tests "reflect" and "copypixrate" to test front
buffer MSAA rendering.
---
 tests/all.tests |   64 ++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 40 insertions(+), 24 deletions(-)

diff --git a/tests/all.tests b/tests/all.tests
index 058253d..e7d1f7a 100644
--- a/tests/all.tests
+++ b/tests/all.tests
@@ -70,21 +70,31 @@ except SystemExit:
 # List of all of the MSAA sample counts we wish to test
 MSAA_SAMPLE_COUNTS = (2, 4, 6, 8, 16, 32)
 
-def add_fbo_depthstencil_tests(group, format):
+def add_fbo_depthstencil_tests(group, format, num_samples):
 	if format == 'default_fb':
 		prefix = ''
 	else:
 		prefix = 'fbo-'
-	group[prefix + 'depthstencil-' + format + '-clear'] = PlainExecTest(['fbo-depthstencil', '-auto', 'clear', format])
-	group[prefix + 'depthstencil-' + format + '-readpixels-FLOAT-and-USHORT'] = PlainExecTest(['fbo-depthstencil', '-auto', 'readpixels', format, 'FLOAT-and-USHORT'])
-	group[prefix + 'depthstencil-' + format + '-readpixels-24_8'] = PlainExecTest(['fbo-depthstencil', '-auto', 'readpixels', format, '24_8'])
-	group[prefix + 'depthstencil-' + format + '-readpixels-32F_24_8_REV'] = PlainExecTest(['fbo-depthstencil', '-auto', 'readpixels', format, '32F_24_8_REV'])
-	group[prefix + 'depthstencil-' + format + '-drawpixels-FLOAT-and-USHORT'] = PlainExecTest(['fbo-depthstencil', '-auto', 'drawpixels', format, 'FLOAT-and-USHORT'])
-	group[prefix + 'depthstencil-' + format + '-drawpixels-24_8'] = PlainExecTest(['fbo-depthstencil', '-auto', 'drawpixels', format, '24_8'])
-	group[prefix + 'depthstencil-' + format + '-drawpixels-32F_24_8_REV'] = PlainExecTest(['fbo-depthstencil', '-auto', 'drawpixels', format, '32F_24_8_REV'])
-	group[prefix + 'depthstencil-' + format + '-copypixels'] = PlainExecTest(['fbo-depthstencil', '-auto', 'copypixels', format])
-	group[prefix + 'depthstencil-' + format + '-blit'] = PlainExecTest(['fbo-depthstencil', '-auto', 'blit', format])
-
+	if num_samples > 1:
+		suffix = ' samples=' + str(num_samples)
+		psamples = ['-samples=' + str(num_samples)]
+	else:
+		suffix = ''
+		psamples = []
+	group[prefix + 'depthstencil-' + format + '-clear' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'clear', format] + psamples)
+	group[prefix + 'depthstencil-' + format + '-readpixels-FLOAT-and-USHORT' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'readpixels', format, 'FLOAT-and-USHORT'] + psamples)
+	group[prefix + 'depthstencil-' + format + '-readpixels-24_8' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'readpixels', format, '24_8'] + psamples)
+	group[prefix + 'depthstencil-' + format + '-readpixels-32F_24_8_REV' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'readpixels', format, '32F_24_8_REV'] + psamples)
+	group[prefix + 'depthstencil-' + format + '-drawpixels-FLOAT-and-USHORT' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'drawpixels', format, 'FLOAT-and-USHORT'] + psamples)
+	group[prefix + 'depthstencil-' + format + '-drawpixels-24_8' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'drawpixels', format, '24_8'] + psamples)
+	group[prefix + 'depthstencil-' + format + '-drawpixels-32F_24_8_REV' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'drawpixels', format, '32F_24_8_REV'] + psamples)
+	group[prefix + 'depthstencil-' + format + '-copypixels' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'copypixels', format] + psamples)
+	group[prefix + 'depthstencil-' + format + '-blit' + suffix] = PlainExecTest(['fbo-depthstencil', '-auto', 'blit', format] + psamples)
+
+def add_fbo_depthstencil_msaa_visual_tests(group, format):
+	add_fbo_depthstencil_tests(group, format, 0)
+	for num_samples in MSAA_SAMPLE_COUNTS:
+		add_fbo_depthstencil_tests(group, format, num_samples)
 
 def add_depthstencil_render_miplevels_tests(group, test_types):
         # Note: the buffer sizes below have been chosen to exercise
@@ -95,6 +105,12 @@ def add_depthstencil_render_miplevels_tests(group, test_types):
                                 texture_size, test_type)
                         group[test_name] = PlainExecTest(test_name + ' -auto')
 
+def add_msaa_visual_plain_tests(group, args):
+	add_plain_test(group, args)
+	for num_samples in MSAA_SAMPLE_COUNTS:
+		group[args + ' samples=' + str(num_samples)] = PlainExecTest(
+			shlex.split(args) + ['-auto'] +
+			['-samples=' + str(num_samples)])
 
 glean = Group()
 glean['basic'] = GleanTest('basic')
@@ -336,7 +352,7 @@ def add_vpfpgeneric(group, name):
 	group[name] = PlainExecTest(['vpfp-generic', '-auto', testsDir + '/shaders/generic/' + name + '.vpfp'])
 
 glx = Group()
-add_plain_test(glx, 'glx-copy-sub-buffer')
+add_msaa_visual_plain_tests(glx, 'glx-copy-sub-buffer')
 add_plain_test(glx, 'glx-destroycontext-1')
 add_plain_test(glx, 'glx-destroycontext-2')
 add_plain_test(glx, 'glx-dont-care-mask')
@@ -506,11 +522,11 @@ add_plain_test(gl11, 'dlist-fdo31590')
 add_plain_test(gl11, 'draw-arrays-colormaterial')
 add_plain_test(gl11, 'draw-copypixels-sync')
 add_concurrent_test(gl11, 'draw-pixel-with-texture')
-add_plain_test(gl11, 'draw-pixels')
+add_msaa_visual_plain_tests(gl11, 'draw-pixels')
 add_concurrent_test(gl11, 'drawpix-z')
 add_plain_test(gl11, 'fog-modes')
 add_plain_test(gl11, 'fragment-center')
-add_fbo_depthstencil_tests(gl11, 'default_fb')
+add_fbo_depthstencil_msaa_visual_tests(gl11, 'default_fb')
 add_plain_test(gl11, 'geterror-invalid-enum')
 add_plain_test(gl11, 'geterror-inside-begin')
 add_concurrent_test(gl11, 'glinfo')
@@ -525,8 +541,8 @@ add_plain_test(gl11, 'polygon-mode')
 add_concurrent_test(gl11, 'polygon-mode-offset')
 add_concurrent_test(gl11, 'push-pop-texture-state')
 add_concurrent_test(gl11, 'quad-invariance')
-add_plain_test(gl11, 'read-front')
-add_plain_test(gl11, 'read-front clear-front-first')
+add_msaa_visual_plain_tests(gl11, 'read-front')
+add_msaa_visual_plain_tests(gl11, 'read-front clear-front-first')
 add_concurrent_test(gl11, 'readpix-z')
 add_plain_test(gl11, 'roundmode-getintegerv')
 add_plain_test(gl11, 'roundmode-pixelstore')
@@ -580,7 +596,7 @@ add_concurrent_test(gl10, 'gl-1.0-rendermode-feedback')
 gl12 = Group()
 spec['!OpenGL 1.2'] = gl12
 add_texwrap_target_tests(gl12, '3D')
-gl12['copyteximage 3D'] = PlainExecTest(['copyteximage', '-auto', '3D'])
+add_msaa_visual_plain_tests(gl12, 'copyteximage 3D')
 add_plain_test(gl12, 'crash-texparameter-before-teximage')
 add_plain_test(gl12, 'draw-elements-vs-inputs')
 add_plain_test(gl12, 'two-sided-lighting-separate-specular')
@@ -608,7 +624,7 @@ add_plain_test(gl14, 'fdo25614-genmipmap')
 add_plain_test(gl14, 'tex1d-2dborder')
 add_plain_test(gl14, 'blendminmax')
 add_plain_test(gl14, 'blendsquare')
-add_plain_test(gl14, 'copy-pixels')
+add_msaa_visual_plain_tests(gl14, 'copy-pixels')
 add_plain_test(gl14, 'draw-batch')
 add_plain_test(gl14, 'stencil-wrap')
 add_plain_test(gl14, 'triangle-rasterization')
@@ -1224,7 +1240,7 @@ add_texwrap_target_tests(arb_texture_rectangle, 'RECT')
 add_shader_test_dir(arb_texture_rectangle,
                     testsDir + '/spec/arb_texture_rectangle',
                     recursive=True)
-arb_texture_rectangle['copyteximage RECT'] = PlainExecTest(['copyteximage', '-auto', 'RECT'])
+add_msaa_visual_plain_tests(arb_texture_rectangle, 'copyteximage RECT')
 add_concurrent_test(arb_texture_rectangle, '1-1-linear-texture')
 add_plain_test(arb_texture_rectangle, 'texrect-many')
 add_concurrent_test(arb_texture_rectangle, 'getteximage-targets RECT')
@@ -1313,7 +1329,7 @@ spec['ARB_depth_buffer_float'] = arb_depth_buffer_float
 add_fbo_depth_tests(arb_depth_buffer_float, 'GL_DEPTH_COMPONENT32F')
 add_fbo_depth_tests(arb_depth_buffer_float, 'GL_DEPTH32F_STENCIL8')
 add_fbo_stencil_tests(arb_depth_buffer_float, 'GL_DEPTH32F_STENCIL8')
-add_fbo_depthstencil_tests(arb_depth_buffer_float, 'GL_DEPTH32F_STENCIL8')
+add_fbo_depthstencil_tests(arb_depth_buffer_float, 'GL_DEPTH32F_STENCIL8', 0)
 add_fbo_formats_tests('spec/ARB_depth_buffer_float', 'GL_ARB_depth_buffer_float')
 add_texwrap_format_tests(arb_depth_buffer_float, 'GL_ARB_depth_buffer_float')
 add_depthstencil_render_miplevels_tests(
@@ -1707,7 +1723,7 @@ ext_packed_depth_stencil = Group()
 spec['EXT_packed_depth_stencil'] = ext_packed_depth_stencil
 add_fbo_depth_tests(ext_packed_depth_stencil, 'GL_DEPTH24_STENCIL8')
 add_fbo_stencil_tests(ext_packed_depth_stencil, 'GL_DEPTH24_STENCIL8')
-add_fbo_depthstencil_tests(ext_packed_depth_stencil, 'GL_DEPTH24_STENCIL8')
+add_fbo_depthstencil_tests(ext_packed_depth_stencil, 'GL_DEPTH24_STENCIL8', 0)
 add_fbo_formats_tests('spec/EXT_packed_depth_stencil', 'GL_EXT_packed_depth_stencil')
 add_texwrap_format_tests(ext_packed_depth_stencil, 'GL_EXT_packed_depth_stencil')
 ext_packed_depth_stencil['readpixels-24_8'] = PlainExecTest(['ext_packed_depth_stencil-readpixels-24_8', '-auto'])
@@ -1726,8 +1742,8 @@ spec['EXT_texture_array']['maxlayers'] = concurrent_test('ext_texture_array-maxl
 add_shader_test_dir(ext_texture_array,
                     testsDir + '/spec/ext_texture_array',
                     recursive=True)
-ext_texture_array['copyteximage 1D_ARRAY'] = PlainExecTest(['copyteximage', '-auto', '1D_ARRAY'])
-ext_texture_array['copyteximage 2D_ARRAY'] = PlainExecTest(['copyteximage', '-auto', '2D_ARRAY'])
+add_msaa_visual_plain_tests(ext_texture_array, 'copyteximage 1D_ARRAY')
+add_msaa_visual_plain_tests(ext_texture_array, 'copyteximage 2D_ARRAY')
 add_plain_test(ext_texture_array, 'fbo-array')
 add_plain_test(ext_texture_array, 'fbo-depth-array')
 add_plain_test(ext_texture_array, 'array-texture')
@@ -1739,7 +1755,7 @@ for test_mode in ['teximage', 'texsubimage']:
 
 arb_texture_cube_map = Group()
 spec['ARB_texture_cube_map'] = arb_texture_cube_map
-arb_texture_cube_map['copyteximage CUBE'] = PlainExecTest(['copyteximage', '-auto', 'CUBE'])
+add_msaa_visual_plain_tests(arb_texture_cube_map, 'copyteximage CUBE')
 add_plain_test(arb_texture_cube_map, 'crash-cubemap-order')
 add_plain_test(arb_texture_cube_map, 'cubemap')
 arb_texture_cube_map['cubemap npot'] = PlainExecTest(['cubemap', '-auto', 'npot'])
-- 
1.7.10.4



More information about the Piglit mailing list