[Mesa-dev] [PATCH 0/9] glsl: Start implementing ARB_arrays_of_arrays
Timothy Arceri
t_arceri at yahoo.com.au
Wed Jan 15 22:27:21 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 dont 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 3-4 need to be squashed when commited but I've split them here to make reviewing easier.
Patch 5 is optional
Whats missing is linking and backend support that goes with it. This includes the linking checks the spec talks about for geometry shaders.
Also its possible that some small changes are also needed to support multi dimensional unsized geom shader arrays I havent yet written
the piglit tests for this.
No piglit regressions with these patches applied.
Timothy Arceri (9):
Mesa: Add ARB_arrays_of_arrays
glsl: add dimension_count to glsl_types
glsl: Add arrays_of_arrays to yacc definition
glsl: Add array specifier to ast code
glsl: only call mark_max_array if we are assigning an array
glsl: Implement ARB_arrays_of_arrays support for constructors
glsl: Aggregate initializer support for arrays of array
glsl: Allow arrays of arrays as input to vertex shader
docs: Mark ARB_arrays_of_arrays as started
docs/GL3.txt | 2 +-
src/glsl/ast.h | 64 +++++++++----
src/glsl/ast_array_index.cpp | 13 +++
src/glsl/ast_function.cpp | 69 ++++++++++++--
src/glsl/ast_to_hir.cpp | 204 +++++++++++++++++++++++++++++-----------
src/glsl/ast_type.cpp | 8 +-
src/glsl/glsl_parser.yy | 183 ++++++++++++++++++-----------------
src/glsl/glsl_parser_extras.cpp | 97 ++++++++++++-------
src/glsl/glsl_parser_extras.h | 2 +
src/glsl/glsl_types.cpp | 15 ++-
src/glsl/glsl_types.h | 17 +++-
src/mesa/main/extensions.c | 1 +
src/mesa/main/mtypes.h | 1 +
13 files changed, 464 insertions(+), 212 deletions(-)
--
1.8.3.1
More information about the mesa-dev
mailing list