From 71aa4adba363aa38f5dc23f034afb70d3d2e411a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 1 Sep 2021 09:35:58 -0400 Subject: [PATCH] zink: fix PIPE_SHADER_CAP_FP16_DERIVATIVES handling this requires 16bit io, not just alus Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_screen.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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);