[Mesa-dev] [PATCH V2 0/8] glsl: Start implementing ARB_arrays_of_arrays

Timothy Arceri t_arceri at yahoo.com.au
Tue Jan 21 04:19:44 PST 2014


This is a first pass at implementing the ARB_arrays_of_arrays extension in Mesa.
This series allows the Mesa front-end to parse and compile shaders that don't require linking of
arrays of arrays e.g. multi dimensional uniforms. I'm sending this extension in parts because my
time working on this is about to decrease and I'm not sure how long it will be before I finish the second half.
If this is not a good idea please let me know.

Patches 2-3 need to be squashed when committed but I've split them here to make reviewing easier.

Patch 4 is optional (I've submitted it to the list previously)

What's missing is linking and backend support that goes with it. This includes the linking checks the spec talks about for geometry shaders.

No piglit regressions with these patches applied.

Compile tests have been submitted to the piglit mailing list, the extension just needs to be enabled in the driver code in order to test.

V2
- Removed patches 2 and 6 from the first version as it turns out they are not actually needed (left overs from my first attempt at the extension).
- Removed all unrelated whitespace changes, and other small whitespace cleanups
- Fixed order of array dimensions in glsl_type name.


 docs/GL3.txt                    |   2 +-
 src/glsl/ast.h                  |  63 ++++++++++++++++++++++++++++---------
 src/glsl/ast_array_index.cpp    |  13 ++++++++
 src/glsl/ast_function.cpp       |  14 +++++++--
 src/glsl/ast_to_hir.cpp         | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
 src/glsl/ast_type.cpp           |   8 ++---
 src/glsl/glsl_parser.yy         | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------
 src/glsl/glsl_parser_extras.cpp |  96 +++++++++++++++++++++++++++++++++++++-------------------
 src/glsl/glsl_parser_extras.h   |   2 ++
 src/glsl/glsl_types.cpp         |  14 +++++++--
 src/mesa/main/extensions.c      |   1 +
 src/mesa/main/mtypes.h          |   1 +
 12 files changed, 386 insertions(+), 200 deletions(-)




More information about the mesa-dev mailing list