zink: use VK_EXT_border_color_swizzle
if borderColorSwizzleFromImage isn't supported, assume the border color must be pre-swizzled fixes #6651 Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17029>
This commit is contained in:
parent
1effd3be67
commit
46b4017b37
|
@ -531,11 +531,13 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK:
|
case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK:
|
||||||
/* This is also broken on the other AMD drivers for old HW, but
|
/* assume that if drivers don't implement this extension they either:
|
||||||
* there's no obvious way to test for that.
|
* - don't support custom border colors
|
||||||
|
* - handle things correctly
|
||||||
|
* - hate border color accuracy
|
||||||
*/
|
*/
|
||||||
if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_RADV ||
|
if (screen->info.have_EXT_border_color_swizzle &&
|
||||||
screen->info.driver_props.driverID == VK_DRIVER_ID_NVIDIA_PROPRIETARY)
|
!screen->info.border_swizzle_feats.borderColorSwizzleFromImage)
|
||||||
return PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50;
|
return PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue