summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-07-04 03:19:58 +0200
committerCarl Worth <cworth@cworth.org>2014-07-14 11:46:43 -0700
commite7310313725142cf536179d4d918db2c20438765 (patch)
treeffce4720ed1871bc5924e86efdac39278c55ce90 /src
parent906727dccb60e6a5e11198eaa6fd1b5d266203d5 (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.c6
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++) {