zink: enable 16-bit int support

The mysterious support_16bit_int_alu-option doesn't really mean what it
says. Instead it means "we support 16 bit compares, if 16 bit ALU
operations occur". And since 16 bit operations only appear if we're
lowering mediump/lowp, we can always set this option.

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-06 18:52:19 +02:00 committed by Marge Bot
parent 0b45dbea13
commit 404521529c
2 changed files with 4 additions and 1 deletions

View file

@ -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;

View file

@ -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;