[Piglit] [RFC PATCH 0/2] Add ARB_program_interface_query support to shader_runner

Samuel Iglesias Gonsalvez siglesias at igalia.com
Fri Sep 11 04:37:40 PDT 2015


Hello,

Recently, I have been working on enabling std430 support to Mesa. During the
review of the patches, I have been told to take a look at Ian's Stochastic
Search-Based Testing for Uniform Block Layouts [0] to improve the testing of
the std430 changes

Thanks Ian for your work! I found some bugs in my std430 code with this
testing :-)

I did some quick changes [1] to have it working for shader storage buffers and
std430. During that process, I found that we don't support
ARB_program_interface_query extension [2] queries in shader_runner.
Shader runner supports similar queries but only for uniforms.

These patches are the result of implementing buffer variable support to
that queries, but I think it is interesting to have a more generic API that
includes the rest of program interfaces (GL_UNIFORM, GL_PROGRAM_INPUT...).

So, I would like to reach a consensus with piglit community about the
format of the commands. My idea is to take the uniform queries as an example
but adapting the format to our needs. For example:

- Format of the command:
 active program_interface GL_INTERFACE_TYPE_ENUM var_name GL_PROPS_ENUM integer
 
or, if we include the GL type enum:

 active program_interface GL_INTERFACE_TYPE_ENUM var_name GL_PROPS_ENUM GL_TYPE_ENUM

So in practice you would add to the [test] section some code like this:

active program_interface GL_BUFFER_VARIABLE foo_name GL_ARRAY_SIZE 1
active program_interface GL_UNIFORM bar_name GL_TYPE GL_FLOAT_VEC4

What do you think?

Sam

[0] http://www.paranormal-entertainment.com/idr/blog/posts/2014-10-08T13:28:09Z-Stochastic_Search-Based_Testing_for_Uniform_Block_Layouts/
[1] Repo with latest code: git at github.com:Igalia/piglit.git
    Branch: ssbo-random-tests-std430-v2
[2] https://www.opengl.org/registry/specs/ARB/program_interface_query.txt


Samuel Iglesias Gonsalvez (2):
  shader_runner: make active_uniforms's all_types variable be global
  shader_runner: Add ARB_program_interface_query support to buffer
    variables

 tests/shaders/shader_runner.c | 292 +++++++++++++++++++++++++++++++-----------
 1 file changed, 214 insertions(+), 78 deletions(-)

-- 
2.1.4



More information about the Piglit mailing list