From e7310313725142cf536179d4d918db2c20438765 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Fri, 4 Jul 2014 03:19:58 +0200 Subject: radeonsi: fix samplerCubeShadow with bias Pack the depth value before overwriting it with cube coordinates. Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit b279f0143f4dce67c8f5af57cd4a5942eb403c13) Conflicts: src/gallium/drivers/radeonsi/si_shader.c --- src/gallium/drivers/radeonsi/si_shader.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/gallium/drivers') diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 0d070d3cef6..09c99ebaf5a 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -1540,9 +1540,6 @@ static void tex_fetch_args( if (opcode == TGSI_OPCODE_TXB) address[count++] = coords[3]; - if (target == TGSI_TEXTURE_CUBE || target == TGSI_TEXTURE_SHADOWCUBE) - radeon_llvm_emit_prepare_cube_coords(bld_base, emit_data, coords); - /* Pack depth comparison value */ switch (target) { case TGSI_TEXTURE_SHADOW1D: @@ -1558,6 +1555,9 @@ static void tex_fetch_args( address[count++] = lp_build_emit_fetch(bld_base, inst, 1, 0); } + if (target == TGSI_TEXTURE_CUBE || target == TGSI_TEXTURE_SHADOWCUBE) + radeon_llvm_emit_prepare_cube_coords(bld_base, emit_data, coords); + /* Pack user derivatives */ if (opcode == TGSI_OPCODE_TXD) { for (chan = 0; chan < 2; chan++) { -- cgit v1.2.3