1cbuffer _UniformBuffer : register(b0, space0) 2{ 3 uint _7_a : packoffset(c0); 4}; 5 6 7static float4 sk_FragColor; 8 9struct SPIRV_Cross_Output 10{ 11 float4 sk_FragColor : SV_Target0; 12}; 13 14uint spvPackHalf2x16(float2 value) 15{ 16 uint2 Packed = f32tof16(value); 17 return Packed.x | (Packed.y << 16); 18} 19 20float2 spvUnpackHalf2x16(uint value) 21{ 22 return f16tof32(uint2(value & 0xffff, value >> 16)); 23} 24 25uint spvPackUnorm4x8(float4 value) 26{ 27 uint4 Packed = uint4(round(saturate(value) * 255.0)); 28 return Packed.x | (Packed.y << 8) | (Packed.z << 16) | (Packed.w << 24); 29} 30 31float4 spvUnpackUnorm4x8(uint value) 32{ 33 uint4 Packed = uint4(value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, value >> 24); 34 return float4(Packed) / 255.0; 35} 36 37uint spvPackSnorm4x8(float4 value) 38{ 39 int4 Packed = int4(round(clamp(value, -1.0, 1.0) * 127.0)) & 0xff; 40 return uint(Packed.x | (Packed.y << 8) | (Packed.z << 16) | (Packed.w << 24)); 41} 42 43float4 spvUnpackSnorm4x8(uint value) 44{ 45 int SignedValue = int(value); 46 int4 Packed = int4(SignedValue << 24, SignedValue << 16, SignedValue << 8, SignedValue) >> 24; 47 return clamp(float4(Packed) / 127.0, -1.0, 1.0); 48} 49 50uint spvPackUnorm2x16(float2 value) 51{ 52 uint2 Packed = uint2(round(saturate(value) * 65535.0)); 53 return Packed.x | (Packed.y << 16); 54} 55 56float2 spvUnpackUnorm2x16(uint value) 57{ 58 uint2 Packed = uint2(value & 0xffff, value >> 16); 59 return float2(Packed) / 65535.0; 60} 61 62uint spvPackSnorm2x16(float2 value) 63{ 64 int2 Packed = int2(round(clamp(value, -1.0, 1.0) * 32767.0)) & 0xffff; 65 return uint(Packed.x | (Packed.y << 16)); 66} 67 68float2 spvUnpackSnorm2x16(uint value) 69{ 70 int SignedValue = int(value); 71 int2 Packed = int2(SignedValue << 16, SignedValue) >> 16; 72 return clamp(float2(Packed) / 32767.0, -1.0, 1.0); 73} 74 75void frag_main() 76{ 77 float2 _14 = spvUnpackHalf2x16(_7_a); 78 sk_FragColor = float4(_14.x, _14.y, sk_FragColor.z, sk_FragColor.w); 79 float2 _23 = spvUnpackUnorm2x16(_7_a); 80 sk_FragColor = float4(_23.x, _23.y, sk_FragColor.z, sk_FragColor.w); 81 float2 _28 = spvUnpackSnorm2x16(_7_a); 82 sk_FragColor = float4(_28.x, _28.y, sk_FragColor.z, sk_FragColor.w); 83 sk_FragColor = spvUnpackUnorm4x8(_7_a); 84 sk_FragColor = spvUnpackSnorm4x8(_7_a); 85} 86 87SPIRV_Cross_Output main() 88{ 89 frag_main(); 90 SPIRV_Cross_Output stage_output; 91 stage_output.sk_FragColor = sk_FragColor; 92 return stage_output; 93} 94