Mesa (master): v3d: Fix double-swapping of R/B on V3D 4.1

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 15 21:00:56 UTC 2018


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

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Nov  5 16:40:22 2018 -0800

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.")

---

 src/gallium/drivers/v3d/v3dx_state.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c
index f40febb0ab..b20a32df67 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)




More information about the mesa-commit mailing list