aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/nir
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-12-24 23:58:28 -0500
committerAlyssa Rosenzweig <[email protected]>2019-12-30 17:11:08 -0500
commit3996fd7b90478ea7b1da05fce41ed67716d8cd5d (patch)
treeb62a8770368cfe3f9fc8088d1f2771e76b0cba8a /src/gallium/drivers/panfrost/nir
parentddc5a371b3d3620bdd7aa5960733f0e34f33bf8e (diff)
pan/midgard: Promote tilebuffer reads to 32-bit
Fixes (among others) dEQP-GLES3.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba16f Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/nir')
-rw-r--r--src/gallium/drivers/panfrost/nir/nir_lower_framebuffer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/panfrost/nir/nir_lower_framebuffer.c b/src/gallium/drivers/panfrost/nir/nir_lower_framebuffer.c
index e04f8076617..ffb51c4c3a1 100644
--- a/src/gallium/drivers/panfrost/nir/nir_lower_framebuffer.c
+++ b/src/gallium/drivers/panfrost/nir/nir_lower_framebuffer.c
@@ -384,6 +384,11 @@ nir_lower_framebuffer(nir_shader *shader, enum pipe_format format,
nir_ssa_def *raw = &new->dest.ssa;
nir_ssa_def *converted = nir_native_to_shader(&b, raw, op, format_desc, bits, homogenous_bits);
+ if (util_format_is_float(format))
+ converted = nir_f2f32(&b, converted);
+ else
+ converted = nir_i2i32(&b, converted);
+
/* Rewrite to use the converted value */
nir_src rewritten = nir_src_for_ssa(converted);
nir_ssa_def_rewrite_uses_after(&intr->dest.ssa, rewritten, instr);