diff options
author | Marek Olšák <marek.olsak@amd.com> | 2014-07-04 03:19:58 +0200 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2014-07-14 11:46:43 -0700 |
commit | e7310313725142cf536179d4d918db2c20438765 (patch) | |
tree | ffce4720ed1871bc5924e86efdac39278c55ce90 /src | |
parent | 906727dccb60e6a5e11198eaa6fd1b5d266203d5 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 6 |
1 files changed, 3 insertions, 3 deletions
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++) { |