1 Year Ago
vfxc: can output preprocessed hlsl for vulkan Use two stage macro expansion for RenderState and SrgbWrite so token pasting combos (and other defines) works as intended on DXC Fixes RenderState being evaluated incorrectly on Vulkan and doing nothing or worst case crashing `RenderState( CullMode, D_MYCOMBO );` was getting evaluated differently as FXC had some non standard macro expansion rules: FXC: `string g_renderState_CullMode < string arg1 = "1" ; > = "" ; ; ` DXC: `string g_renderState_CullMode < string arg1 = "D_MYCOMBO"; > = "" ;;` DXC's -flegacy-macro-expansion wasn't doing anything either