diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index 4d4a56cd434..2fa1bf08884 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -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)) diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 38bba9c7334..acee468b9ef 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -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;