Mesa (master): i965/nir: enable lowering of texture gradient for shadow samplers

Iago Toral Quiroga itoral at kemper.freedesktop.org
Tue Dec 13 10:09:54 UTC 2016


Module: Mesa
Branch: master
Commit: 77f65b3b643d135a5eab3799a600302177dccb26
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=77f65b3b643d135a5eab3799a600302177dccb26

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Tue Dec 13 10:24:19 2016 +0100

i965/nir: enable lowering of texture gradient for shadow samplers

This gets the lowering on the Vulkan driver too, which is required for
hardware that does not have the sample_l_d message (up to IvyBridge).

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_nir.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c
index f6bcd45..55b16cf 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.c
+++ b/src/mesa/drivers/dri/i965/brw_nir.c
@@ -596,6 +596,9 @@ brw_nir_apply_sampler_key(nir_shader *nir,
          tex_options.swizzles[s][c] = GET_SWZ(key_tex->swizzles[s], c);
    }
 
+   /* Prior to Haswell, we have to lower gradients on shadow samplers */
+   tex_options.lower_txd_shadow = devinfo->gen < 8 && !devinfo->is_haswell;
+
    tex_options.lower_y_uv_external = key_tex->y_uv_image_mask;
    tex_options.lower_y_u_v_external = key_tex->y_u_v_image_mask;
    tex_options.lower_yx_xuxv_external = key_tex->yx_xuxv_image_mask;




More information about the mesa-commit mailing list