On 14 April 2010 16:19, Matijn Woudt tijnema@gmail.com wrote:
I have thought about using LLVM, but I don't like it because of:
- Having another wine dependency (~40MB for me on ubuntu)
- Code generated by LLVM will most likely not generated exactly the
same bytecode as native compiler does, even though the shader has same effect on both. This makes it really hard to verify the HLSL compiler is working. My idea was to make wine's hlsl compiler produce exactly the same bytecode as native does. We might even find bugs in the native compiler, and either fix or duplicate these bugs.
LLVM might be useful if we needed a really fast compiler, but native compiler isn't really fast AFAIK. Once games are calling it a few hundred times it might be worth the effort.
My understanding was that LLVM is written in C++, so cannot be used directly in Wine (which only allows C89 code).
Therefore, for it to be usable in Wine, the LLVM API will need to be wrapped in a C API.
- Reece