Mesa (master): r600g/llvm: Add dummy export for vs output

Tom Stellard tstellar at kemper.freedesktop.org
Mon Jan 28 18:30:08 UTC 2013


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

Author: Vincent Lejeune <peluche.canard at gmail.com>
Date:   Fri Jan 25 16:27:06 2013 +0100

r600g/llvm: Add dummy export for vs output

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=59588

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

---

 src/gallium/drivers/r600/r600_llvm.c |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c
index 276ef5f..9f8a095 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/drivers/r600/r600_llvm.c
@@ -433,9 +433,27 @@ static void llvm_emit_epilogue(struct lp_build_tgsi_context * bld_base)
 			}
 		}
 	}
+	// Add dummy exports
+	if (ctx->type == TGSI_PROCESSOR_VERTEX) {
+		if (!next_param) {
+			lp_build_intrinsic_unary(base->gallivm->builder, "llvm.R600.store.dummy",
+				LLVMVoidTypeInContext(base->gallivm->context),
+				lp_build_const_int32(base->gallivm, V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PARAM));
+		}
+		if (!(next_pos-60)) {
+			lp_build_intrinsic_unary(base->gallivm->builder, "llvm.R600.store.dummy",
+				LLVMVoidTypeInContext(base->gallivm->context),
+				lp_build_const_int32(base->gallivm, V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_POS));
+		}
+	}
+	if (ctx->type == TGSI_PROCESSOR_FRAGMENT) {
+		if (!has_color) {
+			lp_build_intrinsic_unary(base->gallivm->builder, "llvm.R600.store.dummy",
+				LLVMVoidTypeInContext(base->gallivm->context),
+				lp_build_const_int32(base->gallivm, V_SQ_CF_ALLOC_EXPORT_WORD0_SQ_EXPORT_PIXEL));
+		}
+	}
 
-	if (!has_color && ctx->type == TGSI_PROCESSOR_FRAGMENT)
-		lp_build_intrinsic(base->gallivm->builder, "llvm.R600.store.pixel.dummy", LLVMVoidTypeInContext(base->gallivm->context), 0, 0);
 }
 
 static void llvm_emit_tex(




More information about the mesa-commit mailing list