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 <kenneth@whitecape.org>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit a5e88e66e6)
[Emil Velikov: nir_shader::info is not a pointer in branch]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

Conflicts:
	src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp
This commit is contained in:
Jason Ekstrand 2016-11-10 22:36:39 -08:00 committed by Emil Velikov
parent cf8b11fc6c
commit 9d5c3fc12b

View file

@ -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;