On Monday, December 12, 2016 4:35:46 PM PST Marek Olšák wrote: [snip] > Yeah, the GLSL compiler can't really do anything if it sees a bitcast. > I tried to write a pass that removes bitcasts, but it's a PITA because > you can have a vec4 where xzw are used as float and y as int. > > I just gave up and figured that unrolling in LLVM IR would be simpler. > > Marek
Yeah, this is one reason we need to get away from GLSL IR. Programs ported from DX11 have bitcasts out the wazoo. NIR handles this much better - since the types are part of the instruction, it magically sees through all this rubbish. You don't even need to think about it when writing passes. I suppose that's one thing that TGSI got right, and in retrospect we got wrong. --Ken
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev