Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> --- src/gallium/auxiliary/tgsi/tgsi_ureg.c | 9 +++++++++ src/gallium/include/pipe/p_shader_tokens.h | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c index 38cce58..2bf93ee 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c @@ -1468,6 +1468,14 @@ static void emit_decls( struct ureg_program *ureg ) ureg->property_gs_max_vertices); } + if (ureg->property_gs_invocations != ~0) { + assert(ureg->processor == TGSI_PROCESSOR_GEOMETRY); + + emit_property(ureg, + TGSI_PROPERTY_GS_INVOCATIONS, + ureg->property_gs_invocations); + } + if (ureg->property_fs_coord_origin) { assert(ureg->processor == TGSI_PROCESSOR_FRAGMENT); @@ -1757,6 +1765,7 @@ struct ureg_program *ureg_create( unsigned processor ) ureg->property_gs_input_prim = ~0; ureg->property_gs_output_prim = ~0; ureg->property_gs_max_vertices = ~0; + ureg->property_gs_invocations = ~0; ureg->free_temps = util_bitmask_create(); if (ureg->free_temps == NULL) diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 1903d53..b537166 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -236,7 +236,8 @@ union tgsi_immediate_data #define TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS 5 #define TGSI_PROPERTY_FS_DEPTH_LAYOUT 6 #define TGSI_PROPERTY_VS_PROHIBIT_UCPS 7 -#define TGSI_PROPERTY_COUNT 8 +#define TGSI_PROPERTY_GS_INVOCATIONS 8 +#define TGSI_PROPERTY_COUNT 9 struct tgsi_property { unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */ -- 1.8.3.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev