panfrost: Preload primitive flags when gl_FrontFacing is accessed
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7314>
This commit is contained in:
@@ -93,6 +93,7 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
|
||||
state->preload.uniform_count = state->uniform_count;
|
||||
state->preload.fragment.fragment_position = state->reads_frag_coord;
|
||||
state->preload.fragment.coverage = true;
|
||||
state->preload.fragment.primitive_flags = state->reads_face;
|
||||
break;
|
||||
default:
|
||||
unreachable("TODO");
|
||||
@@ -343,7 +344,8 @@ panfrost_shader_compile(struct panfrost_context *ctx,
|
||||
|
||||
state->reads_frag_coord = s->info.inputs_read & (1 << VARYING_SLOT_POS);
|
||||
state->reads_point_coord = s->info.inputs_read & (1 << VARYING_SLOT_PNTC);
|
||||
state->reads_face = s->info.inputs_read & (1 << VARYING_SLOT_FACE);
|
||||
state->reads_face = (s->info.inputs_read & (1 << VARYING_SLOT_FACE)) ||
|
||||
(s->info.system_values_read & (1 << SYSTEM_VALUE_FRONT_FACE));
|
||||
state->writes_point_size = s->info.outputs_written & (1 << VARYING_SLOT_PSIZ);
|
||||
|
||||
if (outputs_written)
|
||||
|
Reference in New Issue
Block a user