zink: also enable float16 from KHR extension

This allows us to use 16 bit floats on pre Vulkan 1.2 drivers as well.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10101>
This commit is contained in:
Erik Faye-Lund 2021-04-30 10:03:49 +02:00 committed by Marge Bot
parent 8966029f95
commit 91727182dc
2 changed files with 6 additions and 1 deletions

View file

@ -156,6 +156,9 @@ EXTENSIONS = [
features=True,
conditions=["$feats.scalarBlockLayout"]),
Extension("VK_KHR_swapchain"),
Extension("VK_KHR_shader_float16_int8",
alias="shader_float16_int8",
features=True),
]
# constructor: Versions(device_version(major, minor, patch), struct_version(major, minor))

View file

@ -703,7 +703,9 @@ zink_get_shader_param(struct pipe_screen *pscreen,
case PIPE_SHADER_CAP_FP16:
case PIPE_SHADER_CAP_FP16_DERIVATIVES:
return screen->info.feats12.shaderFloat16;
return screen->info.feats12.shaderFloat16 ||
(screen->info.have_KHR_shader_float16_int8 &&
screen->info.shader_float16_int8_feats.shaderFloat16);
case PIPE_SHADER_CAP_INT16:
return screen->info.feats.features.shaderInt16;