[Mesa-dev] [PATCH] radeonsi: Cache LLVMTargetMachineRef in context instead of in screen

Michel Dänzer michel at daenzer.net
Mon Mar 30 19:50:42 PDT 2015


On 30.03.2015 22:28, Emil Velikov wrote:
> On 27 March 2015 at 01:05, Michel Dänzer <michel at daenzer.net> wrote:
>> From: Michel Dänzer <michel.daenzer at amd.com>
>>
>> Fixes a crash in genymotion with several threads compiling shaders
>> concurrently.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89746
>>
>> Cc: 10.5 <mesa-stable at lists.freedesktop.org>
>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> Hi Michel,
> 
> Seems that the r600-- triple is used for both r600 and radeonsi via
> radeon_llvm_compile(), regardless of the GPU or LLVM version. Is that
> intentional or just a left over ?

It's intentional. The LLVMTargetMachineRef parameter of
radeon_llvm_compile can only be NULL with LLVM < 3.6, otherwise the
cached one created by the code moved by this change is used.

(Conversely, I guess the

#else
	const char *triple = "r600--";

could be dropped from si_create_context(), because it only uses the
triple with LLVM >= 3.6. Any takers?)


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the mesa-dev mailing list