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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev