diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 88922ee2db7..68856e29c51 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -816,8 +816,10 @@ zink_get_shader_param(struct pipe_screen *pscreen, case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS: return 0; /* not implemented */ - case PIPE_SHADER_CAP_FP16: case PIPE_SHADER_CAP_FP16_DERIVATIVES: + return screen->info.feats11.storageInputOutput16 || + (screen->info.have_KHR_16bit_storage && screen->info.storage_16bit_feats.storageInputOutput16); + case PIPE_SHADER_CAP_FP16: return screen->info.feats12.shaderFloat16 || (screen->info.have_KHR_shader_float16_int8 && screen->info.shader_float16_int8_feats.shaderFloat16);