summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-11-05 16:40:22 -0800
committerEric Anholt <[email protected]>2018-11-15 11:12:54 -0800
commit03928dd682d0a86bfc5a780614f376163c72d72b (patch)
tree107d4be8d2acd30f38d6347806eba417da0667ae
parent2b2f790e594cde3aa0d4dcebafc9a072651cd62a (diff)
v3d: Fix double-swapping of R/B on V3D 4.1
Fixes: 4018eb04e8a5 ("v3d: Use the TLB R/B swapping instead of recompiles when available.")
-rw-r--r--src/gallium/drivers/v3d/v3dx_state.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c
index f40febb0ab2..b20a32df67e 100644
--- a/src/gallium/drivers/v3d/v3dx_state.c
+++ b/src/gallium/drivers/v3d/v3dx_state.c
@@ -487,9 +487,10 @@ v3d_set_framebuffer_state(struct pipe_context *pctx,
util_format_description(cbuf->format);
/* For BGRA8 formats (DRI window system default format), we
- * need to swap R and B, since the HW's format is RGBA8.
+ * need to swap R and B, since the HW's format is RGBA8. On
+ * V3D 4.1+, the RCL can swap R and B on load/store.
*/
- if (v3d->screen->devinfo.ver < 42 && v3d_cbuf->swap_rb)
+ if (v3d->screen->devinfo.ver < 41 && v3d_cbuf->swap_rb)
v3d->swap_color_rb |= 1 << i;
if (desc->swizzle[3] == PIPE_SWIZZLE_1)