Hi Marek, I don't get the hang on Dota 2 Reborn with this patch and LLVM/Mesa git.
Tested-by: Nick Sarnie <commendsar...@gmail.com> Thanks! On Sat, Oct 10, 2015 at 10:12 PM, Connor Abbott <cwabbo...@gmail.com> wrote: > FWIW, this isn't quite correct with ARB_shader_precision or GL4.1 -- > it specifies that infinities should be correctly generated through > division by 0, which unsafe-fp-math doesn't guarantee. At least, > that's assuming this is similar to the "fast" per-instruction flag > (http://llvm.org/docs/LangRef.html#fast-math-flags) which says "This > flag implies all the others." > > On Sat, Oct 10, 2015 at 9:29 PM, Marek Olšák <mar...@gmail.com> wrote: > > From: Marek Olšák <marek.ol...@amd.com> > > > > Required for 1/sqrt ==> rsq. > > > > We should finally fix the hang instead of running away from the issue. > This > > assumes the bug is in LLVM and we have time to fix it before the release. > > Include compute shaders as well, which only affects TGSI and thus OpenGL. > > > > Totals: > > SGPRS: 344368 -> 345104 (0.21 %) > > VGPRS: 197552 -> 197420 (-0.07 %) > > Code Size: 7366304 -> 7324692 (-0.56 %) bytes > > LDS: 91 -> 91 (0.00 %) blocks > > Scratch: 1615872 -> 1524736 (-5.64 %) bytes per wave > > > > Totals from affected shaders: > > SGPRS: 146696 -> 147432 (0.50 %) > > VGPRS: 87212 -> 87080 (-0.15 %) > > Code Size: 3852664 -> 3811052 (-1.08 %) bytes > > LDS: 48 -> 48 (0.00 %) blocks > > Scratch: 1179648 -> 1088512 (-7.73 %) bytes per wave > > --- > > src/gallium/drivers/radeon/radeon_llvm_emit.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.c > b/src/gallium/drivers/radeon/radeon_llvm_emit.c > > index 6b2ebde..4bda4a4 100644 > > --- a/src/gallium/drivers/radeon/radeon_llvm_emit.c > > +++ b/src/gallium/drivers/radeon/radeon_llvm_emit.c > > @@ -84,6 +84,13 @@ void radeon_llvm_shader_type(LLVMValueRef F, unsigned > type) > > sprintf(Str, "%1d", llvm_type); > > > > LLVMAddTargetDependentFunctionAttr(F, "ShaderType", Str); > > + > > +#if HAVE_LLVM >= 0x0308 > > + /* This only affects TGSI (OpenGL), so it's okay to set it for > > + * compute shaders too. > > + */ > > + LLVMAddTargetDependentFunctionAttr(F, "unsafe-fp-math", "true"); > > +#endif > > } > > > > static void init_r600_target() > > -- > > 2.1.4 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev