mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
freedreno/a6xx: Fix NV12+UBWC import
Treat R8_G8B8_420_UNORM and NV12 the same, because dri2 frontend doesn't
understand or care about the difference from the sampler PoV.
Fixes: 1e820ac128 ("freedreno: Rework supported-modifiers handling")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26601>
This commit is contained in:
parent
708d4f59f8
commit
2132f95de0
1 changed files with 7 additions and 0 deletions
|
|
@ -55,6 +55,13 @@ ok_ubwc_format(struct pipe_screen *pscreen, enum pipe_format pfmt)
|
||||||
return info->a6xx.has_z24uint_s8uint;
|
return info->a6xx.has_z24uint_s8uint;
|
||||||
|
|
||||||
case PIPE_FORMAT_R8_G8B8_420_UNORM:
|
case PIPE_FORMAT_R8_G8B8_420_UNORM:
|
||||||
|
/* The difference between NV12 and R8_G8B8_420_UNORM is only where the
|
||||||
|
* conversion to RGB happens, with the latter it happens _after_ the
|
||||||
|
* texture samp instruction. But dri2_get_mapping_by_fourcc() doesn't
|
||||||
|
* know this, so it asks for NV12 when it really meant to ask for
|
||||||
|
* R8_G8B8_420_UNORM. Just treat them the same here to work around it:
|
||||||
|
*/
|
||||||
|
case PIPE_FORMAT_NV12:
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue