aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-07-23 16:55:38 -0700
committerAlyssa Rosenzweig <[email protected]>2019-07-25 06:34:21 -0700
commit4508f43eed5a4528f0e8ca9d1cfcdc78857043e0 (patch)
tree31b47bd0f097bf9f43812850667bfdc1dcf47384
parentbab4f6c724d384cfee7e7f98ff3b52648850641d (diff)
panfrost: Don't DIY point size/coord fields
Again, it's in shader_info for us! Signed-off-by: Alyssa Rosenzweig <[email protected]>
-rw-r--r--src/gallium/drivers/panfrost/pan_assemble.c8
-rw-r--r--src/panfrost/midgard/midgard_compile.h3
2 files changed, 2 insertions, 9 deletions
diff --git a/src/gallium/drivers/panfrost/pan_assemble.c b/src/gallium/drivers/panfrost/pan_assemble.c
index 75158089c88..8ccf9125a43 100644
--- a/src/gallium/drivers/panfrost/pan_assemble.c
+++ b/src/gallium/drivers/panfrost/pan_assemble.c
@@ -92,8 +92,8 @@ panfrost_shader_compile(struct panfrost_context *ctx, struct mali_shader_meta *m
meta->midgard1.work_count = program.work_register_count;
state->can_discard = s->info.fs.uses_discard;
- state->writes_point_size = program.writes_point_size;
- state->reads_point_coord = false;
+ state->writes_point_size = s->info.outputs_written & VARYING_SLOT_PSIZ;
+ state->reads_point_coord = s->info.inputs_read & VARYING_SLOT_PNTC;
state->helper_invocations = s->info.fs.needs_helper_invocations;
/* Separate as primary uniform count is truncated */
@@ -125,14 +125,10 @@ 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 f76715e7a53..3b16cbd2bb5 100644
--- a/src/panfrost/midgard/midgard_compile.h
+++ b/src/panfrost/midgard/midgard_compile.h
@@ -88,9 +88,6 @@ typedef struct {
unsigned varyings[32];
- /* Boolean properties of the program */
- bool writes_point_size;
-
int first_tag;
struct util_dynarray compiled;