From: Alyssa Rosenzweig Date: Thu, 25 Jul 2019 20:16:45 +0000 (-0700) Subject: Revert "panfrost: Don't DIY point size/coord fields" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2f9236096a09618a850924384674458cf99545e8;p=mesa.git Revert "panfrost: Don't DIY point size/coord fields" This reverts commit 4508f43eed5a4528f0e8ca9d1cfcdc78857043e0, which broke a bunch of dEQP tests (e.g. in dEQP-GLES2.functional.draw.draw_arrays.*) Signed-off-by: Alyssa Rosenzweig --- diff --git a/src/gallium/drivers/panfrost/pan_assemble.c b/src/gallium/drivers/panfrost/pan_assemble.c index c724489da3c..8b831b8f52d 100644 --- a/src/gallium/drivers/panfrost/pan_assemble.c +++ b/src/gallium/drivers/panfrost/pan_assemble.c @@ -103,8 +103,8 @@ panfrost_shader_compile(struct panfrost_context *ctx, struct mali_shader_meta *m } state->can_discard = s->info.fs.uses_discard; - state->writes_point_size = s->info.outputs_written & VARYING_SLOT_PSIZ; - state->reads_point_coord = s->info.inputs_read & VARYING_SLOT_PNTC; + state->writes_point_size = program.writes_point_size; + state->reads_point_coord = false; state->helper_invocations = s->info.fs.needs_helper_invocations; /* Separate as primary uniform count is truncated */ @@ -136,10 +136,14 @@ panfrost_shader_compile(struct panfrost_context *ctx, struct mali_shader_meta *m v.index = 2; v.format = MALI_R16F; v.swizzle = default_vec1_swizzle; + + state->writes_point_size = true; } else if (location == VARYING_SLOT_PNTC) { v.index = 3; v.format = MALI_RG16F; v.swizzle = default_vec2_swizzle; + + state->reads_point_coord = true; } else { v.index = 0; } diff --git a/src/panfrost/midgard/midgard_compile.h b/src/panfrost/midgard/midgard_compile.h index d450971128b..b6cd2affe72 100644 --- a/src/panfrost/midgard/midgard_compile.h +++ b/src/panfrost/midgard/midgard_compile.h @@ -87,6 +87,9 @@ typedef struct { unsigned varyings[32]; + /* Boolean properties of the program */ + bool writes_point_size; + int first_tag; struct util_dynarray compiled;