Mesa (master): radeonsi: don't adjust depth and stencil PS output locations

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 14 23:48:43 UTC 2020


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Jan 10 16:47:04 2020 -0500

radeonsi: don't adjust depth and stencil PS output locations

this was for compatibility with TGSI

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

---

 src/gallium/drivers/radeonsi/si_shader.c     |  4 ++--
 src/gallium/drivers/radeonsi/si_shader_nir.c | 10 +---------
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 39297225617..07199a295d5 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -3060,11 +3060,11 @@ static void si_llvm_return_fs_outputs(struct ac_shader_abi *abi,
 			break;
 		case TGSI_SEMANTIC_POSITION:
 			depth = LLVMBuildLoad(builder,
-					      addrs[4 * i + 2], "");
+					      addrs[4 * i + 0], "");
 			break;
 		case TGSI_SEMANTIC_STENCIL:
 			stencil = LLVMBuildLoad(builder,
-						addrs[4 * i + 1], "");
+						addrs[4 * i + 0], "");
 			break;
 		case TGSI_SEMANTIC_SAMPLEMASK:
 			samplemask = LLVMBuildLoad(builder,
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index d050ff0bc09..03f819ec772 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -955,16 +955,8 @@ void si_nir_adjust_driver_locations(struct nir_shader *nir)
 			variable->data.driver_location *= 4;
 	}
 
-	nir_foreach_variable(variable, &nir->outputs) {
+	nir_foreach_variable(variable, &nir->outputs)
 		variable->data.driver_location *= 4;
-
-		if (nir->info.stage == MESA_SHADER_FRAGMENT) {
-			if (variable->data.location == FRAG_RESULT_DEPTH)
-				variable->data.driver_location += 2;
-			else if (variable->data.location == FRAG_RESULT_STENCIL)
-				variable->data.driver_location += 1;
-		}
-	}
 }
 
 /**



More information about the mesa-commit mailing list