aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2020-01-25 13:44:59 -0800
committerMarge Bot <[email protected]>2020-01-29 11:21:47 +0000
commitf066e3afc787a5e6ec06b358003aeae00a3d3f61 (patch)
tree6c0d93edab19e8be924466082565cb7361d3eb0e
parenteb281df1a1cf63dd4a4d941a019fd384e28af146 (diff)
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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3565>
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_emit.c16
1 files changed, 1 insertions, 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);