Mesa (master): freedreno/a6xx: remove special handling based on MRT format

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 29 11:45:08 UTC 2020


Module: Mesa
Branch: master
Commit: f066e3afc787a5e6ec06b358003aeae00a3d3f61
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f066e3afc787a5e6ec06b358003aeae00a3d3f61

Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Jan 25 13:44:59 2020 -0800

freedreno/a6xx: remove special handling based on MRT format

Logicop in particular is supposed to work for integer formats.. but
maybe this situation doesn't happen in gles.  The only thing that isn't
required for integer formats is blending.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3565>

---

 src/gallium/drivers/freedreno/a6xx/fd6_emit.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
index 087b537f10f..3af96d91cfe 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
@@ -1078,22 +1078,8 @@ fd6_emit_state(struct fd_ringbuffer *ring, struct fd6_emit *emit)
 		uint32_t i;
 
 		for (i = 0; i < pfb->nr_cbufs; i++) {
-			enum pipe_format format = pipe_surface_format(pfb->cbufs[i]);
-			bool is_int = util_format_is_pure_integer(format);
-			bool has_alpha = util_format_has_alpha(format);
-			uint32_t control = blend->rb_mrt[i].control;
-
-			if (is_int) {
-				control &= A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK;
-				control |= A6XX_RB_MRT_CONTROL_ROP_CODE(ROP_COPY);
-			}
-
-			if (!has_alpha) {
-				control &= ~A6XX_RB_MRT_CONTROL_BLEND2;
-			}
-
 			OUT_PKT4(ring, REG_A6XX_RB_MRT_CONTROL(i), 1);
-			OUT_RING(ring, control);
+			OUT_RING(ring, blend->rb_mrt[i].control);
 
 			OUT_PKT4(ring, REG_A6XX_RB_MRT_BLEND_CONTROL(i), 1);
 			OUT_RING(ring, blend->rb_mrt[i].blend_control);



More information about the mesa-commit mailing list