Texture2D tex : register(t0); SamplerState _tex_sampler : register(s0); static float2 vUV; static float4 vTint; static uint vExtra; static float4 fragColor; struct SPIRV_Cross_Input { float2 vUV : TEXCOORD0; float4 vTint : TEXCOORD1; nointerpolation uint vExtra : TEXCOORD2; }; struct SPIRV_Cross_Output { float4 fragColor : SV_Target0; }; void frag_main() { float4 color = tex.Sample(_tex_sampler, vUV); color *= vTint; if (vExtra != 0u) { float3 _42 = dot(color.xyz, float3(0.2989999949932098388671875f, 0.58700001239776611328125f, 0.114000000059604644775390625f)).xxx; color = float4(_42.x, _42.y, _42.z, color.w); } fragColor = color; } SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input) { vUV = stage_input.vUV; vTint = stage_input.vTint; vExtra = stage_input.vExtra; frag_main(); SPIRV_Cross_Output stage_output; stage_output.fragColor = fragColor; return stage_output; }