[Mesa-dev] [PATCH v3 0/9] i965/gen7 instanced GS support for ARB_gpu_shader5

Jordan Justen jordan.l.justen at intel.com
Wed Feb 5 00:07:21 CET 2014


v3:
 * Fix major brokenness of dual instance mode operation
   using Paul's suggestions
 * Update parsing to allow separate primitive and
   invocation declarations. Fixes piglit test:
   spec/arb_gpu_shader5/execution/invocation-id-in-separate-gs
 * New: glsl: Generate error for invalid input layout declarations
   This is made easier by the in_qualifier addition in
   this series, but it otherwise an unrelated bug fix.
 * Added check for valid invocation count values

v2:
 * Convert gl_InvocationID to a system value

No piglit regressions on HSW.

Instanced GS support requires overriding ARB_gpu_shader5 to
be enabled.

Patches are available at:
git://people.freedesktop.org/~jljusten/mesa gs-inv-id

Jordan Justen (9):
  glsl: convert GS input primitive to use ast_type_qualifier
  glsl: Generate error for invalid input layout declarations
  glsl: parse invocations layout qualifier for ARB_gpu_shader5
  glsl/linker: produce gl_shader_program Geom.Invocations
  mesa: initialize gl_geometry_program Invocations field
  main/shaderapi: GL_GEOMETRY_SHADER_INVOCATIONS GetProgramiv support
  glsl: add gl_InvocationID variable for ARB_gpu_shader5
  i965: support gl_InvocationID for gen7
  i965: support instanced GS on gen7

 src/glsl/ast.h                                    | 13 +++++
 src/glsl/ast_to_hir.cpp                           |  5 +-
 src/glsl/ast_type.cpp                             | 69 +++++++++++++++++++++++
 src/glsl/builtin_variables.cpp                    |  2 +
 src/glsl/glsl_parser.yy                           | 45 +++++++++------
 src/glsl/glsl_parser_extras.cpp                   | 10 +++-
 src/glsl/glsl_parser_extras.h                     |  7 +--
 src/glsl/linker.cpp                               | 18 ++++++
 src/mesa/drivers/dri/i965/brw_context.h           |  2 +
 src/mesa/drivers/dri/i965/brw_defines.h           | 13 +++++
 src/mesa/drivers/dri/i965/brw_shader.cpp          |  2 +
 src/mesa/drivers/dri/i965/brw_vec4.h              |  1 +
 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp  | 20 +++++++
 src/mesa/drivers/dri/i965/brw_vec4_gs.c           |  2 +
 src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 22 ++++++--
 src/mesa/drivers/dri/i965/gen7_gs_state.c         |  2 +
 src/mesa/main/mtypes.h                            | 11 ++++
 src/mesa/main/shaderapi.c                         |  7 +++
 src/mesa/program/program.c                        |  1 +
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp        |  1 +
 src/mesa/state_tracker/st_program.c               |  1 +
 21 files changed, 222 insertions(+), 32 deletions(-)

-- 
1.8.5.3



More information about the mesa-dev mailing list