https://bugs.freedesktop.org/show_bug.cgi?id=101651
Bug ID: 101651 Summary: [radeonsi][hawaii] Borderlands 2 rendering issues with recent mesa/llvm Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: ptpzz@yandex.ru QA Contact: dri-devel@lists.freedesktop.org
Created attachment 132354 --> https://bugs.freedesktop.org/attachment.cgi?id=132354&action=edit screenshot (wrong rendering)
AFAICS it's related to the VCCZ bug. There is a workaround for SI/CIK in the AMDGPU LLVM backend (SIInsertWaitcnts.cpp) but it doesn't handle this case.
The attached patch fixes it for me by relaxing the workaround condition, but probably it can be improved if there is a detailed info on that bug. OTOH I guess it won't have a noticeable effect on performance anyway, so maybe it's safer to use the patch as is.
The issue is reproducible with the reduced OpenCL test in the attachment:
$ make
// run on cpu - reference result
$ ./testcpu 117
// OpenCL/gpu - wrong result
$ LD_PRELOAD=/opt/llvm64_master/lib/libLLVM-5.0svn.so ./testgpu 99
// OpenCL/gpu + patch - correct result
$ LD_PRELOAD=/opt/llvm64_patched/lib/libLLVM-5.0svn.so ./testgpu 117