[Mesa-dev] [PATCH v3 00/17] GLSL 1.50 interface blocks support

Jordan Justen jordan.l.justen at intel.com
Mon Mar 25 17:41:25 PDT 2013


git://people.freedesktop.org/~jljusten/mesa interface-blocks-v3

v3:
 * Several clean-ups based on v2 code review
 * Fix (proposed) piglit test:
   execution/interface-blocks-same-uniform-varying-name.shader_test
   (varying interface block having the same name as a uniform
    interface block.)
 * Fix (proposed) piglit test:
   compiler/interface-blocks-invalid-member-qualifiers.shader_test

v2:
 * 3 new patches added to series
 * Add support for interface block instance arrays
 * Add support for rejecting unmatched interface blocks
   during the linking phase.
 * Known issue: fails new piglit glsl-1.50 test:
   execution/interface-blocks-same-uniform-varying-name.shader_test

v1:
 * Initial support for GLSL 1.50 interface block support
 * Known issue: interface block arrays are not working
 * Known issue: rejection of unmatched interface blocks
                is not working
 * Piglit tests for known issues have been sent to piglit list

Jordan Justen (17):
  glsl: rename ast_uniform_block to ast_interface_block
  glsl parser: rename uniform block to interface block
  glsl: parse in/out types for interface blocks
  glsl parser: reject VS+in & FS+out interface blocks
  glsl parser: on desktop GL require GLSL 150 for instance names
  glsl parser: handle interface block member qualifier
  glsl ast_to_hir: reject interpolation qualifiers for uniform blocks
  glsl parser: allow in & out for interface block members
  glsl_symbol_table: add interface block namespaces
  glsl ast_to_hir: move uniform block symbols to interface blocks
    namespace
  glsl ast_to_hir: reject row/column_major for in/out interface blocks
  glsl ast_to_hir: support in/out for interface blocks
  glsl linker: remove interface block instance names
  glsl link_varyings: link interface blocks using the block name
  glsl linker: support arrays of interface block instances
  glsl linker: compare interface blocks during intrastage linking
  glsl linker: compare interface blocks during interstage linking

 src/glsl/Makefile.sources                 |    2 +
 src/glsl/ast.h                            |    4 +-
 src/glsl/ast_to_hir.cpp                   |   46 ++++--
 src/glsl/glsl_parser.yy                   |  182 ++++++++++++++++------
 src/glsl/glsl_symbol_table.cpp            |   84 +++++++++-
 src/glsl/glsl_symbol_table.h              |    4 +
 src/glsl/interface_blocks.cpp             |  129 +++++++++++++++
 src/glsl/interface_blocks.h               |   36 +++++
 src/glsl/ir_optimization.h                |    1 +
 src/glsl/link_varyings.cpp                |   33 +++-
 src/glsl/linker.cpp                       |   19 +++
 src/glsl/lower_named_interface_blocks.cpp |  241 +++++++++++++++++++++++++++++
 12 files changed, 711 insertions(+), 70 deletions(-)
 create mode 100644 src/glsl/interface_blocks.cpp
 create mode 100644 src/glsl/interface_blocks.h
 create mode 100644 src/glsl/lower_named_interface_blocks.cpp

-- 
1.7.10.4



More information about the mesa-dev mailing list