diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 0ec5d1be1f4..2481c2697e7 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -307,6 +307,12 @@ void st_init_limits(struct pipe_screen *screen, pc->LowInt.RangeMax = 30; pc->LowInt.Precision = 0; pc->MediumInt = pc->HighInt = pc->LowInt; + + if (screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_INT16)) { + pc->LowInt.RangeMin = 15; + pc->LowInt.RangeMax = 14; + pc->MediumInt = pc->LowInt; + } } if (screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_FP16)) {