diff options
author | Eric Anholt <[email protected]> | 2018-11-05 16:40:22 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-11-15 11:12:54 -0800 |
commit | 03928dd682d0a86bfc5a780614f376163c72d72b (patch) | |
tree | 107d4be8d2acd30f38d6347806eba417da0667ae | |
parent | 2b2f790e594cde3aa0d4dcebafc9a072651cd62a (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.c | 5 |
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) |