diff --git a/src/compiler/nir/nir_lower_tex.c b/src/compiler/nir/nir_lower_tex.c index 7a42bb339e7..511171da60d 100644 --- a/src/compiler/nir/nir_lower_tex.c +++ b/src/compiler/nir/nir_lower_tex.c @@ -1477,8 +1477,10 @@ nir_lower_tex_block(nir_block *block, nir_builder *b, /* Only fragment and compute (in some cases) support implicit * derivatives. Lower those opcodes which use implicit derivatives to * use an explicit LOD of 0. + * But don't touch RECT samplers because they don't have mips. */ if (nir_tex_instr_has_implicit_derivative(tex) && + tex->sampler_dim != GLSL_SAMPLER_DIM_RECT && !nir_shader_supports_implicit_lod(b->shader)) { lower_zero_lod(b, tex); progress = true;