diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 03ba0b08e1a..ce6e3a7266f 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -391,6 +391,7 @@ zink_screen_init_compiler(struct zink_screen *screen) .has_fsub = true, .has_isub = true, .lower_mul_2x32_64 = true, + .support_16bit_alu = true, /* not quite what it sounds like */ }; screen->nir_options = default_options; diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 5c00b5430f5..1f654eea5f3 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -700,10 +700,12 @@ zink_get_shader_param(struct pipe_screen *pscreen, case PIPE_SHADER_CAP_FP16: case PIPE_SHADER_CAP_FP16_DERIVATIVES: case PIPE_SHADER_CAP_FP16_CONST_BUFFERS: - case PIPE_SHADER_CAP_INT16: case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS: return 0; /* not implemented */ + case PIPE_SHADER_CAP_INT16: + return screen->info.feats.features.shaderInt16; + case PIPE_SHADER_CAP_PREFERRED_IR: return PIPE_SHADER_IR_NIR;