zink: implement nir_texop_txd
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 17 Dec 2019 20:17:09 +0000 (21:17 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Thu, 19 Dec 2019 12:14:29 +0000 (13:14 +0100)
commitaf65bfb38fa56bf6a28dd4b681ca123b9c05a827
tree830189829e67c4c9399e63d27215be1678883244
parentb31d1b73bc6bcb64ff37ecb0805646d8b09c6427
zink: implement nir_texop_txd

This lets us enable PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD, which in turns
gives us ARB_shader_texture_lod.

Still fails one piglit test on ANV, namely
spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,
but with 33 new passing tests, I think this is worth it.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3140>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3140>
src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c
src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h
src/gallium/drivers/zink/zink_screen.c