mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
mesa/st: Only use 16-bit ints or floats in the NIR path.
For i915g or other drivers using the draw path, llvmpipe (reasonably) reports int16 support. However, if we try to link and translate an int16 shader using st_glsl_to_tgsi, it will throw assertion failures. Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10874>
This commit is contained in:
parent
307139c7f9
commit
c2f80baa93
1 changed files with 12 additions and 10 deletions
|
|
@ -379,16 +379,18 @@ void st_init_limits(struct pipe_screen *screen,
|
|||
options->LowerBuiltinVariablesXfb |= VARYING_BIT_PSIZ;
|
||||
}
|
||||
|
||||
options->LowerPrecisionFloat16 =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16);
|
||||
options->LowerPrecisionDerivatives =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16_DERIVATIVES);
|
||||
options->LowerPrecisionInt16 =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INT16);
|
||||
options->LowerPrecisionConstants =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_GLSL_16BIT_CONSTS);
|
||||
options->LowerPrecisionFloat16Uniforms =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16_CONST_BUFFERS);
|
||||
if (prefer_nir) {
|
||||
options->LowerPrecisionFloat16 =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16);
|
||||
options->LowerPrecisionDerivatives =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16_DERIVATIVES);
|
||||
options->LowerPrecisionInt16 =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INT16);
|
||||
options->LowerPrecisionConstants =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_GLSL_16BIT_CONSTS);
|
||||
options->LowerPrecisionFloat16Uniforms =
|
||||
screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16_CONST_BUFFERS);
|
||||
}
|
||||
}
|
||||
|
||||
c->MaxUserAssignableUniformLocations =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue