these patches change the way we load shaders, initially for radeonsi but ideally radv would adopt the same approach.
Basically, instead of hard-coding that we have a single .text section in the ELF generated by LLVM, we align ourselves more with the ELF standard and actually look at all the sections in the file(s), lay them out in memory, and resolve relocations between them. There is still hard-coding of ".text" sections for the purpose of gfx9+ merged shaders. The immediate consequence is that we will be able to emit .rodata in LLVM and emit absolute or relative relocations that will be resolved when shaders are uploaded to the GPU. As a next step, I want us to explicitly record LDS symbol in the ELF symbol table and have ac_rtld lay out and resolve those symbols at load time. This will allow us to use LDS both for communication between shader parts and for temporary variables used within each part. Please review! Thanks, Nicolai _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev