From a5e88e66e633aaeb587b274d80e21cd46c8ee2cb Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 10 Nov 2016 22:36:39 -0800 Subject: [PATCH] i965/gs: Allow primitive id to be a system value This allows for gl_PrimitiveId to come in as a system value rather than as an input. This is the way it will come in from SPIR-V. We keeps the input path working for now so we don't break GL. Reviewed-by: Kenneth Graunke Cc: "13.0" --- src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp index 10be41b1803..2f4306ab581 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp @@ -626,7 +626,8 @@ brw_compile_gs(const struct brw_compiler *compiler, void *log_data, shader = brw_postprocess_nir(shader, compiler->devinfo, is_scalar); prog_data->include_primitive_id = - (shader->info->inputs_read & VARYING_BIT_PRIMITIVE_ID) != 0; + (shader->info->inputs_read & VARYING_BIT_PRIMITIVE_ID) || + (shader->info->system_values_read & (1 << SYSTEM_VALUE_PRIMITIVE_ID)); prog_data->invocations = shader->info->gs.invocations;