Commit 4f3c82c7 authored by Kenneth Graunke's avatar Kenneth Graunke

st/nir: Don't use GLSL IR's MOD_TO_FLOOR lowering when using NIR.

Both GLSL IR and NIR perform the same mod -> floor lowering for 32-bit
types.  But nir_lower_double_ops is slightly more defensive against
lowered drcp precision loss, and handles mod(x, x) = 0 directly.  This
works well...assuming nir_lower_double_ops actually gets an fmod op to
lower in the first place.

The previous patches enabled NIR-based lowering for the remaining
drivers, so we can stop using the GLSL IR lowering when using NIR.

Fixes KHR-GL45.gpu_shader_fp64.builtin.mod_dvec[234] on iris.
Reviewed-by: default avatarMarek Olšák <>
parent f4d4c426
......@@ -121,7 +121,7 @@ st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
shader, ctx->Extensions.KHR_blend_equation_advanced_coherent);
(use_nir ? 0 : MOD_TO_FLOOR) |
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment