diff options
-rw-r--r-- | src/gallium/drivers/panfrost/pan_assemble.c | 20 | ||||
-rw-r--r-- | src/panfrost/util/pan_ir.h | 3 |
2 files changed, 5 insertions, 18 deletions
diff --git a/src/gallium/drivers/panfrost/pan_assemble.c b/src/gallium/drivers/panfrost/pan_assemble.c index dfda97f9463..7d0f07a0dd1 100644 --- a/src/gallium/drivers/panfrost/pan_assemble.c +++ b/src/gallium/drivers/panfrost/pan_assemble.c @@ -231,11 +231,14 @@ panfrost_shader_compile(struct panfrost_context *ctx, } state->can_discard = s->info.fs.uses_discard; - state->writes_point_size = program.writes_point_size; - state->reads_point_coord = false; state->helper_invocations = s->info.fs.needs_helper_invocations; state->stack_size = program.tls_size; + 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->writes_point_size = s->info.outputs_written & (1 << VARYING_SLOT_PSIZ); + if (outputs_written) *outputs_written = s->info.outputs_written; @@ -263,17 +266,4 @@ panfrost_shader_compile(struct panfrost_context *ctx, state->varyings[loc + c] = pan_format_from_glsl(var->type, var->data.location_frac); } } - - for (unsigned i = 0; i < state->varying_count; ++i) { - unsigned location = state->varyings_loc[i]; - - if (location == VARYING_SLOT_POS && stage == MESA_SHADER_FRAGMENT) - state->reads_frag_coord = true; - else if (location == VARYING_SLOT_PSIZ) - state->writes_point_size = true; - else if (location == VARYING_SLOT_PNTC) - state->reads_point_coord = true; - else if (location == VARYING_SLOT_FACE) - state->reads_face = true; - } } diff --git a/src/panfrost/util/pan_ir.h b/src/panfrost/util/pan_ir.h index 221967d3b5d..aa0eb7904ce 100644 --- a/src/panfrost/util/pan_ir.h +++ b/src/panfrost/util/pan_ir.h @@ -95,9 +95,6 @@ typedef struct { unsigned sysval_count; unsigned sysvals[MAX_SYSVAL_COUNT]; - /* Boolean properties of the program */ - bool writes_point_size; - int first_tag; struct util_dynarray compiled; |