mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 14:40:10 +01:00
gallium/ntt: Stop lowering integer source mods.
While tgsi_exec.c (softpipe) implemented 32b integer src mods, the tgsi.rst documentation says only 32b negate is supported and not abs. llvmpipe implemented 32 and 64 negate but not abs, virgl implemented negate incorrectly, and r600 apparently doesn't do any integer src mods. glsl_to_tgsi has apparently never generated integer src mods. Given that r600 can't do any integer src mods, just stop trying to generate them for TGSI. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8369>
This commit is contained in:
parent
ecaa7c3e39
commit
1ff2c01741
1 changed files with 5 additions and 3 deletions
|
|
@ -2628,9 +2628,11 @@ nir_to_tgsi(struct nir_shader *s,
|
|||
NIR_PASS_V(s, nir_lower_bool_to_float);
|
||||
}
|
||||
|
||||
NIR_PASS_V(s, nir_lower_to_source_mods,
|
||||
nir_lower_float_source_mods |
|
||||
nir_lower_int_source_mods); /* no doubles */
|
||||
/* Only lower 32-bit floats. The only other modifier type officially
|
||||
* supported by TGSI is 32-bit integer negates, but even those are broken on
|
||||
* virglrenderer, so skip lowering all integer and f64 float mods.
|
||||
*/
|
||||
NIR_PASS_V(s, nir_lower_to_source_mods, nir_lower_float_source_mods);
|
||||
NIR_PASS_V(s, nir_convert_from_ssa, true);
|
||||
NIR_PASS_V(s, nir_lower_vec_to_movs, NULL, NULL);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue