From: Eric Anholt Date: Tue, 6 Nov 2018 00:40:22 +0000 (-0800) Subject: v3d: Fix double-swapping of R/B on V3D 4.1 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=03928dd682d0a86bfc5a780614f376163c72d72b;hp=2b2f790e594cde3aa0d4dcebafc9a072651cd62a;p=mesa.git 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.") --- 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)