[Mesa-dev] [PATCH 07/18] gallium/radeon: re-enable unsafe math for graphics shaders

Marek Olšák maraeo at gmail.com
Tue Jul 28 03:05:42 PDT 2015


From: Marek Olšák <marek.olsak at amd.com>

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
---
 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()
-- 
2.1.4



More information about the mesa-dev mailing list