[Piglit] RFC: New test runner for GLSL linker tests

Jin, Gordon gordon.jin at intel.com
Tue Mar 22 19:06:14 PDT 2011


I like this test runner. This will make writing linker tests much more convenient. Can we get this committed soon, so I could start writing tests with this new syntax? 

Gordon

> -----Original Message-----
> From: piglit-bounces+gordon.jin=intel.com at lists.freedesktop.org
> [mailto:piglit-bounces+gordon.jin=intel.com at lists.freedesktop.org] On
> Behalf Of Chad Versace
> Sent: Saturday, March 05, 2011 8:10 AM
> To: piglit at lists.freedesktop.org
> Subject: [Piglit] RFC: New test runner for GLSL linker tests
> 
> I propose that Piglit have a new test runner for testing the GLSL
> linker. Syntax for linker tests will resemble that of shader_runner.
> 
> 
> Rationale
> ---------
> 
> In implementing GLSL 1.30, many many many new linker tests need to be
> written. Currently, the only method by which to write a linker test is
> to write it in C, with a large dose of boilerplate. Writing a simple
> linker test should not be that laborious.
> 
> If tests are quick and easy to write, people will write them. If a test
> is painful to write, it will likely not be written.
> 
> 
> Example
> --------
> 
> Below is an example of a non-trivial linker test in the proposed syntax.
> Observe the assertion on the last line.
> 
> ---------------------------------------
> file: active-uniforms.hunny_linker_test
> ---------------------------------------
> [description]
> Check that GL_ACTIVE_UNIFORMS counts
> gl_ModelViewProjectionMatrixTranspose as
> a uniform. See section 7.5 of the GLSL 1.20 spec.
> 
> Bug: https://bugs.freedesktop.org//show_bug.cgi?id=32403
> 
> [config]
>     # Indentation is not required; it just makes the eyes happy.
>     require GL >= 2.1
>     require GLSL >= 1.20
> 
> [vertex_shader]
>     #version 120
>     uniform vec4 color;
>     void main() {
>        gl_Position = gl_ModelViewProjectionMatrixTranspose * gl_Vertex;
>        gl_FrontColor = color;
>     }
> 
> [fragment_shader_files]
>     glsl-color.frag
> 
> [linker_test]
>     link_program
>     assert GL_LINK_STATUS == GL_TRUE
>     assert GL_ACTIVE_UNIFORMS == 2
> 
> ---------------------------------------
> EOF
> ---------------------------------------
> 
> 
> 
> Request for Comment
> -------------------
> Dear fellow Piglit contributors, I wish to know:
> 1. Do you have any (useful) critiques or suggestions on the syntax?
> 2. Do you have any strong opinions on the linker test syntax?
> 3. Are they additional features you would like to have in a linker test?
>    (idr has already mentioned desire for the ability to iterate over
>     multiple versions of GLSL in a single test file. I think such an
>     iteration statement could go in the [config] section.)
> 4. Do you have any (useful) critiques or suggestions for the test
>    runner's source code?
> 
> 
> 
> Try it
> ----------
> 
> The new linker test has been pushed to the Piglit branch 'hunny':
>     git clone --branch hunny git://anongit.freedesktop.org/piglit.git
> 
> Source code, documentation, and new tests are located in:
>     /src/piglit/hunny
>     /documentation/hunny
>     /tests/spec/glsl-1.30/linker
> 
> You can execute some linker tests with:
>     env INTEL_GLSL_VERSION=130 ./piglit-run.py -t glsl-1.30/linker
> 
> The actual executables are hunny_gl and hunny_gles2.
> 
> --
> Chad Versace
> chad at chad-versace.us
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list