> On Nov 7, 2018, at 7:53 AM, Florian Bösch <pyalot@gmail.com> wrote:
>
> On Wed, Nov 7, 2018 at 4:30 PM Filip Pizlo <fpizlo@apple.com <mailto:fpizlo@apple.com>> wrote:
> emit MSL, HLSL, or SPIR-V.
>
> Well, if you've got to emit HLSL you're screwed. Because it's longstanding Microsoft tradition that compilers are shit and slow. It's always been Microsofts view that you should precompile shaders to DXIL. The whole exercise only has any point if you can cut out slow middleware that can't do what it's supposed to do in a reasonable amount of time despite developers complaining and arguing about it for the better part of 2 decades. At this point it's fairly certain to assume drivers and Direct3D are always going to be shit at compiling anything, apparently hiring capable programmers for compiler design is hard or whatever, so the only way to make any progress is to take that responsibility entirely out of their incapable hands.
Both HLSL and DXIL can be emitted either from SPIR-V or from WHLSL as an input. With probably similar levels of effort. So if it turns out to be desirable to avoid compiling MSL at runtime, this can be handled, and the choice of input language makes no difference.
Regards,
Maciej