Mesa (master): gallium/radeon: re-enable unsafe math for graphics shaders

Marek Olšák mareko at kemper.freedesktop.org
Fri Jul 31 14:51:32 UTC 2015


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Jul 25 12:01:07 2015 +0200

gallium/radeon: re-enable unsafe math for graphics shaders

This reverts commit 4db985a5fa9ea985616a726b1770727309502d81.

The grass no longer disappears, which was the reason the commit was reverted.
This might affect tessellation. We'll see.

Totals from affected shaders:
SGPRS: 151672 -> 150232 (-0.95 %)
VGPRS: 90620 -> 89776 (-0.93 %)
Code Size: 3980472 -> 3920836 (-1.50 %) bytes
LDS: 67 -> 67 (0.00 %) blocks
Scratch: 1357824 -> 1202176 (-11.46 %) bytes per wave

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

---

 src/gallium/drivers/radeon/radeon_llvm_emit.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.c b/src/gallium/drivers/radeon/radeon_llvm_emit.c
index 973d6ed..c442c65 100644
--- a/src/gallium/drivers/radeon/radeon_llvm_emit.c
+++ b/src/gallium/drivers/radeon/radeon_llvm_emit.c
@@ -82,6 +82,10 @@ void radeon_llvm_shader_type(LLVMValueRef F, unsigned type)
 	sprintf(Str, "%1d", llvm_type);
 
 	LLVMAddTargetDependentFunctionAttr(F, "ShaderType", Str);
+
+	if (type != TGSI_PROCESSOR_COMPUTE) {
+		LLVMAddTargetDependentFunctionAttr(F, "unsafe-fp-math", "true");
+	}
 }
 
 static void init_r600_target()




More information about the mesa-commit mailing list