Using binned. 4.3.0-0+UE4 7038 3077 379 0 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 Mesa: User error: GL_INVALID_ENUM in glGetIntegerv(pname=0x8e81) GLSL IR for linked fragment program 0: ( (declare (shader_in ) vec4 gl_Color) (declare (shader_out ) vec4 gl_FragColor) (declare (temporary ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) (assign (xyzw) (var_ref gl_FragColor@2) (var_ref gl_FragColor) ) )) ) ) FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %35, float %36, float %37, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 EXP 15, 0, 0, 1, 1, %VGPR0, %VGPR1, %VGPR2, %VGPR3, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 0, 0, 1, 1, v0, v1, v2, v3 ; F800180F 03020100 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = call i32 @llvm.SI.packf16(float %35, float %36) %40 = bitcast i32 %39 to float %41 = call i32 @llvm.SI.packf16(float %37, float %38) %42 = bitcast i32 %41 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %40, float %42, float %40, float %42) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 %VGPR4 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR3, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR1, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR4, %VGPR0, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 V_CVT_PKRTZ_F16_F32_e32 v4, v2, v3 ; 5E080702 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v1 ; 5E000300 EXP 15, 0, 1, 1, 1, v0, v4, v0, v4 ; F8001C0F 04000400 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D_ARRAY 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %11) %29 = bitcast float %26 to i32 %30 = bitcast float %27 to i32 %31 = bitcast float %28 to i32 %32 = insertelement <4 x i32> undef, i32 %29, i32 0 %33 = insertelement <4 x i32> %32, i32 %30, i32 1 %34 = insertelement <4 x i32> %33, i32 %31, i32 2 %35 = insertelement <4 x i32> %34, i32 undef, i32 3 %36 = bitcast <8 x i32> %23 to <32 x i8> %37 = bitcast <4 x i32> %25 to <16 x i8> %38 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %35, <32 x i8> %36, <16 x i8> %37, i32 10) %39 = extractelement <4 x float> %38, i32 0 %40 = extractelement <4 x float> %38, i32 1 %41 = extractelement <4 x float> %38, i32 2 %42 = extractelement <4 x float> %38, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %39, float %40, float %41, float %42) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR4 = V_INTERP_P1_F32 %VGPR0, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR4 = V_INTERP_P2_F32 %VGPR4, %VGPR1, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V4 15, 0, 0, -1, 0, 0, 0, 0, %VGPR2_VGPR3_VGPR4_VGPR5, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 EXP 15, 0, 0, 1, 1, %VGPR0, %VGPR1, %VGPR2, %VGPR3, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v4, v0, 2, 0, [m0] ; C8100200 V_INTERP_P2_F32 v4, [v4], v1, 2, 0, [m0] ; C8110201 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, -1, 0, 0, 0, 0, v[2:5], s[4:11], s[0:3] ; F0804F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 0, 0, 1, 1, v0, v1, v2, v3 ; F800180F 03020100 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D_ARRAY 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %11) %29 = bitcast float %26 to i32 %30 = bitcast float %27 to i32 %31 = bitcast float %28 to i32 %32 = insertelement <4 x i32> undef, i32 %29, i32 0 %33 = insertelement <4 x i32> %32, i32 %30, i32 1 %34 = insertelement <4 x i32> %33, i32 %31, i32 2 %35 = insertelement <4 x i32> %34, i32 undef, i32 3 %36 = bitcast <8 x i32> %23 to <32 x i8> %37 = bitcast <4 x i32> %25 to <16 x i8> %38 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %35, <32 x i8> %36, <16 x i8> %37, i32 10) %39 = extractelement <4 x float> %38, i32 0 %40 = extractelement <4 x float> %38, i32 1 %41 = extractelement <4 x float> %38, i32 2 %42 = extractelement <4 x float> %38, i32 3 %43 = call i32 @llvm.SI.packf16(float %39, float %40) %44 = bitcast i32 %43 to float %45 = call i32 @llvm.SI.packf16(float %41, float %42) %46 = bitcast i32 %45 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %44, float %46, float %44, float %46) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR4 = V_INTERP_P1_F32 %VGPR0, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR4 = V_INTERP_P2_F32 %VGPR4, %VGPR1, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V4 15, 0, 0, -1, 0, 0, 0, 0, %VGPR2_VGPR3_VGPR4_VGPR5, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 %VGPR4 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR3, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR1, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR4, %VGPR0, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v4, v0, 2, 0, [m0] ; C8100200 V_INTERP_P2_F32 v4, [v4], v1, 2, 0, [m0] ; C8110201 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, -1, 0, 0, 0, 0, v[2:5], s[4:11], s[0:3] ; F0804F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 V_CVT_PKRTZ_F16_F32_e32 v4, v2, v3 ; 5E080702 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v1 ; 5E000300 EXP 15, 0, 1, 1, 1, v0, v4, v0, v4 ; F8001C0F 04000400 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 3D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %11) %29 = bitcast float %26 to i32 %30 = bitcast float %27 to i32 %31 = bitcast float %28 to i32 %32 = insertelement <4 x i32> undef, i32 %29, i32 0 %33 = insertelement <4 x i32> %32, i32 %30, i32 1 %34 = insertelement <4 x i32> %33, i32 %31, i32 2 %35 = insertelement <4 x i32> %34, i32 undef, i32 3 %36 = bitcast <8 x i32> %23 to <32 x i8> %37 = bitcast <4 x i32> %25 to <16 x i8> %38 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %35, <32 x i8> %36, <16 x i8> %37, i32 3) %39 = extractelement <4 x float> %38, i32 0 %40 = extractelement <4 x float> %38, i32 1 %41 = extractelement <4 x float> %38, i32 2 %42 = extractelement <4 x float> %38, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %39, float %40, float %41, float %42) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR4 = V_INTERP_P1_F32 %VGPR0, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR4 = V_INTERP_P2_F32 %VGPR4, %VGPR1, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V4 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3_VGPR4_VGPR5, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 EXP 15, 0, 0, 1, 1, %VGPR0, %VGPR1, %VGPR2, %VGPR3, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v4, v0, 2, 0, [m0] ; C8100200 V_INTERP_P2_F32 v4, [v4], v1, 2, 0, [m0] ; C8110201 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:5], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 0, 0, 1, 1, v0, v1, v2, v3 ; F800180F 03020100 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 3D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %11) %29 = bitcast float %26 to i32 %30 = bitcast float %27 to i32 %31 = bitcast float %28 to i32 %32 = insertelement <4 x i32> undef, i32 %29, i32 0 %33 = insertelement <4 x i32> %32, i32 %30, i32 1 %34 = insertelement <4 x i32> %33, i32 %31, i32 2 %35 = insertelement <4 x i32> %34, i32 undef, i32 3 %36 = bitcast <8 x i32> %23 to <32 x i8> %37 = bitcast <4 x i32> %25 to <16 x i8> %38 = call <4 x float> @llvm.SI.sample.v4i32(<4 x i32> %35, <32 x i8> %36, <16 x i8> %37, i32 3) %39 = extractelement <4 x float> %38, i32 0 %40 = extractelement <4 x float> %38, i32 1 %41 = extractelement <4 x float> %38, i32 2 %42 = extractelement <4 x float> %38, i32 3 %43 = call i32 @llvm.SI.packf16(float %39, float %40) %44 = bitcast i32 %43 to float %45 = call i32 @llvm.SI.packf16(float %41, float %42) %46 = bitcast i32 %45 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %44, float %46, float %44, float %46) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v4i32(<4 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR4 = V_INTERP_P1_F32 %VGPR0, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR4 = V_INTERP_P2_F32 %VGPR4, %VGPR1, 2, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3_VGPR4_VGPR5, %VGPR2_VGPR3_VGPR4_VGPR5 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V4 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3_VGPR4_VGPR5, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 %VGPR4 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR3, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR1, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR4, %VGPR0, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v4, v0, 2, 0, [m0] ; C8100200 V_INTERP_P2_F32 v4, [v4], v1, 2, 0, [m0] ; C8110201 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:5], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 V_CVT_PKRTZ_F16_F32_e32 v4, v2, v3 ; 5E080702 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v1 ; 5E000300 EXP 15, 0, 1, 1, 1, v0, v4, v0, v4 ; F8001C0F 04000400 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %35, float %36, float %37, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 EXP 15, 0, 0, 1, 1, %VGPR0, %VGPR1, %VGPR2, %VGPR3, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 0, 0, 1, 1, v0, v1, v2, v3 ; F800180F 03020100 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR3 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC EXP 15, 0, 0, 1, 1, %VGPR3, %VGPR2, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_INTERP_MOV_F32 v2, P0, 1, 0, [m0] ; C80A0102 V_INTERP_MOV_F32 v3, P0, 0, 0, [m0] ; C80E0002 EXP 15, 0, 0, 1, 1, v3, v2, v1, v0 ; F800180F 00010203 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT 0: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: call void @llvm.SI.export(i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, i32, i32, i32, i32) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness BB#0: derived from LLVM BB %main_body %VGPR0 = V_MOV_B32_e32 0, %EXEC EXP 0, 0, 0, 1, 1, %VGPR0, %VGPR0, %VGPR0, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: V_MOV_B32_e32 v0, 0 ; 7E000280 EXP 0, 0, 0, 1, 1, v0, v0, v0, v0 ; F8001800 00000000 S_ENDPGM ; BF810000 GLSL IR for linked fragment program 0: ( (declare (shader_in ) vec4 gl_Color) (declare (shader_out ) vec4 gl_FragColor) (declare (temporary ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) (assign (xyzw) (var_ref gl_FragColor@3) (var_ref gl_FragColor) ) )) ) ) FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], COLOR, COLOR DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %7) %23 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %7) %24 = call float @llvm.SI.fs.interp(i32 2, i32 0, i32 %5, <2 x i32> %7) %25 = call float @llvm.SI.fs.interp(i32 3, i32 0, i32 %5, <2 x i32> %7) call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %22, float %23, float %24, float %25) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 3, 0, %M0, %EXEC %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 3, 0, %M0, %EXEC %VGPR3 = V_INTERP_P1_F32 %VGPR0, 2, 0, %M0, %EXEC %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 2, 0, %M0, %EXEC %VGPR4 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC %VGPR4 = V_INTERP_P2_F32 %VGPR4, %VGPR1, 1, 0, %M0, %EXEC %VGPR5 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC %VGPR5 = V_INTERP_P2_F32 %VGPR5, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1 EXP 15, 0, 0, 1, 1, %VGPR5, %VGPR4, %VGPR3, %VGPR2, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v2, v0, 3, 0, [m0] ; C8080300 V_INTERP_P2_F32 v2, [v2], v1, 3, 0, [m0] ; C8090301 V_INTERP_P1_F32 v3, v0, 2, 0, [m0] ; C80C0200 V_INTERP_P2_F32 v3, [v3], v1, 2, 0, [m0] ; C80D0201 V_INTERP_P1_F32 v4, v0, 1, 0, [m0] ; C8100100 V_INTERP_P2_F32 v4, [v4], v1, 1, 0, [m0] ; C8110101 V_INTERP_P1_F32 v5, v0, 0, 0, [m0] ; C8140000 V_INTERP_P2_F32 v5, [v5], v1, 0, 0, [m0] ; C8150001 EXP 15, 0, 0, 1, 1, v5, v4, v3, v2 ; F800180F 02030405 S_ENDPGM ; BF810000 FRAG PROPERTY FS_COLOR0_WRITES_ALL_CBUFS 1 DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) %26 = call i32 @llvm.SI.packf16(float %22, float %23) %27 = bitcast i32 %26 to float %28 = call i32 @llvm.SI.packf16(float %24, float %25) %29 = bitcast i32 %28 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %27, float %29, float %27, float %29) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR1, %VGPR0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC %VGPR1 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR1, %EXEC EXP 15, 0, 1, 1, 1, %VGPR1, %VGPR0, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_CVT_PKRTZ_F16_F32_e32 v0, v1, v0 ; 5E000101 V_INTERP_MOV_F32 v1, P0, 1, 0, [m0] ; C8060102 V_INTERP_MOV_F32 v2, P0, 0, 0, [m0] ; C80A0002 V_CVT_PKRTZ_F16_F32_e32 v1, v2, v1 ; 5E020302 EXP 15, 0, 1, 1, 1, v1, v0, v1, v0 ; F8001C0F 00010001 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], CONSTANT DCL OUT[0], COLOR 0: MOV OUT[0], IN[0] 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = call float @llvm.SI.fs.constant(i32 0, i32 0, i32 %5) %23 = call float @llvm.SI.fs.constant(i32 1, i32 0, i32 %5) %24 = call float @llvm.SI.fs.constant(i32 2, i32 0, i32 %5) %25 = call float @llvm.SI.fs.constant(i32 3, i32 0, i32 %5) %26 = call i32 @llvm.SI.packf16(float %22, float %23) %27 = bitcast i32 %26 to float %28 = call i32 @llvm.SI.packf16(float %24, float %25) %29 = bitcast i32 %28 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %27, float %29, float %27, float %29) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.constant(i32, i32, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR9 in %vreg5 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR9 %EXEC = S_WQM_B64 %EXEC %M0 = S_MOV_B32 %SGPR9 %VGPR0 = V_INTERP_MOV_F32 2, 3, 0, %M0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 2, 0, %M0, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR1, %VGPR0, %EXEC %VGPR1 = V_INTERP_MOV_F32 2, 1, 0, %M0, %EXEC %VGPR2 = V_INTERP_MOV_F32 2, 0, 0, %M0, %EXEC %VGPR1 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR1, %EXEC EXP 15, 0, 1, 1, 1, %VGPR1, %VGPR0, %VGPR1, %VGPR0, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_MOV_F32 v0, P0, 3, 0, [m0] ; C8020302 V_INTERP_MOV_F32 v1, P0, 2, 0, [m0] ; C8060202 V_CVT_PKRTZ_F16_F32_e32 v0, v1, v0 ; 5E000101 V_INTERP_MOV_F32 v1, P0, 1, 0, [m0] ; C8060102 V_INTERP_MOV_F32 v2, P0, 0, 0, [m0] ; C80A0002 V_CVT_PKRTZ_F16_F32_e32 v1, v2, v1 ; 5E020302 EXP 15, 0, 1, 1, 1, v1, v0, v1, v0 ; F8001C0F 00010001 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = call i32 @llvm.SI.packf16(float %35, float %36) %40 = bitcast i32 %39 to float %41 = call i32 @llvm.SI.packf16(float %37, float %38) %42 = bitcast i32 %41 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %40, float %42, float %40, float %42) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 %VGPR4 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR3, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR1, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR4, %VGPR0, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 V_CVT_PKRTZ_F16_F32_e32 v4, v2, v3 ; 5E080702 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v1 ; 5E000300 EXP 15, 0, 1, 1, 1, v0, v4, v0, v4 ; F8001C0F 04000400 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = call i32 @llvm.SI.packf16(float %35, float %36) %40 = bitcast i32 %39 to float %41 = call i32 @llvm.SI.packf16(float %37, float %38) %42 = bitcast i32 %41 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %40, float %42, float %40, float %42) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 %VGPR4 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR3, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR1, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR4, %VGPR0, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 V_CVT_PKRTZ_F16_F32_e32 v4, v2, v3 ; 5E080702 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v1 ; 5E000300 EXP 15, 0, 1, 1, 1, v0, v4, v0, v4 ; F8001C0F 04000400 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %35, float %36, float %37, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 EXP 15, 0, 0, 1, 1, %VGPR0, %VGPR1, %VGPR2, %VGPR3, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 0, 0, 1, 1, v0, v1, v2, v3 ; F800180F 03020100 S_ENDPGM ; BF810000 FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 0, float %35, float %36, float %37, float %38) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 EXP 15, 0, 0, 1, 1, %VGPR0, %VGPR1, %VGPR2, %VGPR3, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 EXP 15, 0, 0, 1, 1, v0, v1, v2, v3 ; F800180F 03020100 S_ENDPGM ; BF810000 GLSL IR for linked fragment program 0: ( (declare (shader_in ) vec4 gl_Color) (declare (shader_out ) vec4 gl_FragColor) (declare (temporary ) vec4 gl_FragColor) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref gl_FragColor) (var_ref gl_Color) ) (assign (xyzw) (var_ref gl_FragColor@4) (var_ref gl_FragColor) ) )) ) ) FRAG DCL IN[0], GENERIC[0], LINEAR DCL OUT[0], COLOR DCL SAMP[0] 0: TEX OUT[0], IN[0], SAMP[0], 2D 1: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, float inreg, i32 inreg, <2 x i32>, <2 x i32>, <2 x i32>, <3 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, float, float, float, float, float, float, i32, float, float) #0 { main_body: %22 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %23 = load <8 x i32> addrspace(2)* %22, !tbaa !0 %24 = getelementptr [16 x <4 x i32>] addrspace(2)* %1, i64 0, i32 0 %25 = load <4 x i32> addrspace(2)* %24, !tbaa !0 %26 = call float @llvm.SI.fs.interp(i32 0, i32 0, i32 %5, <2 x i32> %11) %27 = call float @llvm.SI.fs.interp(i32 1, i32 0, i32 %5, <2 x i32> %11) %28 = bitcast float %26 to i32 %29 = bitcast float %27 to i32 %30 = insertelement <2 x i32> undef, i32 %28, i32 0 %31 = insertelement <2 x i32> %30, i32 %29, i32 1 %32 = bitcast <8 x i32> %23 to <32 x i8> %33 = bitcast <4 x i32> %25 to <16 x i8> %34 = call <4 x float> @llvm.SI.sample.v2i32(<2 x i32> %31, <32 x i8> %32, <16 x i8> %33, i32 2) %35 = extractelement <4 x float> %34, i32 0 %36 = extractelement <4 x float> %34, i32 1 %37 = extractelement <4 x float> %34, i32 2 %38 = extractelement <4 x float> %34, i32 3 %39 = call i32 @llvm.SI.packf16(float %35, float %36) %40 = bitcast i32 %39 to float %41 = call i32 @llvm.SI.packf16(float %37, float %38) %42 = bitcast i32 %41 to float call void @llvm.SI.export(i32 15, i32 1, i32 1, i32 0, i32 1, float %40, float %42, float %40, float %42) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.fs.interp(i32, i32, i32, <2 x i32>) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.sample.v2i32(<2 x i32>, <32 x i8>, <16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare i32 @llvm.SI.packf16(float, float) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="0" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} # Machine code for function main: Post SSA, not tracking liveness Function Live Ins: %SGPR2_SGPR3 in %vreg1, %SGPR4_SGPR5 in %vreg2, %SGPR9 in %vreg5, %VGPR0 in %vreg6, %VGPR1 in %vreg7 BB#0: derived from LLVM BB %main_body Live Ins: %SGPR2_SGPR3 %SGPR4_SGPR5 %SGPR9 %VGPR0 %VGPR1 %EXEC = S_WQM_B64 %EXEC %VGPR1 = KILL %VGPR1, %VGPR0_VGPR1 %VGPR0 = KILL %VGPR0, %VGPR0_VGPR1, %VGPR0_VGPR1 %M0 = S_MOV_B32 %SGPR9 %VGPR3 = V_INTERP_P1_F32 %VGPR0, 1, 0, %M0, %EXEC, %VGPR2_VGPR3 %VGPR3 = V_INTERP_P2_F32 %VGPR3, %VGPR1, 1, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P1_F32 %VGPR0, 0, 0, %M0, %EXEC, %VGPR2_VGPR3, %VGPR2_VGPR3 %VGPR2 = V_INTERP_P2_F32 %VGPR2, %VGPR1, 0, 0, %M0, %EXEC, %VGPR0_VGPR1, %VGPR2_VGPR3, %VGPR2_VGPR3 %SGPR0_SGPR1_SGPR2_SGPR3 = S_LOAD_DWORDX4_IMM %SGPR2_SGPR3, 0; mem:LD16[%24(addrspace=2)](tbaa=!"const") %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11 = S_LOAD_DWORDX8_IMM %SGPR4_SGPR5, 0; mem:LD32[%22(addrspace=2)](tbaa=!"const") S_WAITCNT 127 %VGPR0_VGPR1_VGPR2_VGPR3 = IMAGE_SAMPLE_V4_V2 15, 0, 0, 0, 0, 0, 0, 0, %VGPR2_VGPR3, %SGPR4_SGPR5_SGPR6_SGPR7_SGPR8_SGPR9_SGPR10_SGPR11, %SGPR0_SGPR1_SGPR2_SGPR3, %EXEC S_WAITCNT 1904 %VGPR4 = V_CVT_PKRTZ_F16_F32_e32 %VGPR2, %VGPR3, %EXEC %VGPR0 = V_CVT_PKRTZ_F16_F32_e32 %VGPR0, %VGPR1, %EXEC, %VGPR0_VGPR1_VGPR2_VGPR3 EXP 15, 0, 1, 1, 1, %VGPR0, %VGPR4, %VGPR0, %VGPR4, %EXEC S_ENDPGM # End machine code for function main. Shader Disassembly: S_WQM_B64 exec, exec ; BEFE0A7E S_MOV_B32 m0, s9 ; BEFC0309 V_INTERP_P1_F32 v3, v0, 1, 0, [m0] ; C80C0100 V_INTERP_P2_F32 v3, [v3], v1, 1, 0, [m0] ; C80D0101 V_INTERP_P1_F32 v2, v0, 0, 0, [m0] ; C8080000 V_INTERP_P2_F32 v2, [v2], v1, 0, 0, [m0] ; C8090001 S_LOAD_DWORDX4 s[0:3], s[2:3], 0x0 ; C0800300 S_LOAD_DWORDX8 s[4:11], s[4:5], 0x0 ; C0C20500 S_WAITCNT lgkmcnt(0) ; BF8C007F IMAGE_SAMPLE v[0:3], 15, 0, 0, 0, 0, 0, 0, 0, v[2:3], s[4:11], s[0:3] ; F0800F00 00010002 S_WAITCNT vmcnt(0) ; BF8C0770 V_CVT_PKRTZ_F16_F32_e32 v4, v2, v3 ; 5E080702 V_CVT_PKRTZ_F16_F32_e32 v0, v0, v1 ; 5E000300 EXP 15, 0, 1, 1, 1, v0, v4, v0, v4 ; F8001C0F 04000400 S_ENDPGM ; BF810000 GLSL source for vertex shader 1: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; uniform highp vec4 vu_h[6]; in highp vec4 in_ATTRIBUTE0; out TEXCOORD6 { float Data; } out_TEXCOORD6; void main() { highp float t0; t0 = vu_h[5].x; highp vec2 t1; t1.xy = vu_h[4].xy; highp vec4 t2; highp vec4 t3; t3.w = 1.000000e+000; t3.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec4 t4; highp vec4 t5; t5.xyzw = (vu_h[3]+((vu_h[2]*t3.zzzz)+((vu_h[1]*t3.yyyy)+(vu_h[0]*t3.xxxx)))); t4.xyzw = t5; if ((bool(t0)&&(t5.z<0.000000e+000))) { t4.z = 1.000000e-006; t4.w = 1.000000e+000; } t4.z = (((t4.z*t1.y)+t1.x)*t4.w); t2.xyzw = t4; out_TEXCOORD6.Data = 0.000000e+000; t2.y = (-t5.y); t2.z = ((2.000000e+000*t4.z)+(-t4.w)); gl_Position.xyzw = t2; } GLSL IR for shader 1: ( (declare (shader_out ) TEXCOORD6 out_TEXCOORD6) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) (array vec4 6) vu_h) (declare (shader_in ) vec4 in_ATTRIBUTE0) (function main (signature void (parameters ) ( (declare () vec4 t5) (declare () vec4 t4) (declare () vec4 t3) (declare () vec4 t2) (declare () vec2 t1) (declare () float t0) (assign (x) (var_ref t0) (swiz x (array_ref (var_ref vu_h) (constant int (5)) ) )) (assign (xy) (var_ref t1) (swiz xy (array_ref (var_ref vu_h) (constant int (4)) ) )) (assign (w) (var_ref t3) (constant float (1.000000)) ) (assign (xyz) (var_ref t3) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xyzw) (var_ref t5) (expression vec4 + (array_ref (var_ref vu_h) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (2)) ) (swiz zzzz (var_ref t3) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (1)) ) (swiz yyyy (var_ref t3) )) (expression vec4 * (array_ref (var_ref vu_h) (constant int (0)) ) (swiz xxxx (var_ref t3) )) ) ) ) ) (assign (xyzw) (var_ref t4) (var_ref t5) ) (if (expression bool && (expression bool f2b (var_ref t0) ) (expression bool < (swiz z (var_ref t5) )(constant float (0.000000)) ) ) ( (assign (z) (var_ref t4) (constant float (0.000001)) ) (assign (w) (var_ref t4) (constant float (1.000000)) ) ) ()) (assign (z) (var_ref t4) (expression float * (expression float + (expression float * (swiz z (var_ref t4) )(swiz y (var_ref t1) )) (swiz x (var_ref t1) )) (swiz w (var_ref t4) )) ) (assign (xw) (var_ref t2) (swiz xw (var_ref t4) )) (assign (x) (record_ref (var_ref out_TEXCOORD6) Data) (constant float (0.000000)) ) (assign (y) (var_ref t2) (expression float neg (swiz y (var_ref t5) )) ) (assign (z) (var_ref t2) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t4) )) (expression float neg (swiz w (var_ref t4) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t2) ) )) ) ) GLSL source for fragment shader 2: #version 150 out highp vec4 out_Target0; void main() { out_Target0.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); } GLSL IR for shader 2: ( (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_out ) vec4 out_Target0) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref out_Target0) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) )) ) ) GLSL IR for linked vertex program 3: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) (array vec4 6) vu_h) (declare (shader_in ) vec4 in_ATTRIBUTE0) (function main (signature void (parameters ) ( (declare () vec4 t5) (declare () vec4 t4) (declare () vec4 t3) (declare () vec4 t2) (declare () vec2 t1) (declare () float t0) (assign (x) (var_ref t0) (swiz x (array_ref (var_ref vu_h) (constant int (5)) ) )) (assign (xy) (var_ref t1) (swiz xy (array_ref (var_ref vu_h) (constant int (4)) ) )) (assign (w) (var_ref t3) (constant float (1.000000)) ) (assign (xyz) (var_ref t3) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (1)) (constant uint (736)) ) ) ) ) (assign (xyzw) (var_ref t5) (expression vec4 + (array_ref (var_ref vu_h) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (2)) ) (swiz zzzz (var_ref t3) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (1)) ) (swiz yyyy (var_ref t3) )) (expression vec4 * (array_ref (var_ref vu_h) (constant int (0)) ) (swiz xxxx (var_ref t3) )) ) ) ) ) (assign (xyzw) (var_ref t4) (var_ref t5) ) (if (expression bool && (expression bool f2b (var_ref t0) ) (expression bool < (swiz z (var_ref t5) )(constant float (0.000000)) ) ) ( (assign (z) (var_ref t4) (constant float (0.000001)) ) (assign (w) (var_ref t4) (constant float (1.000000)) ) ) ()) (assign (z) (var_ref t4) (expression float * (expression float + (expression float * (swiz z (var_ref t4) )(swiz y (var_ref t1) )) (swiz x (var_ref t1) )) (swiz w (var_ref t4) )) ) (assign (xw) (var_ref t2) (swiz xw (var_ref t4) )) (assign (y) (var_ref t2) (expression float neg (swiz y (var_ref t5) )) ) (assign (z) (var_ref t2) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t4) )) (expression float neg (swiz w (var_ref t4) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t2) ) (assign (xyzw) (var_ref gl_Position@5) (var_ref gl_Position) ) )) ) ) GLSL IR for linked fragment program 3: ( (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref out_Target0) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0@6) (var_ref out_Target0) ) )) ) ) GLSL source for vertex shader 4: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; in highp vec4 in_ATTRIBUTE0; void main() { highp vec4 t0; highp vec4 t1; t1.w = 1.000000e+000; t1.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec4 t2; t2.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t1.zzzz)+((View_TranslatedWorldToClip[1]*t1.yyyy)+(View_TranslatedWorldToClip[0]*t1.xxxx)))); t0.xyzw = t2; t0.y = (-t2.y); t0.z = ((2.000000e+000*t2.z)+(-t2.w)); gl_Position.xyzw = t0; } GLSL IR for shader 4: ( (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_in ) vec4 in_ATTRIBUTE0) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare () vec4 t0) (assign (w) (var_ref t1) (constant float (1.000000)) ) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xyzw) (var_ref t2) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t1) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t1) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t1) )) ) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t2) )) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t2) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t2) )) (expression float neg (swiz w (var_ref t2) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) ) GLSL IR for linked vertex program 5: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (shader_in ) vec4 in_ATTRIBUTE0) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare () vec4 t0) (assign (w) (var_ref t1) (constant float (1.000000)) ) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (1)) (constant uint (736)) ) ) ) ) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) (swiz zzzz (var_ref t1) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) (swiz yyyy (var_ref t1) )) (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) (swiz xxxx (var_ref t1) )) ) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t2) )) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t2) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t2) )) (expression float neg (swiz w (var_ref t2) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@7) (var_ref gl_Position) ) )) ) ) GLSL IR for linked fragment program 5: ( (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (function main (signature void (parameters ) ( (assign (xyzw) (var_ref out_Target0) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0@8) (var_ref out_Target0) ) )) ) ) GLSL source for fragment shader 6: #version 150 layout(std140) uniform pb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClippb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClippb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewpb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldpb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClippb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldpb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldpb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldpb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardpb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUppb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightpb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformpb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiaspb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiaspb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizepb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginpb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginpb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalepb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParameterpb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParameterpb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParameterpb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParameterpb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationpb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskpb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltapb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignpb0 float View_CullingSign; #define View_NearPlane View_NearPlanepb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorpb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimepb0 float View_GameTime; #define View_RealTime View_RealTimepb0 float View_RealTime; #define View_Random View_Randompb0 uint View_Random; #define View_FrameNumber View_FrameNumberpb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapspb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskpb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskpb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorpb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionpb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorpb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorpb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinpb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizepb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamspb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancepb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalepb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthpb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionpb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionpb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionpb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelpb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakpb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetpb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionpb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjpb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjpb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClippb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginpb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationpb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjpb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldpb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalepb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicpb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionpb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowerpb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowerpb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalepb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetpb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetpb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalepb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalepb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighpb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancepb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetpb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalepb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskpb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumpb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorpb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintpb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensitypb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizepb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParameterspb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxpb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorpb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMappb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform pb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldpb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalpb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiuspb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundspb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignpb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionpb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskpb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationpb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationpb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalepb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalepb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinpb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxpb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultiplierpb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform pb2 { #define Material_VectorExpressions Material_VectorExpressionspb2 vec4 Material_VectorExpressions[1]; }; uniform highp vec4 pu_h[4]; uniform highp sampler3D ps2; uniform highp sampler3D ps1; uniform highp sampler3D ps0; uniform highp sampler2D ps4; uniform highp sampler2D ps3; in TEXCOORD10 { vec4 Data; } in_TEXCOORD10; in TEXCOORD11 { vec4 Data; } in_TEXCOORD11; in TEXCOORD0 { vec4 Data; } in_TEXCOORD0; in TEXCOORD7 { vec4 Data; } in_TEXCOORD7; out highp vec4 out_Target0; out highp vec4 out_Target1; out highp vec4 out_Target2; out highp vec4 out_Target3; out highp vec4 out_Target4; out highp vec4 out_Target5; void main() { highp vec4 t0; t0.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); highp vec4 t1; t1.xyzw = ((View_TranslatedWorldToClip[3]*in_TEXCOORD7.Data.wwww)+((View_TranslatedWorldToClip[2]*in_TEXCOORD7.Data.zzzz)+((View_TranslatedWorldToClip[1]*in_TEXCOORD7.Data.yyyy)+(View_TranslatedWorldToClip[0]*in_TEXCOORD7.Data.xxxx)))); t0.xy = (((((t1.xy/t1.ww)*vec2(5.000000e-001,-5.000000e-001))+vec2(5.000000e-001,5.000000e-001))*View_ViewSizeAndSceneTexelSize.xy)+View_ScreenTexelBias.xy); t0.z = (1.0/(((t1.w+View_InvDeviceZToWorldZTransform.w)*View_InvDeviceZToWorldZTransform.z))); t0.w = t1.w; highp vec2 t2; t2.xy = ((texture(ps3,((in_TEXCOORD0.Data.xy/vec2(2.000000e+000,2.000000e+000))/vec2(5.000000e-002,5.000000e-002))).xy*vec2(2.000000e+000,2.000000e+000))+vec2(-1.000000e+000,-1.000000e+000)); highp vec4 t3; t3.w = 1.000000e+000; t3.xy = t2; t3.z = sqrt(clamp((1.000000e+000+(-dot(t2,t2))),0.000000e+000,1.000000e+000)); highp vec3 t4; t4.xyz = normalize((((t3.xyz*vec3(3.000000e-001,3.000000e-001,1.000000e+000))*View_NormalOverrideParameter.www)+View_NormalOverrideParameter.xyz)); highp vec3 t5; t5.xyz = normalize(((in_TEXCOORD11.Data.xyz*t4.zzz)+(((cross(in_TEXCOORD11.Data.xyz,in_TEXCOORD10.Data.xyz)*in_TEXCOORD11.Data.www)*t4.yyy)+(in_TEXCOORD10.Data.xyz*t4.xxx)))); highp float t6; t6 = mix(4.000000e-001,1.000000e+000,texture(ps4,(in_TEXCOORD0.Data.xy*vec2(2.000000e+001,2.000000e+001))).x); highp vec2 t7; t7.xy = (in_TEXCOORD0.Data.xy/vec2(2.000000e+000,2.000000e+000)); highp vec4 t8; t8.xyzw = texture(ps4,(t7/vec2(1.000000e-001,1.000000e-001))); highp float t9; t9 = min(max(((t1.w+-2.400000e+001)/1.500000e+003),0.000000e+000),1.000000e+000); highp vec3 t10; t10.xyz = clamp((vec3((mix(t6,(1.000000e+000+(-t6)),mix(t8.y,1.000000e+000,t9))*(mix(2.950000e-001,6.600000e-001,mix((texture(ps4,t7).y+mix(t8.y,0.000000e+000,t9)),5.000000e-001,5.000000e-001))*5.000000e-001)))*(vec3(1.000000e+000,1.000000e+000,1.000000e+000)+(-Material_VectorExpressions[0].xyz))),vec3(0.000000e+000,0.000000e+000,0.000000e+000),vec3(1.000000e+000,1.000000e+000,1.000000e+000)); highp vec2 t11; t11.xy = (in_TEXCOORD0.Data.xy/vec2(2.000000e+000,2.000000e+000)); highp float t12; t12 = max(4.000000e-002,((min(max((mix(0.000000e+000,5.000000e-001,texture(ps4,t11).y)+mix(mix(7.000000e-001,1.000000e+000,texture(ps4,(t11/vec2(1.000000e-001,1.000000e-001))).y),1.000000e+000,min(max(((t1.w+-2.400000e+001)/1.500000e+003),0.000000e+000),1.000000e+000))),0.000000e+000),1.000000e+000)*View_RoughnessOverrideParameter.y)+View_RoughnessOverrideParameter.x)); highp vec3 t13; t13.xyz = ((t10*View_DiffuseOverrideParameter.www)+View_DiffuseOverrideParameter.xyz); highp vec3 t14; t14.xyz = ((mix(vec3(4.000000e-002,4.000000e-002,4.000000e-002),t10,vec3(0.000000e+000,0.000000e+000,0.000000e+000))*View_SpecularOverrideParameter.www)+View_SpecularOverrideParameter.xyz); highp vec3 t15; highp vec3 t16; t16.xyz = clamp((((in_TEXCOORD7.Data.xyz+(-View_PreViewTranslation))*pu_h[3].xyz)+pu_h[2].xyz),pu_h[1].xyz,pu_h[0].xyz); highp vec4 t17; t17.xyzw = texture(ps0,t16); highp vec4 t18; t18.xyzw = texture(ps1,t16); highp vec4 t19; t19.xyzw = texture(ps2,t16); highp vec4 t20; t20.x = t17.x; t20.y = t18.x; t20.z = t19.x; t20.w = t17.w; highp vec4 t21; t21.x = t17.y; t21.y = t18.y; t21.z = t19.y; t21.w = t18.w; highp vec4 t22; t22.x = t17.z; t22.y = t18.z; t22.z = t19.z; t22.w = t19.w; highp vec4 t23; highp vec4 t24; t24.x = 2.820950e-001; t24.y = (-4.886030e-001*t5.y); t24.z = (4.886030e-001*t5.z); t24.w = (-4.886030e-001*t5.x); t23.xyzw = t24; t23.x = 8.862275e-001; t23.yzw = (t24.yzw*vec3(2.094395e+000,2.094395e+000,2.094395e+000)); highp vec3 t25; t25.xyz = vec3(0.000000e+000,0.000000e+000,0.000000e+000); t25.x = dot(t20,t23); t25.y = dot(t21,t23); t25.z = dot(t22,t23); highp vec3 t26; t26.xyz = (max(vec3(0.000000e+000,0.000000e+000,0.000000e+000),t25)/vec3(3.141593e+000,3.141593e+000,3.141593e+000)); t15.xyz = t26; if ((View_UseLightmaps>0.000000e+000)) { t15.xyz = t26; } highp vec3 t27; t27.xyz = (t15*View_IndirectLightingColorScale); highp vec4 t28; t28.w = 0.000000e+000; t28.xyz = (mix((t27*t13),(t13+t14),vec3(View_UnlitViewmodeMask))+Material_VectorExpressions[0].xyz); highp vec2 t29; t29.xy = ((fract((t0.xy/vec2(1.280000e+002,1.280000e+002)))*vec2(1.280000e+002,1.280000e+002))+vec2(-6.434062e+001,-7.246562e+001)); highp vec4 t30; highp vec4 t31; highp vec4 t32; t30.xyz = ((t5*vec3(5.000000e-001,5.000000e-001,5.000000e-001))+vec3(5.000000e-001,5.000000e-001,5.000000e-001)); highp float t33; t33 = float(((uint(Primitive_DecalReceiverMask)*2u)+uint(Primitive_HasDistanceFieldRepresentation))); t30.w = (t33*3.333333e-001); t31.xyz = t10; t31.w = (((log2((dot(t27,vec3(3.000000e-001,5.900000e-001,1.100000e-001))+3.906250e-003))/1.600000e+001)+5.000000e-001)+(((fract(dot((t29.xyx*t29.xyy),vec3(2.039063e+001,6.070313e+001,2.428121e+000)))*5.000000e-001)+-5.000000e-001)*3.921569e-003)); t32.x = t12; t32.yzw = vec3(0.000000e+000,0.000000e+000,0.000000e+000); out_Target0.xyzw = t28; out_Target1.xyzw = t30; out_Target2.xyzw = vec4(0.000000e+000,5.000000e-001,0.000000e+000,3.921569e-003); out_Target3.xyzw = t31; out_Target4.xyzw = t32; out_Target5.xyzw = vec4(1.000000e+000,1.000000e+000,1.000000e+000,1.000000e+000); } GLSL IR for shader 6: ( (declare (shader_in ) TEXCOORD7 in_TEXCOORD7) (declare (shader_in ) TEXCOORD0 in_TEXCOORD0) (declare (shader_in ) TEXCOORD11 in_TEXCOORD11) (declare (shader_in ) TEXCOORD10 in_TEXCOORD10) (declare (uniform ) (array vec4 1) Material_VectorExpressionspb2) (declare (uniform ) float Primitive_LpvBiasMultiplierpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinpb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalepb1) (declare (uniform ) vec4 Primitive_NonUniformScalepb1) (declare (uniform ) vec4 Primitive_ObjectOrientationpb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionpb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignpb1) (declare (uniform ) vec3 Primitive_ObjectBoundspb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiuspb1) (declare (uniform ) mat4 Primitive_WorldToLocalpb1) (declare (uniform ) mat4 Primitive_LocalToWorldpb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMappb0) (declare (uniform ) vec4 View_SkyLightColorpb0) (declare (uniform ) vec4 View_SceneTextureMinMaxpb0) (declare (uniform ) float View_SkyLightParameterspb0) (declare (uniform ) vec2 View_RenderTargetSizepb0) (declare (uniform ) float View_AmbientCubemapIntensitypb0) (declare (uniform ) vec4 View_AmbientCubemapTintpb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorpb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumpb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskpb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetpb0) (declare (uniform ) float View_AtmosphericFogStartDistancepb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighpb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceScalepb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityScalepb0) (declare (uniform ) float View_AtmosphericFogPowerpb0) (declare (uniform ) float View_AtmosphericFogSunPowerpb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionpb0) (declare (uniform ) float View_HdrMosaicpb0) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_PrevInvViewProjpb0) (declare (uniform ) vec3 View_PrevPreViewTranslationpb0) (declare (uniform ) vec3 View_PrevViewOriginpb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClippb0) (declare (uniform ) mat4 View_PrevViewRotationProjpb0) (declare (uniform ) mat4 View_PrevViewProjpb0) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) float View_DemosaicVposOffsetpb0) (declare (uniform ) float View_GeneralPurposeTweakpb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelpb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalLengthpb0) (declare (uniform ) float View_DepthOfFieldScalepb0) (declare (uniform ) float View_DepthOfFieldFocalDistancepb0) (declare (uniform ) vec4 View_TemporalAAParamspb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizepb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinpb0) (declare (uniform ) vec4 View_LowerSkyColorpb0) (declare (uniform ) vec4 View_UpperSkyColorpb0) (declare (uniform ) vec3 View_DirectionalLightDirectionpb0) (declare (uniform ) vec4 View_DirectionalLightColorpb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskpb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) uint View_FrameNumberpb0) (declare (uniform ) uint View_Randompb0) (declare (uniform ) float View_RealTimepb0) (declare (uniform ) float View_GameTimepb0) (declare (uniform ) float View_AdaptiveTessellationFactorpb0) (declare (uniform ) float View_NearPlanepb0) (declare (uniform ) float View_CullingSignpb0) (declare (uniform ) vec3 View_ViewOriginDeltapb0) (declare (uniform ) float View_OutOfBoundsMaskpb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ExposureScalepb0) (declare (uniform ) vec4 View_TranslatedViewOriginpb0) (declare (uniform ) vec4 View_ViewOriginpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) vec3 View_ViewRightpb0) (declare (uniform ) vec3 View_ViewUppb0) (declare (uniform ) vec3 View_ViewForwardpb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_ScreenToWorldpb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldpb0) (declare (uniform ) mat4 View_TranslatedWorldToViewpb0) (declare (uniform ) mat4 View_WorldToClippb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) (array vec4 4) pu_h) (declare (uniform ) sampler3D ps2) (declare (uniform ) sampler3D ps1) (declare (uniform ) sampler3D ps0) (declare (uniform ) sampler2D ps4) (declare (uniform ) sampler2D ps3) (declare (shader_out ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t32) (declare () vec4 t31) (declare () vec4 t30) (declare () vec2 t29) (declare () vec4 t28) (declare () vec3 t27) (declare () vec3 t26) (declare () vec3 t25) (declare () vec4 t24) (declare () vec4 t23) (declare () vec4 t22) (declare () vec4 t21) (declare () vec4 t20) (declare () vec4 t18) (declare () vec4 t17) (declare () vec3 t16) (declare () vec3 t15) (declare () vec3 t14) (declare () vec3 t13) (declare () float t12) (declare () vec2 t11) (declare () vec3 t10) (declare () float t9) (declare () vec4 t8) (declare () vec2 t7) (declare () float t6) (declare () vec3 t5) (declare () vec3 t4) (declare () vec4 t3) (declare () vec2 t2) (declare () vec4 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t1) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClippb0) (constant int (3)) ) (swiz wwww (record_ref (var_ref in_TEXCOORD7) Data) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClippb0) (constant int (2)) ) (swiz zzzz (record_ref (var_ref in_TEXCOORD7) Data) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClippb0) (constant int (1)) ) (swiz yyyy (record_ref (var_ref in_TEXCOORD7) Data) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClippb0) (constant int (0)) ) (swiz xxxx (record_ref (var_ref in_TEXCOORD7) Data) )) ) ) ) ) (assign (xy) (var_ref t0) (expression vec2 + (expression vec2 * (expression vec2 + (expression vec2 * (expression vec2 / (swiz xy (var_ref t1) )(swiz ww (var_ref t1) )) (constant vec2 (0.500000 -0.500000)) ) (constant vec2 (0.500000 0.500000)) ) (swiz xy (var_ref View_ViewSizeAndSceneTexelSizepb0) )) (swiz xy (var_ref View_ScreenTexelBiaspb0) )) ) (assign (z) (var_ref t0) (expression float rcp (expression float * (expression float + (swiz w (var_ref t1) )(swiz w (var_ref View_InvDeviceZToWorldZTransformpb0) )) (swiz z (var_ref View_InvDeviceZToWorldZTransformpb0) )) ) ) (assign (w) (var_ref t0) (swiz w (var_ref t1) )) (declare (temporary ) vec4 texture_retval) (call texture (var_ref texture_retval) ((var_ref ps3) (expression vec2 / (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) )(constant vec2 (2.000000 2.000000)) ) (constant vec2 (0.050000 0.050000)) ) )) (assign (xy) (var_ref t2) (expression vec2 + (expression vec2 * (swiz xy (var_ref texture_retval) )(constant vec2 (2.000000 2.000000)) ) (constant vec2 (-1.000000 -1.000000)) ) ) (assign (w) (var_ref t3) (constant float (1.000000)) ) (assign (xy) (var_ref t3) (var_ref t2) ) (declare (temporary ) float dot_retval) (call dot (var_ref dot_retval) ((var_ref t2) (var_ref t2) )) (declare (temporary ) float clamp_retval) (call clamp (var_ref clamp_retval) ((expression float + (constant float (1.000000)) (expression float neg (var_ref dot_retval) ) ) (constant float (0.000000)) (constant float (1.000000)) )) (declare (temporary ) float sqrt_retval) (call sqrt (var_ref sqrt_retval) ((var_ref clamp_retval) )) (assign (z) (var_ref t3) (var_ref sqrt_retval) ) (declare (temporary ) vec3 normalize_retval) (call normalize (var_ref normalize_retval) ((expression vec3 + (expression vec3 * (expression vec3 * (swiz xyz (var_ref t3) )(constant vec3 (0.300000 0.300000 1.000000)) ) (swiz www (var_ref View_NormalOverrideParameterpb0) )) (swiz xyz (var_ref View_NormalOverrideParameterpb0) )) )) (assign (xyz) (var_ref t4) (var_ref normalize_retval) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) ))) (declare (temporary ) vec3 normalize_retval@9) (call normalize (var_ref normalize_retval@9) ((expression vec3 + (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz zzz (var_ref t4) )) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref cross_retval) (swiz www (record_ref (var_ref in_TEXCOORD11) Data) )) (swiz yyy (var_ref t4) )) (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) )(swiz xxx (var_ref t4) )) ) ) )) (assign (xyz) (var_ref t5) (var_ref normalize_retval@9) ) (declare (temporary ) vec4 texture_retval@10) (call texture (var_ref texture_retval@10) ((var_ref ps4) (expression vec2 * (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) )(constant vec2 (20.000000 20.000000)) ) )) (declare (temporary ) float mix_retval) (call mix (var_ref mix_retval) ((constant float (0.400000)) (constant float (1.000000)) (swiz x (var_ref texture_retval@10) ))) (assign (x) (var_ref t6) (var_ref mix_retval) ) (assign (xy) (var_ref t7) (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) )(constant vec2 (2.000000 2.000000)) ) ) (declare (temporary ) vec4 texture_retval@11) (call texture (var_ref texture_retval@11) ((var_ref ps4) (expression vec2 / (var_ref t7) (constant vec2 (0.100000 0.100000)) ) )) (assign (xyzw) (var_ref t8) (var_ref texture_retval@11) ) (declare (temporary ) float max_retval) (call max (var_ref max_retval) ((expression float / (expression float + (swiz w (var_ref t1) )(expression float neg (constant float (24.000000)) ) ) (constant float (1500.000000)) ) (constant float (0.000000)) )) (declare (temporary ) float min_retval) (call min (var_ref min_retval) ((var_ref max_retval) (constant float (1.000000)) )) (assign (x) (var_ref t9) (var_ref min_retval) ) (declare (temporary ) float mix_retval@12) (call mix (var_ref mix_retval@12) ((swiz y (var_ref t8) )(constant float (1.000000)) (var_ref min_retval) )) (declare (temporary ) float mix_retval@13) (call mix (var_ref mix_retval@13) ((var_ref t6) (expression float + (constant float (1.000000)) (expression float neg (var_ref t6) ) ) (var_ref mix_retval@12) )) (declare (temporary ) vec4 texture_retval@14) (call texture (var_ref texture_retval@14) ((var_ref ps4) (var_ref t7) )) (declare (temporary ) float mix_retval@15) (call mix (var_ref mix_retval@15) ((swiz y (var_ref t8) )(constant float (0.000000)) (var_ref t9) )) (declare (temporary ) float mix_retval@16) (call mix (var_ref mix_retval@16) ((expression float + (swiz y (var_ref texture_retval@14) )(var_ref mix_retval@15) ) (constant float (0.500000)) (constant float (0.500000)) )) (declare (temporary ) float mix_retval@17) (call mix (var_ref mix_retval@17) ((constant float (0.295000)) (constant float (0.660000)) (var_ref mix_retval@16) )) (declare (temporary ) vec3 clamp_retval@18) (call clamp (var_ref clamp_retval@18) ((expression vec3 * (swiz xxx (expression float * (var_ref mix_retval@13) (expression float * (var_ref mix_retval@17) (constant float (0.500000)) ) ) )(expression vec3 + (constant vec3 (1.000000 1.000000 1.000000)) (expression vec3 neg (swiz xyz (array_ref (var_ref Material_VectorExpressionspb2) (constant int (0)) ) )) ) ) (constant vec3 (0.000000 0.000000 0.000000)) (constant vec3 (1.000000 1.000000 1.000000)) )) (assign (xyz) (var_ref t10) (var_ref clamp_retval@18) ) (assign (xy) (var_ref t11) (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) )(constant vec2 (2.000000 2.000000)) ) ) (declare (temporary ) vec4 texture_retval@19) (call texture (var_ref texture_retval@19) ((var_ref ps4) (var_ref t11) )) (declare (temporary ) float mix_retval@20) (call mix (var_ref mix_retval@20) ((constant float (0.000000)) (constant float (0.500000)) (swiz y (var_ref texture_retval@19) ))) (declare (temporary ) vec4 texture_retval@21) (call texture (var_ref texture_retval@21) ((var_ref ps4) (expression vec2 / (var_ref t11) (constant vec2 (0.100000 0.100000)) ) )) (declare (temporary ) float mix_retval@22) (call mix (var_ref mix_retval@22) ((constant float (0.700000)) (constant float (1.000000)) (swiz y (var_ref texture_retval@21) ))) (declare (temporary ) float max_retval@23) (call max (var_ref max_retval@23) ((expression float / (expression float + (swiz w (var_ref t1) )(expression float neg (constant float (24.000000)) ) ) (constant float (1500.000000)) ) (constant float (0.000000)) )) (declare (temporary ) float min_retval@24) (call min (var_ref min_retval@24) ((var_ref max_retval@23) (constant float (1.000000)) )) (declare (temporary ) float mix_retval@25) (call mix (var_ref mix_retval@25) ((var_ref mix_retval@22) (constant float (1.000000)) (var_ref min_retval@24) )) (declare (temporary ) float max_retval@26) (call max (var_ref max_retval@26) ((expression float + (var_ref mix_retval@20) (var_ref mix_retval@25) ) (constant float (0.000000)) )) (declare (temporary ) float min_retval@27) (call min (var_ref min_retval@27) ((var_ref max_retval@26) (constant float (1.000000)) )) (declare (temporary ) float max_retval@28) (call max (var_ref max_retval@28) ((constant float (0.040000)) (expression float + (expression float * (var_ref min_retval@27) (swiz y (var_ref View_RoughnessOverrideParameterpb0) )) (swiz x (var_ref View_RoughnessOverrideParameterpb0) )) )) (assign (x) (var_ref t12) (var_ref max_retval@28) ) (assign (xyz) (var_ref t13) (expression vec3 + (expression vec3 * (var_ref t10) (swiz www (var_ref View_DiffuseOverrideParameterpb0) )) (swiz xyz (var_ref View_DiffuseOverrideParameterpb0) )) ) (declare (temporary ) vec3 mix_retval@29) (call mix (var_ref mix_retval@29) ((constant vec3 (0.040000 0.040000 0.040000)) (var_ref t10) (constant vec3 (0.000000 0.000000 0.000000)) )) (assign (xyz) (var_ref t14) (expression vec3 + (expression vec3 * (var_ref mix_retval@29) (swiz www (var_ref View_SpecularOverrideParameterpb0) )) (swiz xyz (var_ref View_SpecularOverrideParameterpb0) )) ) (declare (temporary ) vec3 clamp_retval@30) (call clamp (var_ref clamp_retval@30) ((expression vec3 + (expression vec3 * (expression vec3 + (swiz xyz (record_ref (var_ref in_TEXCOORD7) Data) )(expression vec3 neg (var_ref View_PreViewTranslationpb0) ) ) (swiz xyz (array_ref (var_ref pu_h) (constant int (3)) ) )) (swiz xyz (array_ref (var_ref pu_h) (constant int (2)) ) )) (swiz xyz (array_ref (var_ref pu_h) (constant int (1)) ) )(swiz xyz (array_ref (var_ref pu_h) (constant int (0)) ) ))) (assign (xyz) (var_ref t16) (var_ref clamp_retval@30) ) (declare (temporary ) vec4 texture_retval@31) (call texture (var_ref texture_retval@31) ((var_ref ps0) (var_ref clamp_retval@30) )) (assign (xyzw) (var_ref t17) (var_ref texture_retval@31) ) (declare (temporary ) vec4 texture_retval@32) (call texture (var_ref texture_retval@32) ((var_ref ps1) (var_ref t16) )) (assign (xyzw) (var_ref t18) (var_ref texture_retval@32) ) (declare (temporary ) vec4 texture_retval@33) (call texture (var_ref texture_retval@33) ((var_ref ps2) (var_ref t16) )) (assign (x) (var_ref t20) (swiz x (var_ref t17) )) (assign (y) (var_ref t20) (swiz x (var_ref t18) )) (assign (z) (var_ref t20) (swiz x (var_ref texture_retval@33) )) (assign (w) (var_ref t20) (swiz w (var_ref t17) )) (assign (x) (var_ref t21) (swiz y (var_ref t17) )) (assign (y) (var_ref t21) (swiz y (var_ref t18) )) (assign (z) (var_ref t21) (swiz y (var_ref texture_retval@33) )) (assign (w) (var_ref t21) (swiz w (var_ref t18) )) (assign (x) (var_ref t22) (swiz z (var_ref t17) )) (assign (y) (var_ref t22) (swiz z (var_ref t18) )) (assign (z) (var_ref t22) (swiz z (var_ref texture_retval@33) )) (assign (w) (var_ref t22) (swiz w (var_ref texture_retval@33) )) (assign (x) (var_ref t24) (constant float (0.282095)) ) (assign (y) (var_ref t24) (expression float * (constant float (-0.488603)) (swiz y (var_ref t5) )) ) (assign (z) (var_ref t24) (expression float * (constant float (0.488603)) (swiz z (var_ref t5) )) ) (assign (w) (var_ref t24) (expression float * (constant float (-0.488603)) (swiz x (var_ref t5) )) ) (assign (x) (var_ref t23) (constant float (0.886227)) ) (assign (yzw) (var_ref t23) (expression vec3 * (swiz yzw (var_ref t24) )(constant vec3 (2.094395 2.094395 2.094395)) ) ) (assign (xyz) (var_ref t25) (constant vec3 (0.000000 0.000000 0.000000)) ) (declare (temporary ) float dot_retval@34) (call dot (var_ref dot_retval@34) ((var_ref t20) (var_ref t23) )) (assign (x) (var_ref t25) (var_ref dot_retval@34) ) (declare (temporary ) float dot_retval@35) (call dot (var_ref dot_retval@35) ((var_ref t21) (var_ref t23) )) (assign (y) (var_ref t25) (var_ref dot_retval@35) ) (declare (temporary ) float dot_retval@36) (call dot (var_ref dot_retval@36) ((var_ref t22) (var_ref t23) )) (assign (z) (var_ref t25) (var_ref dot_retval@36) ) (declare (temporary ) vec3 max_retval@37) (call max (var_ref max_retval@37) ((constant vec3 (0.000000 0.000000 0.000000)) (var_ref t25) )) (assign (xyz) (var_ref t26) (expression vec3 / (var_ref max_retval@37) (constant vec3 (3.141593 3.141593 3.141593)) ) ) (assign (xyz) (var_ref t15) (var_ref t26) ) (if (expression bool > (var_ref View_UseLightmapspb0) (constant float (0.000000)) ) ( (assign (xyz) (var_ref t15) (var_ref t26) ) ) ()) (assign (xyz) (var_ref t27) (expression vec3 * (var_ref t15) (var_ref View_IndirectLightingColorScalepb0) ) ) (assign (w) (var_ref t28) (constant float (0.000000)) ) (declare (temporary ) vec3 mix_retval@38) (call mix (var_ref mix_retval@38) ((expression vec3 * (var_ref t27) (var_ref t13) ) (expression vec3 + (var_ref t13) (var_ref t14) ) (swiz xxx (var_ref View_UnlitViewmodeMaskpb0) ))) (assign (xyz) (var_ref t28) (expression vec3 + (var_ref mix_retval@38) (swiz xyz (array_ref (var_ref Material_VectorExpressionspb2) (constant int (0)) ) )) ) (declare (temporary ) vec2 fract_retval) (call fract (var_ref fract_retval) ((expression vec2 / (swiz xy (var_ref t0) )(constant vec2 (128.000000 128.000000)) ) )) (assign (xy) (var_ref t29) (expression vec2 + (expression vec2 * (var_ref fract_retval) (constant vec2 (128.000000 128.000000)) ) (constant vec2 (-64.340622 -72.465622)) ) ) (assign (xyz) (var_ref t30) (expression vec3 + (expression vec3 * (var_ref t5) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t30) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (var_ref Primitive_DecalReceiverMaskpb1) ) (constant uint (2)) ) (expression uint f2u (var_ref Primitive_HasDistanceFieldRepresentationpb1) ) ) ) (constant float (0.333333)) ) ) (assign (xyz) (var_ref t31) (var_ref t10) ) (declare (temporary ) float dot_retval@39) (call dot (var_ref dot_retval@39) ((var_ref t27) (constant vec3 (0.300000 0.590000 0.110000)) )) (declare (temporary ) float log2_retval) (call log2 (var_ref log2_retval) ((expression float + (var_ref dot_retval@39) (constant float (0.003906)) ) )) (declare (temporary ) float dot_retval@40) (call dot (var_ref dot_retval@40) ((expression vec3 * (swiz xyx (var_ref t29) )(swiz xyy (var_ref t29) )) (constant vec3 (20.390631 60.703129 2.428121)) )) (declare (temporary ) float fract_retval@41) (call fract (var_ref fract_retval@41) ((var_ref dot_retval@40) )) (assign (w) (var_ref t31) (expression float + (expression float + (expression float / (var_ref log2_retval) (constant float (16.000000)) ) (constant float (0.500000)) ) (expression float * (expression float + (expression float * (var_ref fract_retval@41) (constant float (0.500000)) ) (constant float (-0.500000)) ) (constant float (0.003922)) ) ) ) (assign (x) (var_ref t32) (var_ref t12) ) (assign (yzw) (var_ref t32) (constant vec3 (0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0) (var_ref t28) ) (assign (xyzw) (var_ref out_Target1) (var_ref t30) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.500000 0.000000 0.003922)) ) (assign (xyzw) (var_ref out_Target3) (var_ref t31) ) (assign (xyzw) (var_ref out_Target4) (var_ref t32) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (1.000000 1.000000 1.000000 1.000000)) ) )) ) (function texture (signature vec4 (parameters (declare (in ) sampler2D sampler) (declare (in ) vec2 P) ) ( )) (signature vec4 (parameters (declare (in ) sampler3D sampler) (declare (in ) vec3 P) ) ( )) ) (function dot (signature float (parameters (declare (in ) vec2 x) (declare (in ) vec2 y) ) ( )) (signature float (parameters (declare (in ) vec4 x) (declare (in ) vec4 y) ) ( )) (signature float (parameters (declare (in ) vec3 x) (declare (in ) vec3 y) ) ( )) ) (function clamp (signature float (parameters (declare (in ) float x) (declare (in ) float minVal) (declare (in ) float maxVal) ) ( )) (signature vec3 (parameters (declare (in ) vec3 x) (declare (in ) vec3 minVal) (declare (in ) vec3 maxVal) ) ( )) ) (function sqrt (signature float (parameters (declare (in ) float x) ) ( )) ) (function normalize (signature vec3 (parameters (declare (in ) vec3 x) ) ( )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) (function mix (signature float (parameters (declare (in ) float x) (declare (in ) float y) (declare (in ) float a) ) ( )) (signature vec3 (parameters (declare (in ) vec3 x) (declare (in ) vec3 y) (declare (in ) vec3 a) ) ( )) ) (function max (signature float (parameters (declare (in ) float x) (declare (in ) float y) ) ( )) (signature vec3 (parameters (declare (in ) vec3 x) (declare (in ) vec3 y) ) ( )) ) (function min (signature float (parameters (declare (in ) float x) (declare (in ) float y) ) ( )) ) (function fract (signature vec2 (parameters (declare (in ) vec2 x) ) ( )) (signature float (parameters (declare (in ) float x) ) ( )) ) (function log2 (signature float (parameters (declare (in ) float x) ) ( )) ) ) GLSL source for vertex shader 7: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; in highp vec4 in_ATTRIBUTE0; in highp vec3 in_ATTRIBUTE1; in highp vec4 in_ATTRIBUTE2; in highp vec2 in_ATTRIBUTE4; out TEXCOORD10 { vec4 Data; } out_TEXCOORD10; out TEXCOORD11 { vec4 Data; } out_TEXCOORD11; out TEXCOORD0 { vec4 Data; } out_TEXCOORD0; out TEXCOORD7 { vec4 Data; } out_TEXCOORD7; void main() { highp vec4 t0; highp vec3 t1; highp vec4 t2; t2.xyzw = ((in_ATTRIBUTE2*vec4(2.000000e+000,2.000000e+000,2.000000e+000,2.000000e+000))+vec4(-1.000000e+000,-1.000000e+000,-1.000000e+000,-1.000000e+000)); t1.xyz = (cross((cross(t2.xyz,((in_ATTRIBUTE1*vec3(2.000000e+000,2.000000e+000,2.000000e+000))+vec3(-1.000000e+000,-1.000000e+000,-1.000000e+000)))*t2.www),t2.xyz)*t2.www); highp mat3 t3; highp mat3 t4; t4[0].xyz = Primitive_LocalToWorld[0].xyz; t4[1].xyz = Primitive_LocalToWorld[1].xyz; t4[2].xyz = Primitive_LocalToWorld[2].xyz; t3 = t4; t3[0].xyz = (t4[0]*Primitive_InvNonUniformScale.xxx); t3[1].xyz = (t3[1]*Primitive_InvNonUniformScale.yyy); t3[2].xyz = (t3[2]*Primitive_InvNonUniformScale.zzz); highp vec4 t5; t5.w = 1.000000e+000; t5.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec2 t6[1]; t6[0].xy = vec2(0.000000e+000,0.000000e+000); t6[(1+(-1))].xy = in_ATTRIBUTE4; highp vec4 t7; t7.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t5.zzzz)+((View_TranslatedWorldToClip[1]*t5.yyyy)+(View_TranslatedWorldToClip[0]*t5.xxxx)))); highp vec4 t8[1]; t8[0].xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); t8[(0/2)].xy = t6[0]; highp vec4 t9; t9.w = 0.000000e+000; t9.xyz = ((t1.zzz*t3[2])+((t1.yyy*t3[1])+(t1.xxx*t3[0]))); highp vec4 t10; t10.xyz = ((t2.zzz*t3[2])+((t2.yyy*t3[1])+(t2.xxx*t3[0]))); t10.w = (((in_ATTRIBUTE2.w*2.000000e+000)+-1.000000e+000)*Primitive_LocalToWorldDeterminantSign); t0.xyzw = t7; out_TEXCOORD10.Data.xyzw = t9; out_TEXCOORD11.Data.xyzw = t10; out_TEXCOORD0.Data.xyzw = t8[0]; out_TEXCOORD7.Data.xyzw = t5; t0.y = (-t7.y); t0.z = ((2.000000e+000*t7.z)+(-t7.w)); gl_Position.xyzw = t0; } GLSL IR for shader 7: ( (declare (shader_out ) TEXCOORD7 out_TEXCOORD7) (declare (shader_out ) TEXCOORD0 out_TEXCOORD0) (declare (shader_out ) TEXCOORD11 out_TEXCOORD11) (declare (shader_out ) TEXCOORD10 out_TEXCOORD10) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t10) (declare () vec4 t9) (declare () (array vec4 1) t8) (declare () vec4 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (var_ref t2) )(expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) )) (declare (temporary ) vec3 cross_retval@42) (call cross (var_ref cross_retval@42) ((expression vec3 * (var_ref cross_retval) (swiz www (var_ref t2) )) (swiz xyz (var_ref t2) ))) (assign (xyz) (var_ref t1) (expression vec3 * (var_ref cross_retval@42) (swiz www (var_ref t2) )) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )) (assign () (var_ref t3) (var_ref t4) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (var_ref t7) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xyzw) (array_ref (var_ref t8) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t8) (expression int / (constant int (0)) (constant int (2)) ) ) (array_ref (var_ref t6) (constant int (0)) ) ) (assign (w) (var_ref t9) (constant float (0.000000)) ) (assign (xyz) (var_ref t9) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t10) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (var_ref Primitive_LocalToWorldDeterminantSignvb1) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t7) )) (assign (xyzw) (record_ref (var_ref out_TEXCOORD10) Data) (var_ref t9) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD11) Data) (var_ref t10) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD0) Data) (array_ref (var_ref t8) (constant int (0)) ) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD7) Data) (var_ref t5) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t7) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t7) )) (expression float neg (swiz w (var_ref t7) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL IR for linked vertex program 8: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t10) (declare () vec4 t9) (declare () (array vec4 1) t8) (declare () vec4 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 b) (assign (xyz) (var_ref b) (expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 a) (assign (xyz) (var_ref a) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref t2) )(swiz zxy (var_ref b) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref t2) )(swiz yzx (var_ref b) )) ) ) (swiz www (var_ref t2) )) ) (assign (xyz) (var_ref t1) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref a) )(swiz zxy (var_ref t2) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref a) )(swiz yzx (var_ref t2) )) ) ) (swiz www (var_ref t2) )) ) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (var_ref cse) )) (declare () vec4 cse@43) (assign (xyzw) (var_ref cse@43) (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (var_ref cse@43) )) (declare () vec4 cse@44) (assign (xyzw) (var_ref cse@44) (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (var_ref cse@44) )) (assign () (var_ref t3) (var_ref t4) ) (declare () vec4 cse@45) (assign (xyzw) (var_ref cse@45) (expression vec4 ubo_load (constant uint (0)) (constant uint (224)) ) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref cse@45) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref cse@45) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref cse@45) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (var_ref cse) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (var_ref cse@43) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (var_ref cse@44) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (1)) (constant uint (736)) ) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (var_ref t7) (expression vec4 + (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xyzw) (array_ref (var_ref t8) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t8) (expression int / (constant int (0)) (constant int (2)) ) ) (array_ref (var_ref t6) (constant int (0)) ) ) (assign (w) (var_ref t9) (constant float (0.000000)) ) (assign (xyz) (var_ref t9) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t10) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (expression float ubo_load (constant uint (0)) (constant uint (156)) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t7) )) (assign (xyzw) (var_ref Data) (var_ref t9) ) (assign (xyzw) (var_ref Data@46) (var_ref t10) ) (assign (xyzw) (var_ref Data@47) (array_ref (var_ref t8) (constant int (0)) ) ) (assign (xyzw) (var_ref Data@48) (var_ref t5) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t7) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t7) )) (expression float neg (swiz w (var_ref t7) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@49) (var_ref gl_Position) ) (assign (xyzw) (var_ref Data@50) (var_ref Data@48) ) (assign (xyzw) (var_ref Data@51) (var_ref Data@47) ) (assign (xyzw) (var_ref Data@52) (var_ref Data@46) ) (assign (xyzw) (var_ref Data@53) (var_ref Data) ) )) ) ) GLSL IR for linked fragment program 8: ( (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (uniform ) (array vec4 1) Material_VectorExpressionspb2) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (uniform ) (array vec4 4) pu_h) (declare (uniform ) sampler3D ps2) (declare (uniform ) sampler3D ps1) (declare (uniform ) sampler3D ps0) (declare (uniform ) sampler2D ps4) (declare (uniform ) sampler2D ps3) (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (temporary ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (temporary ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (temporary ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (temporary ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (declare (temporary ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t32) (declare () vec4 t31) (declare () vec4 t30) (declare () vec2 t29) (declare () vec4 t28) (declare () vec3 t27) (declare () vec3 t26) (declare () vec3 t25) (declare () vec4 t24) (declare () vec4 t23) (declare () vec4 t22) (declare () vec4 t21) (declare () vec4 t20) (declare () vec3 t15) (declare () vec3 t14) (declare () vec3 t13) (declare () vec2 t11) (declare () vec2 t7) (declare () vec4 t3) (declare () vec2 t2) (declare () vec4 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t1) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) (swiz wwww (var_ref Data) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) (swiz zzzz (var_ref Data) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) (swiz yyyy (var_ref Data) )) (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) (swiz xxxx (var_ref Data) )) ) ) ) ) (assign (xy) (var_ref t0) (expression vec2 + (expression vec2 * (expression vec2 + (expression vec2 * (expression vec2 * (swiz xy (var_ref t1) )(expression vec2 rcp (swiz ww (var_ref t1) )) ) (constant vec2 (0.500000 -0.500000)) ) (constant vec2 (0.500000 0.500000)) ) (swiz xy (expression vec4 ubo_load (constant uint (1)) (constant uint (608)) ) )) (swiz xy (expression vec4 ubo_load (constant uint (1)) (constant uint (592)) ) )) ) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (1)) (constant uint (560)) ) ) (assign (z) (var_ref t0) (expression float rcp (expression float * (expression float + (swiz w (var_ref t1) )(swiz w (var_ref cse) )) (swiz z (var_ref cse) )) ) ) (assign (w) (var_ref t0) (swiz w (var_ref t1) )) (assign (xy) (var_ref t2) (expression vec2 + (expression vec2 * (swiz xy (tex vec4 (var_ref ps3) (expression vec2 * (constant vec2 (10.000000 10.000000)) (swiz xy (var_ref Data@54) )) 0 1 () ))(constant vec2 (2.000000 2.000000)) ) (constant vec2 (-1.000000 -1.000000)) ) ) (assign (w) (var_ref t3) (constant float (1.000000)) ) (assign (xy) (var_ref t3) (var_ref t2) ) (assign (z) (var_ref t3) (expression float sqrt (expression float min (expression float max (expression float + (constant float (1.000000)) (expression float neg (expression float dot (var_ref t2) (var_ref t2) ) ) ) (constant float (0.000000)) ) (constant float (1.000000)) ) ) ) (declare (temporary ) vec3 normalize_retval) (declare () vec3 x) (declare () vec4 cse@55) (assign (xyzw) (var_ref cse@55) (expression vec4 ubo_load (constant uint (1)) (constant uint (704)) ) ) (assign (xyz) (var_ref x) (expression vec3 + (expression vec3 * (expression vec3 * (swiz xyz (var_ref t3) )(constant vec3 (0.300000 0.300000 1.000000)) ) (swiz www (var_ref cse@55) )) (swiz xyz (var_ref cse@55) )) ) (assign (xyz) (var_ref normalize_retval) (expression vec3 * (var_ref x) (expression float rsq (expression float dot (var_ref x) (var_ref x) ) ) ) ) (declare (temporary ) vec3 normalize_retval@56) (declare () vec3 x@57) (assign (xyz) (var_ref x@57) (expression vec3 + (expression vec3 * (swiz xyz (var_ref Data@58) )(swiz zzz (var_ref normalize_retval) )) (expression vec3 + (expression vec3 * (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref Data@58) )(swiz zxy (var_ref Data@59) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref Data@58) )(swiz yzx (var_ref Data@59) )) ) ) (swiz www (var_ref Data@58) )) (swiz yyy (var_ref normalize_retval) )) (expression vec3 * (swiz xyz (var_ref Data@59) )(swiz xxx (var_ref normalize_retval) )) ) ) ) (assign (xyz) (var_ref normalize_retval@56) (expression vec3 * (var_ref x@57) (expression float rsq (expression float dot (var_ref x@57) (var_ref x@57) ) ) ) ) (declare (temporary ) float mix_retval) (assign (x) (var_ref mix_retval) (expression float lrp (constant float (0.400000)) (constant float (1.000000)) (swiz x (tex vec4 (var_ref ps4) (expression vec2 * (swiz xy (var_ref Data@54) )(constant vec2 (20.000000 20.000000)) ) 0 1 () ))) ) (assign (xy) (var_ref t7) (expression vec2 * (swiz xy (var_ref Data@54) )(constant vec2 (0.500000 0.500000)) ) ) (declare (temporary ) vec4 texture_retval) (assign (xyzw) (var_ref texture_retval) (tex vec4 (var_ref ps4) (expression vec2 * (var_ref t7) (constant vec2 (10.000000 10.000000)) ) 0 1 () )) (declare (temporary ) float min_retval) (assign (x) (var_ref min_retval) (expression float min (expression float max (expression float * (expression float + (swiz w (var_ref t1) )(constant float (-24.000000)) ) (constant float (0.000667)) ) (constant float (0.000000)) ) (constant float (1.000000)) ) ) (declare (temporary ) vec3 clamp_retval) (assign (xyz) (var_ref clamp_retval) (expression vec3 min (expression vec3 max (expression vec3 * (swiz xxx (expression float * (expression float lrp (var_ref mix_retval) (expression float + (constant float (1.000000)) (expression float neg (var_ref mix_retval) ) ) (expression float lrp (swiz y (var_ref texture_retval) )(constant float (1.000000)) (var_ref min_retval) ) ) (expression float * (expression float lrp (constant float (0.295000)) (constant float (0.660000)) (expression float lrp (expression float + (swiz y (tex vec4 (var_ref ps4) (var_ref t7) 0 1 () ))(expression float * (swiz y (var_ref texture_retval) )(expression float + (constant float (1.000000)) (expression float neg (var_ref min_retval) ) ) ) ) (constant float (0.500000)) (constant float (0.500000)) ) ) (constant float (0.500000)) ) ) )(expression vec3 + (constant vec3 (1.000000 1.000000 1.000000)) (expression vec3 neg (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) )) ) ) (constant vec3 (0.000000 0.000000 0.000000)) ) (constant vec3 (1.000000 1.000000 1.000000)) ) ) (assign (xy) (var_ref t11) (expression vec2 * (swiz xy (var_ref Data@54) )(constant vec2 (0.500000 0.500000)) ) ) (declare (temporary ) float max_retval) (declare () vec2 cse@60) (assign (xy) (var_ref cse@60) (expression vec2 ubo_load (constant uint (1)) (constant uint (720)) ) ) (assign (x) (var_ref max_retval) (expression float max (constant float (0.040000)) (expression float + (expression float * (expression float min (expression float max (expression float + (expression float * (constant float (0.500000)) (swiz y (tex vec4 (var_ref ps4) (var_ref t11) 0 1 () ))) (expression float lrp (expression float lrp (constant float (0.700000)) (constant float (1.000000)) (swiz y (tex vec4 (var_ref ps4) (expression vec2 * (var_ref t11) (constant vec2 (10.000000 10.000000)) ) 0 1 () ))) (constant float (1.000000)) (expression float min (expression float max (expression float * (expression float + (swiz w (var_ref t1) )(constant float (-24.000000)) ) (constant float (0.000667)) ) (constant float (0.000000)) ) (constant float (1.000000)) ) ) ) (constant float (0.000000)) ) (constant float (1.000000)) ) (swiz y (var_ref cse@60) )) (swiz x (var_ref cse@60) )) ) ) (declare () vec4 cse@61) (assign (xyzw) (var_ref cse@61) (expression vec4 ubo_load (constant uint (1)) (constant uint (672)) ) ) (assign (xyz) (var_ref t13) (expression vec3 + (expression vec3 * (var_ref clamp_retval) (swiz www (var_ref cse@61) )) (swiz xyz (var_ref cse@61) )) ) (declare () vec4 cse@62) (assign (xyzw) (var_ref cse@62) (expression vec4 ubo_load (constant uint (1)) (constant uint (688)) ) ) (assign (xyz) (var_ref t14) (expression vec3 + (expression vec3 * (constant vec3 (0.040000 0.040000 0.040000)) (swiz www (var_ref cse@62) )) (swiz xyz (var_ref cse@62) )) ) (declare (temporary ) vec3 clamp_retval@63) (assign (xyz) (var_ref clamp_retval@63) (expression vec3 min (expression vec3 max (expression vec3 + (expression vec3 * (expression vec3 + (swiz xyz (var_ref Data) )(expression vec3 neg (expression vec3 ubo_load (constant uint (1)) (constant uint (736)) ) ) ) (swiz xyz (array_ref (var_ref pu_h) (constant int (3)) ) )) (swiz xyz (array_ref (var_ref pu_h) (constant int (2)) ) )) (swiz xyz (array_ref (var_ref pu_h) (constant int (1)) ) )) (swiz xyz (array_ref (var_ref pu_h) (constant int (0)) ) )) ) (declare (temporary ) vec4 texture_retval@64) (assign (xyzw) (var_ref texture_retval@64) (tex vec4 (var_ref ps0) (var_ref clamp_retval@63) 0 1 () )) (declare (temporary ) vec4 texture_retval@65) (assign (xyzw) (var_ref texture_retval@65) (tex vec4 (var_ref ps1) (var_ref clamp_retval@63) 0 1 () )) (declare (temporary ) vec4 texture_retval@66) (assign (xyzw) (var_ref texture_retval@66) (tex vec4 (var_ref ps2) (var_ref clamp_retval@63) 0 1 () )) (assign (x) (var_ref t20) (swiz x (var_ref texture_retval@64) )) (assign (y) (var_ref t20) (swiz x (var_ref texture_retval@65) )) (assign (z) (var_ref t20) (swiz x (var_ref texture_retval@66) )) (assign (w) (var_ref t20) (swiz w (var_ref texture_retval@64) )) (assign (x) (var_ref t21) (swiz y (var_ref texture_retval@64) )) (assign (y) (var_ref t21) (swiz y (var_ref texture_retval@65) )) (assign (z) (var_ref t21) (swiz y (var_ref texture_retval@66) )) (assign (w) (var_ref t21) (swiz w (var_ref texture_retval@65) )) (assign (x) (var_ref t22) (swiz z (var_ref texture_retval@64) )) (assign (y) (var_ref t22) (swiz z (var_ref texture_retval@65) )) (assign (z) (var_ref t22) (swiz z (var_ref texture_retval@66) )) (assign (w) (var_ref t22) (swiz w (var_ref texture_retval@66) )) (assign (x) (var_ref t24) (constant float (0.282095)) ) (assign (y) (var_ref t24) (expression float * (constant float (-0.488603)) (swiz y (var_ref normalize_retval@56) )) ) (assign (z) (var_ref t24) (expression float * (constant float (0.488603)) (swiz z (var_ref normalize_retval@56) )) ) (assign (w) (var_ref t24) (expression float * (constant float (-0.488603)) (swiz x (var_ref normalize_retval@56) )) ) (assign (x) (var_ref t23) (constant float (0.886227)) ) (assign (yzw) (var_ref t23) (expression vec3 * (swiz yzw (var_ref t24) )(constant vec3 (2.094395 2.094395 2.094395)) ) ) (assign (x) (var_ref t25) (expression float dot (var_ref t20) (var_ref t23) ) ) (assign (y) (var_ref t25) (expression float dot (var_ref t21) (var_ref t23) ) ) (assign (z) (var_ref t25) (expression float dot (var_ref t22) (var_ref t23) ) ) (assign (xyz) (var_ref t26) (expression vec3 * (expression vec3 max (constant vec3 (0.000000 0.000000 0.000000)) (var_ref t25) ) (constant vec3 (0.318310 0.318310 0.318310)) ) ) (assign (xyz) (var_ref t15) (var_ref t26) ) (declare (temporary ) float ubo_load_temp) (assign (x) (var_ref ubo_load_temp) (expression float ubo_load (constant uint (1)) (constant uint (792)) ) ) (if (expression bool > (var_ref ubo_load_temp) (constant float (0.000000)) ) ( (assign (xyz) (var_ref t15) (var_ref t26) ) ) ()) (assign (xyz) (var_ref t27) (expression vec3 * (var_ref t15) (expression vec3 ubo_load (constant uint (1)) (constant uint (1424)) ) ) ) (assign (w) (var_ref t28) (constant float (0.000000)) ) (assign (xyz) (var_ref t28) (expression vec3 + (expression vec3 lrp (expression vec3 * (var_ref t27) (var_ref t13) ) (expression vec3 + (var_ref t13) (var_ref t14) ) (swiz xxx (expression float ubo_load (constant uint (1)) (constant uint (796)) ) )) (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) )) ) (assign (xy) (var_ref t29) (expression vec2 + (expression vec2 * (expression vec2 fract (expression vec2 * (swiz xy (var_ref t0) )(constant vec2 (0.007812 0.007812)) ) ) (constant vec2 (128.000000 128.000000)) ) (constant vec2 (-64.340622 -72.465622)) ) ) (assign (xyz) (var_ref t30) (expression vec3 + (expression vec3 * (var_ref normalize_retval@56) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t30) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (expression float ubo_load (constant uint (2)) (constant uint (172)) ) ) (constant uint (2)) ) (expression uint f2u (expression float ubo_load (constant uint (2)) (constant uint (176)) ) ) ) ) (constant float (0.333333)) ) ) (assign (xyz) (var_ref t31) (var_ref clamp_retval) ) (assign (w) (var_ref t31) (expression float + (expression float + (expression float * (expression float log2 (expression float + (expression float dot (var_ref t27) (constant vec3 (0.300000 0.590000 0.110000)) ) (constant float (0.003906)) ) ) (constant float (0.062500)) ) (constant float (0.500000)) ) (expression float * (expression float + (expression float * (expression float fract (expression float dot (expression vec3 * (swiz xyx (var_ref t29) )(swiz xyy (var_ref t29) )) (constant vec3 (20.390631 60.703129 2.428121)) ) ) (constant float (0.500000)) ) (constant float (-0.500000)) ) (constant float (0.003922)) ) ) ) (assign (x) (var_ref t32) (var_ref max_retval) ) (assign (yzw) (var_ref t32) (constant vec3 (0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0) (var_ref t28) ) (assign (xyzw) (var_ref out_Target1) (var_ref t30) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.500000 0.000000 0.003922)) ) (assign (xyzw) (var_ref out_Target3) (var_ref t31) ) (assign (xyzw) (var_ref out_Target4) (var_ref t32) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (1.000000 1.000000 1.000000 1.000000)) ) (assign (xyzw) (var_ref out_Target0@67) (var_ref out_Target0) ) (assign (xyzw) (var_ref out_Target1@68) (var_ref out_Target1) ) (assign (xyzw) (var_ref out_Target2@69) (var_ref out_Target2) ) (assign (xyzw) (var_ref out_Target3@70) (var_ref out_Target3) ) (assign (xyzw) (var_ref out_Target4@71) (var_ref out_Target4) ) (assign (xyzw) (var_ref out_Target5@72) (var_ref out_Target5) ) )) ) ) GLSL source for fragment shader 9: #version 150 layout(std140) uniform pb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClippb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClippb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewpb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldpb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClippb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldpb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldpb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldpb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardpb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUppb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightpb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformpb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiaspb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiaspb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizepb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginpb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginpb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalepb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParameterpb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParameterpb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParameterpb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParameterpb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationpb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskpb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltapb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignpb0 float View_CullingSign; #define View_NearPlane View_NearPlanepb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorpb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimepb0 float View_GameTime; #define View_RealTime View_RealTimepb0 float View_RealTime; #define View_Random View_Randompb0 uint View_Random; #define View_FrameNumber View_FrameNumberpb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapspb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskpb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskpb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorpb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionpb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorpb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorpb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinpb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizepb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamspb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancepb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalepb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthpb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionpb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionpb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionpb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelpb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakpb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetpb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionpb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjpb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjpb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClippb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginpb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationpb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjpb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldpb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalepb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicpb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionpb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowerpb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowerpb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalepb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetpb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetpb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalepb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalepb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighpb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancepb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetpb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalepb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskpb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumpb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorpb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintpb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensitypb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizepb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParameterspb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxpb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorpb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMappb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform pb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldpb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalpb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiuspb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundspb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignpb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionpb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskpb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationpb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationpb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalepb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalepb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinpb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxpb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultiplierpb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform pb2 { #define MaterialCollection0_Vectors MaterialCollection0_Vectorspb2 vec4 MaterialCollection0_Vectors[5]; }; layout(std140) uniform pb3 { #define Material_VectorExpressions Material_VectorExpressionspb3 vec4 Material_VectorExpressions[2]; #define Material_ScalarExpressions Material_ScalarExpressionspb3 vec4 Material_ScalarExpressions[2]; }; uniform highp sampler2D ps0; in TEXCOORD10 { vec4 Data; } in_TEXCOORD10; in TEXCOORD11 { vec4 Data; } in_TEXCOORD11; in TEXCOORD0 { vec4 Data; } in_TEXCOORD0; out highp vec4 out_Target0; out highp vec4 out_Target1; out highp vec4 out_Target2; out highp vec4 out_Target3; out highp vec4 out_Target4; out highp vec4 out_Target5; void main() { highp vec3 t0; t0.xyz = normalize(((vec3(0.000000e+000,0.000000e+000,1.000000e+000)*View_NormalOverrideParameter.www)+View_NormalOverrideParameter.xyz)); if (((texture(ps0,in_TEXCOORD0.Data.xy).w+-3.333000e-001)<0.000000e+000)) discard; highp vec4 t1; t1.w = 0.000000e+000; t1.xyz = (((MaterialCollection0_Vectors[4].xyz*vec3(2.000000e+000,2.000000e+000,2.000000e+000))*texture(ps0,in_TEXCOORD0.Data.xy).xyz)+Material_VectorExpressions[0].xyz); highp vec4 t2; t2.xyz = ((normalize(((in_TEXCOORD11.Data.xyz*t0.zzz)+(((cross(in_TEXCOORD11.Data.xyz,in_TEXCOORD10.Data.xyz)*in_TEXCOORD11.Data.www)*t0.yyy)+(in_TEXCOORD10.Data.xyz*t0.xxx))))*vec3(5.000000e-001,5.000000e-001,5.000000e-001))+vec3(5.000000e-001,5.000000e-001,5.000000e-001)); highp float t3; t3 = float(((uint(Primitive_DecalReceiverMask)*2u)+uint(Primitive_HasDistanceFieldRepresentation))); t2.w = (t3*3.333333e-001); out_Target0.xyzw = t1; out_Target1.xyzw = t2; out_Target2.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target3.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target4.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target5.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); } GLSL IR for shader 9: ( (declare (shader_in ) TEXCOORD0 in_TEXCOORD0) (declare (shader_in ) TEXCOORD11 in_TEXCOORD11) (declare (shader_in ) TEXCOORD10 in_TEXCOORD10) (declare (uniform ) (array vec4 2) Material_ScalarExpressionspb3) (declare (uniform ) (array vec4 2) Material_VectorExpressionspb3) (declare (uniform ) (array vec4 5) MaterialCollection0_Vectorspb2) (declare (uniform ) float Primitive_LpvBiasMultiplierpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinpb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalepb1) (declare (uniform ) vec4 Primitive_NonUniformScalepb1) (declare (uniform ) vec4 Primitive_ObjectOrientationpb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionpb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignpb1) (declare (uniform ) vec3 Primitive_ObjectBoundspb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiuspb1) (declare (uniform ) mat4 Primitive_WorldToLocalpb1) (declare (uniform ) mat4 Primitive_LocalToWorldpb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMappb0) (declare (uniform ) vec4 View_SkyLightColorpb0) (declare (uniform ) vec4 View_SceneTextureMinMaxpb0) (declare (uniform ) float View_SkyLightParameterspb0) (declare (uniform ) vec2 View_RenderTargetSizepb0) (declare (uniform ) float View_AmbientCubemapIntensitypb0) (declare (uniform ) vec4 View_AmbientCubemapTintpb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorpb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumpb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskpb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetpb0) (declare (uniform ) float View_AtmosphericFogStartDistancepb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighpb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceScalepb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityScalepb0) (declare (uniform ) float View_AtmosphericFogPowerpb0) (declare (uniform ) float View_AtmosphericFogSunPowerpb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionpb0) (declare (uniform ) float View_HdrMosaicpb0) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_PrevInvViewProjpb0) (declare (uniform ) vec3 View_PrevPreViewTranslationpb0) (declare (uniform ) vec3 View_PrevViewOriginpb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClippb0) (declare (uniform ) mat4 View_PrevViewRotationProjpb0) (declare (uniform ) mat4 View_PrevViewProjpb0) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) float View_DemosaicVposOffsetpb0) (declare (uniform ) float View_GeneralPurposeTweakpb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelpb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalLengthpb0) (declare (uniform ) float View_DepthOfFieldScalepb0) (declare (uniform ) float View_DepthOfFieldFocalDistancepb0) (declare (uniform ) vec4 View_TemporalAAParamspb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizepb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinpb0) (declare (uniform ) vec4 View_LowerSkyColorpb0) (declare (uniform ) vec4 View_UpperSkyColorpb0) (declare (uniform ) vec3 View_DirectionalLightDirectionpb0) (declare (uniform ) vec4 View_DirectionalLightColorpb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskpb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) uint View_FrameNumberpb0) (declare (uniform ) uint View_Randompb0) (declare (uniform ) float View_RealTimepb0) (declare (uniform ) float View_GameTimepb0) (declare (uniform ) float View_AdaptiveTessellationFactorpb0) (declare (uniform ) float View_NearPlanepb0) (declare (uniform ) float View_CullingSignpb0) (declare (uniform ) vec3 View_ViewOriginDeltapb0) (declare (uniform ) float View_OutOfBoundsMaskpb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ExposureScalepb0) (declare (uniform ) vec4 View_TranslatedViewOriginpb0) (declare (uniform ) vec4 View_ViewOriginpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) vec3 View_ViewRightpb0) (declare (uniform ) vec3 View_ViewUppb0) (declare (uniform ) vec3 View_ViewForwardpb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_ScreenToWorldpb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldpb0) (declare (uniform ) mat4 View_TranslatedWorldToViewpb0) (declare (uniform ) mat4 View_WorldToClippb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) sampler2D ps0) (declare (shader_out ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare () vec3 t0) (declare (temporary ) vec3 normalize_retval) (call normalize (var_ref normalize_retval) ((expression vec3 + (expression vec3 * (constant vec3 (0.000000 0.000000 1.000000)) (swiz www (var_ref View_NormalOverrideParameterpb0) )) (swiz xyz (var_ref View_NormalOverrideParameterpb0) )) )) (assign (xyz) (var_ref t0) (var_ref normalize_retval) ) (declare (temporary ) vec4 texture_retval) (call texture (var_ref texture_retval) ((var_ref ps0) (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) ))) (if (expression bool < (swiz w (var_ref texture_retval) )(constant float (0.333300)) ) ( (discard ) ) ()) (assign (w) (var_ref t1) (constant float (0.000000)) ) (declare (temporary ) vec4 texture_retval@73) (call texture (var_ref texture_retval@73) ((var_ref ps0) (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) ))) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 * (expression vec3 * (swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (4)) ) )(constant vec3 (2.000000 2.000000 2.000000)) ) (swiz xyz (var_ref texture_retval@73) )) (swiz xyz (array_ref (var_ref Material_VectorExpressionspb3) (constant int (0)) ) )) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) ))) (declare (temporary ) vec3 normalize_retval@74) (call normalize (var_ref normalize_retval@74) ((expression vec3 + (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz zzz (var_ref t0) )) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref cross_retval) (swiz www (record_ref (var_ref in_TEXCOORD11) Data) )) (swiz yyy (var_ref t0) )) (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) )(swiz xxx (var_ref t0) )) ) ) )) (assign (xyz) (var_ref t2) (expression vec3 + (expression vec3 * (var_ref normalize_retval@74) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t2) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (var_ref Primitive_DecalReceiverMaskpb1) ) (constant uint (2)) ) (expression uint f2u (var_ref Primitive_HasDistanceFieldRepresentationpb1) ) ) ) (constant float (0.333333)) ) ) (assign (xyzw) (var_ref out_Target0) (var_ref t1) ) (assign (xyzw) (var_ref out_Target1) (var_ref t2) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target3) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target4) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) )) ) (function normalize (signature vec3 (parameters (declare (in ) vec3 x) ) ( )) ) (function texture (signature vec4 (parameters (declare (in ) sampler2D sampler) (declare (in ) vec2 P) ) ( )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL source for vertex shader 10: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform vb2 { #define Material_VectorExpressions Material_VectorExpressionsvb2 vec4 Material_VectorExpressions[2]; #define Material_ScalarExpressions Material_ScalarExpressionsvb2 vec4 Material_ScalarExpressions[2]; }; in highp vec4 in_ATTRIBUTE0; in highp vec3 in_ATTRIBUTE1; in highp vec4 in_ATTRIBUTE2; in highp vec2 in_ATTRIBUTE4; out TEXCOORD10 { vec4 Data; } out_TEXCOORD10; out TEXCOORD11 { vec4 Data; } out_TEXCOORD11; out TEXCOORD0 { vec4 Data; } out_TEXCOORD0; out TEXCOORD7 { vec4 Data; } out_TEXCOORD7; void main() { highp vec4 t0; highp vec3 t1; highp vec4 t2; t2.xyzw = ((in_ATTRIBUTE2*vec4(2.000000e+000,2.000000e+000,2.000000e+000,2.000000e+000))+vec4(-1.000000e+000,-1.000000e+000,-1.000000e+000,-1.000000e+000)); t1.xyz = (cross((cross(t2.xyz,((in_ATTRIBUTE1*vec3(2.000000e+000,2.000000e+000,2.000000e+000))+vec3(-1.000000e+000,-1.000000e+000,-1.000000e+000)))*t2.www),t2.xyz)*t2.www); highp mat3 t3; highp mat3 t4; t4[0].xyz = Primitive_LocalToWorld[0].xyz; t4[1].xyz = Primitive_LocalToWorld[1].xyz; t4[2].xyz = Primitive_LocalToWorld[2].xyz; t3 = t4; t3[0].xyz = (t4[0]*Primitive_InvNonUniformScale.xxx); t3[1].xyz = (t3[1]*Primitive_InvNonUniformScale.yyy); t3[2].xyz = (t3[2]*Primitive_InvNonUniformScale.zzz); highp vec4 t5; t5.w = 1.000000e+000; t5.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec2 t6[1]; t6[0].xy = vec2(0.000000e+000,0.000000e+000); t6[(1+(-1))].xy = in_ATTRIBUTE4; highp vec4 t7; t7.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t5.zzzz)+((View_TranslatedWorldToClip[1]*t5.yyyy)+(View_TranslatedWorldToClip[0]*t5.xxxx)))); highp vec2 t8; t8.x = (t6[0].x*Material_ScalarExpressions[0].y); t8.y = (t6[0].y*Material_ScalarExpressions[0].y); highp vec4 t9[1]; t9[0].xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); t9[(0/2)].xy = (t8+Material_VectorExpressions[1].xy); highp vec4 t10; t10.w = 0.000000e+000; t10.xyz = ((t1.zzz*t3[2])+((t1.yyy*t3[1])+(t1.xxx*t3[0]))); highp vec4 t11; t11.xyz = ((t2.zzz*t3[2])+((t2.yyy*t3[1])+(t2.xxx*t3[0]))); t11.w = (((in_ATTRIBUTE2.w*2.000000e+000)+-1.000000e+000)*Primitive_LocalToWorldDeterminantSign); t0.xyzw = t7; out_TEXCOORD10.Data.xyzw = t10; out_TEXCOORD11.Data.xyzw = t11; out_TEXCOORD0.Data.xyzw = t9[0]; out_TEXCOORD7.Data.xyzw = t5; t0.y = (-t7.y); t0.z = ((2.000000e+000*t7.z)+(-t7.w)); gl_Position.xyzw = t0; } GLSL IR for shader 10: ( (declare (shader_out ) TEXCOORD7 out_TEXCOORD7) (declare (shader_out ) TEXCOORD0 out_TEXCOORD0) (declare (shader_out ) TEXCOORD11 out_TEXCOORD11) (declare (shader_out ) TEXCOORD10 out_TEXCOORD10) (declare (uniform ) (array vec4 2) Material_ScalarExpressionsvb2) (declare (uniform ) (array vec4 2) Material_VectorExpressionsvb2) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t11) (declare () vec4 t10) (declare () (array vec4 1) t9) (declare () vec2 t8) (declare () vec4 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (var_ref t2) )(expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) )) (declare (temporary ) vec3 cross_retval@75) (call cross (var_ref cross_retval@75) ((expression vec3 * (var_ref cross_retval) (swiz www (var_ref t2) )) (swiz xyz (var_ref t2) ))) (assign (xyz) (var_ref t1) (expression vec3 * (var_ref cross_retval@75) (swiz www (var_ref t2) )) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )) (assign () (var_ref t3) (var_ref t4) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (var_ref t7) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (x) (var_ref t8) (expression float * (swiz x (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (array_ref (var_ref Material_ScalarExpressionsvb2) (constant int (0)) ) )) ) (assign (y) (var_ref t8) (expression float * (swiz y (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (array_ref (var_ref Material_ScalarExpressionsvb2) (constant int (0)) ) )) ) (assign (xyzw) (array_ref (var_ref t9) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t9) (expression int / (constant int (0)) (constant int (2)) ) ) (expression vec2 + (var_ref t8) (swiz xy (array_ref (var_ref Material_VectorExpressionsvb2) (constant int (1)) ) )) ) (assign (w) (var_ref t10) (constant float (0.000000)) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t11) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t11) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (var_ref Primitive_LocalToWorldDeterminantSignvb1) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t7) )) (assign (xyzw) (record_ref (var_ref out_TEXCOORD10) Data) (var_ref t10) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD11) Data) (var_ref t11) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD0) Data) (array_ref (var_ref t9) (constant int (0)) ) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD7) Data) (var_ref t5) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t7) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t7) )) (expression float neg (swiz w (var_ref t7) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL IR for linked vertex program 11: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (uniform ) (array vec4 2) Material_ScalarExpressionsvb2) (declare (uniform ) (array vec4 2) Material_VectorExpressionsvb2) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t11) (declare () vec4 t10) (declare () (array vec4 1) t9) (declare () vec2 t8) (declare () vec4 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 b) (assign (xyz) (var_ref b) (expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 a) (assign (xyz) (var_ref a) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref t2) )(swiz zxy (var_ref b) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref t2) )(swiz yzx (var_ref b) )) ) ) (swiz www (var_ref t2) )) ) (assign (xyz) (var_ref t1) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref a) )(swiz zxy (var_ref t2) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref a) )(swiz yzx (var_ref t2) )) ) ) (swiz www (var_ref t2) )) ) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (var_ref cse) )) (declare () vec4 cse@76) (assign (xyzw) (var_ref cse@76) (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (var_ref cse@76) )) (declare () vec4 cse@77) (assign (xyzw) (var_ref cse@77) (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (var_ref cse@77) )) (assign () (var_ref t3) (var_ref t4) ) (declare () vec4 cse@78) (assign (xyzw) (var_ref cse@78) (expression vec4 ubo_load (constant uint (1)) (constant uint (224)) ) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref cse@78) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref cse@78) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref cse@78) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (var_ref cse) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (var_ref cse@76) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (var_ref cse@77) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (0)) (constant uint (736)) ) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (var_ref t7) (expression vec4 + (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (declare () vec4 cse@79) (assign (xyzw) (var_ref cse@79) (expression vec4 ubo_load (constant uint (2)) (constant uint (32)) ) ) (assign (x) (var_ref t8) (expression float * (swiz x (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (var_ref cse@79) )) ) (assign (y) (var_ref t8) (expression float * (swiz y (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (var_ref cse@79) )) ) (assign (xyzw) (array_ref (var_ref t9) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t9) (expression int / (constant int (0)) (constant int (2)) ) ) (expression vec2 + (var_ref t8) (swiz xy (expression vec4 ubo_load (constant uint (2)) (constant uint (16)) ) )) ) (assign (w) (var_ref t10) (constant float (0.000000)) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t11) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t11) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (expression float ubo_load (constant uint (1)) (constant uint (156)) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t7) )) (assign (xyzw) (var_ref Data) (var_ref t10) ) (assign (xyzw) (var_ref Data@80) (var_ref t11) ) (assign (xyzw) (var_ref Data@81) (array_ref (var_ref t9) (constant int (0)) ) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t7) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t7) )) (expression float neg (swiz w (var_ref t7) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@82) (var_ref gl_Position) ) (assign (xyzw) (var_ref Data@83) (var_ref Data@81) ) (assign (xyzw) (var_ref Data@84) (var_ref Data@80) ) (assign (xyzw) (var_ref Data@85) (var_ref Data) ) )) ) ) GLSL IR for linked fragment program 11: ( (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (uniform ) (array vec4 2) Material_VectorExpressionspb3) (declare (uniform ) (array vec4 5) MaterialCollection0_Vectorspb2) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) sampler2D ps0) (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (temporary ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (temporary ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (temporary ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (temporary ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (declare (temporary ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare (temporary ) vec3 normalize_retval) (declare () vec3 x) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (2)) (constant uint (704)) ) ) (assign (xyz) (var_ref x) (expression vec3 + (expression vec3 * (constant vec3 (0.000000 0.000000 1.000000)) (swiz www (var_ref cse) )) (swiz xyz (var_ref cse) )) ) (assign (xyz) (var_ref normalize_retval) (expression vec3 * (var_ref x) (expression float rsq (expression float dot (var_ref x) (var_ref x) ) ) ) ) (declare (temporary ) vec4 texture_retval) (assign (xyzw) (var_ref texture_retval) (tex vec4 (var_ref ps0) (swiz xy (var_ref Data) ) 0 1 () )) (if (expression bool < (swiz w (var_ref texture_retval) )(constant float (0.333300)) ) ( (discard ) ) ()) (assign (w) (var_ref t1) (constant float (0.000000)) ) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 * (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (64)) ) )(constant vec3 (2.000000 2.000000 2.000000)) ) (swiz xyz (tex vec4 (var_ref ps0) (swiz xy (var_ref Data) ) 0 1 () ))) (swiz xyz (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) )) ) (declare () vec3 x@86) (assign (xyz) (var_ref x@86) (expression vec3 + (expression vec3 * (swiz xyz (var_ref Data@87) )(swiz zzz (var_ref normalize_retval) )) (expression vec3 + (expression vec3 * (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref Data@87) )(swiz zxy (var_ref Data@88) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref Data@87) )(swiz yzx (var_ref Data@88) )) ) ) (swiz www (var_ref Data@87) )) (swiz yyy (var_ref normalize_retval) )) (expression vec3 * (swiz xyz (var_ref Data@88) )(swiz xxx (var_ref normalize_retval) )) ) ) ) (assign (xyz) (var_ref t2) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref x@86) (expression float rsq (expression float dot (var_ref x@86) (var_ref x@86) ) ) ) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t2) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (expression float ubo_load (constant uint (3)) (constant uint (172)) ) ) (constant uint (2)) ) (expression uint f2u (expression float ubo_load (constant uint (3)) (constant uint (176)) ) ) ) ) (constant float (0.333333)) ) ) (assign (xyzw) (var_ref out_Target0) (var_ref t1) ) (assign (xyzw) (var_ref out_Target1) (var_ref t2) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target3) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target4) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0@89) (var_ref out_Target0) ) (assign (xyzw) (var_ref out_Target1@90) (var_ref out_Target1) ) (assign (xyzw) (var_ref out_Target2@91) (var_ref out_Target2) ) (assign (xyzw) (var_ref out_Target3@92) (var_ref out_Target3) ) (assign (xyzw) (var_ref out_Target4@93) (var_ref out_Target4) ) (assign (xyzw) (var_ref out_Target5@94) (var_ref out_Target5) ) )) ) ) GLSL source for vertex shader 12: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform vb2 { #define Material_VectorExpressions Material_VectorExpressionsvb2 vec4 Material_VectorExpressions[2]; #define Material_ScalarExpressions Material_ScalarExpressionsvb2 vec4 Material_ScalarExpressions[2]; }; uniform highp vec4 vu_h[4]; in highp vec4 in_ATTRIBUTE0; in highp vec3 in_ATTRIBUTE1; in highp vec4 in_ATTRIBUTE2; in highp vec2 in_ATTRIBUTE4; out TEXCOORD6 { vec4 Data; } out_TEXCOORD6; out TEXCOORD7 { vec4 Data; } out_TEXCOORD7; out TEXCOORD10 { vec4 Data; } out_TEXCOORD10; out TEXCOORD11 { vec4 Data; } out_TEXCOORD11; out TEXCOORD0 { vec4 Data; } out_TEXCOORD0; void main() { highp vec4 t0; highp vec3 t1; highp vec4 t2; t2.xyzw = ((in_ATTRIBUTE2*vec4(2.000000e+000,2.000000e+000,2.000000e+000,2.000000e+000))+vec4(-1.000000e+000,-1.000000e+000,-1.000000e+000,-1.000000e+000)); t1.xyz = (cross((cross(t2.xyz,((in_ATTRIBUTE1*vec3(2.000000e+000,2.000000e+000,2.000000e+000))+vec3(-1.000000e+000,-1.000000e+000,-1.000000e+000)))*t2.www),t2.xyz)*t2.www); highp mat3 t3; highp mat3 t4; t4[0].xyz = Primitive_LocalToWorld[0].xyz; t4[1].xyz = Primitive_LocalToWorld[1].xyz; t4[2].xyz = Primitive_LocalToWorld[2].xyz; t3 = t4; t3[0].xyz = (t4[0]*Primitive_InvNonUniformScale.xxx); t3[1].xyz = (t3[1]*Primitive_InvNonUniformScale.yyy); t3[2].xyz = (t3[2]*Primitive_InvNonUniformScale.zzz); highp vec4 t5; t5.w = 1.000000e+000; t5.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec2 t6[1]; t6[0].xy = vec2(0.000000e+000,0.000000e+000); t6[(1+(-1))].xy = in_ATTRIBUTE4; highp vec2 t7; t7.x = (t6[0].x*Material_ScalarExpressions[0].y); t7.y = (t6[0].y*Material_ScalarExpressions[0].y); highp vec4 t8[1]; t8[0].xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); t8[(0/2)].xy = (t7+Material_VectorExpressions[1].xy); highp vec4 t9; t9.w = 0.000000e+000; t9.xyz = ((t1.zzz*t3[2])+((t1.yyy*t3[1])+(t1.xxx*t3[0]))); highp vec4 t10; t10.xyz = ((t2.zzz*t3[2])+((t2.yyy*t3[1])+(t2.xxx*t3[0]))); t10.w = (((in_ATTRIBUTE2.w*2.000000e+000)+-1.000000e+000)*Primitive_LocalToWorldDeterminantSign); highp vec4 t11; t11.xyzw = ((vu_h[3]*in_ATTRIBUTE0.wwww)+((vu_h[2]*in_ATTRIBUTE0.zzzz)+((vu_h[1]*in_ATTRIBUTE0.yyyy)+(vu_h[0]*in_ATTRIBUTE0.xxxx)))); highp vec4 t12; t12.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t5.zzzz)+((View_TranslatedWorldToClip[1]*t5.yyyy)+(View_TranslatedWorldToClip[0]*t5.xxxx)))); t0.xyzw = t12; out_TEXCOORD6.Data.xyzw = t12; out_TEXCOORD7.Data.xyzw = (View_PrevTranslatedWorldToClip[3]+((View_PrevTranslatedWorldToClip[2]*t11.zzzz)+((View_PrevTranslatedWorldToClip[1]*t11.yyyy)+(View_PrevTranslatedWorldToClip[0]*t11.xxxx)))); out_TEXCOORD10.Data.xyzw = t9; out_TEXCOORD11.Data.xyzw = t10; out_TEXCOORD0.Data.xyzw = t8[0]; t0.y = (-t12.y); t0.z = ((2.000000e+000*t12.z)+(-t12.w)); gl_Position.xyzw = t0; } GLSL IR for shader 12: ( (declare (shader_out ) TEXCOORD0 out_TEXCOORD0) (declare (shader_out ) TEXCOORD11 out_TEXCOORD11) (declare (shader_out ) TEXCOORD10 out_TEXCOORD10) (declare (shader_out ) TEXCOORD7 out_TEXCOORD7) (declare (shader_out ) TEXCOORD6 out_TEXCOORD6) (declare (uniform ) (array vec4 2) Material_ScalarExpressionsvb2) (declare (uniform ) (array vec4 2) Material_VectorExpressionsvb2) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) (array vec4 4) vu_h) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t12) (declare () vec4 t11) (declare () vec4 t10) (declare () vec4 t9) (declare () (array vec4 1) t8) (declare () vec2 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (var_ref t2) )(expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) )) (declare (temporary ) vec3 cross_retval@95) (call cross (var_ref cross_retval@95) ((expression vec3 * (var_ref cross_retval) (swiz www (var_ref t2) )) (swiz xyz (var_ref t2) ))) (assign (xyz) (var_ref t1) (expression vec3 * (var_ref cross_retval@95) (swiz www (var_ref t2) )) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )) (assign () (var_ref t3) (var_ref t4) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (x) (var_ref t7) (expression float * (swiz x (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (array_ref (var_ref Material_ScalarExpressionsvb2) (constant int (0)) ) )) ) (assign (y) (var_ref t7) (expression float * (swiz y (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (array_ref (var_ref Material_ScalarExpressionsvb2) (constant int (0)) ) )) ) (assign (xyzw) (array_ref (var_ref t8) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t8) (expression int / (constant int (0)) (constant int (2)) ) ) (expression vec2 + (var_ref t7) (swiz xy (array_ref (var_ref Material_VectorExpressionsvb2) (constant int (1)) ) )) ) (assign (w) (var_ref t9) (constant float (0.000000)) ) (assign (xyz) (var_ref t9) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t10) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (var_ref Primitive_LocalToWorldDeterminantSignvb1) ) ) (assign (xyzw) (var_ref t11) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (3)) ) (swiz wwww (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (2)) ) (swiz zzzz (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (1)) ) (swiz yyyy (var_ref in_ATTRIBUTE0) )) (expression vec4 * (array_ref (var_ref vu_h) (constant int (0)) ) (swiz xxxx (var_ref in_ATTRIBUTE0) )) ) ) ) ) (assign (xyzw) (var_ref t12) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t12) )) (assign (xyzw) (record_ref (var_ref out_TEXCOORD6) Data) (var_ref t12) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD7) Data) (expression vec4 + (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t11) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t11) )) (expression vec4 * (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t11) )) ) ) ) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD10) Data) (var_ref t9) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD11) Data) (var_ref t10) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD0) Data) (array_ref (var_ref t8) (constant int (0)) ) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t12) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t12) )) (expression float neg (swiz w (var_ref t12) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL source for fragment shader 13: #version 150 layout(std140) uniform pb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClippb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClippb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewpb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldpb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClippb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldpb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldpb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldpb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardpb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUppb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightpb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformpb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiaspb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiaspb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizepb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginpb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginpb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalepb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParameterpb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParameterpb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParameterpb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParameterpb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationpb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskpb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltapb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignpb0 float View_CullingSign; #define View_NearPlane View_NearPlanepb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorpb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimepb0 float View_GameTime; #define View_RealTime View_RealTimepb0 float View_RealTime; #define View_Random View_Randompb0 uint View_Random; #define View_FrameNumber View_FrameNumberpb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapspb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskpb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskpb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorpb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionpb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorpb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorpb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinpb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizepb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamspb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancepb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalepb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthpb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionpb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionpb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionpb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelpb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakpb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetpb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionpb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjpb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjpb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClippb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginpb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationpb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjpb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldpb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalepb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicpb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionpb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowerpb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowerpb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalepb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetpb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetpb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalepb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalepb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighpb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancepb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetpb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalepb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskpb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumpb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorpb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintpb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensitypb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizepb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParameterspb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxpb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorpb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMappb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; uniform highp sampler2D ps0; in TEXCOORD6 { vec4 Data; } in_TEXCOORD6; in TEXCOORD7 { vec4 Data; } in_TEXCOORD7; in TEXCOORD0 { vec4 Data; } in_TEXCOORD0; out highp vec4 out_Target0; void main() { highp vec4 t0; if (((texture(ps0,in_TEXCOORD0.Data.xy).w+-3.333000e-001)<0.000000e+000)) discard; t0.xy = (((((in_TEXCOORD6.Data.xy/in_TEXCOORD6.Data.ww)+(-View_ViewToClip[2].xy))+(-((in_TEXCOORD7.Data.xy/in_TEXCOORD7.Data.ww)+(-View_PrevProjection[2].xy))))*vec2(2.495000e-001,2.495000e-001))+vec2(4.999924e-001,4.999924e-001)); t0.zw = vec2(0.000000e+000,0.000000e+000); out_Target0.xyzw = t0; } GLSL IR for shader 13: ( (declare (shader_in ) TEXCOORD0 in_TEXCOORD0) (declare (shader_in ) TEXCOORD7 in_TEXCOORD7) (declare (shader_in ) TEXCOORD6 in_TEXCOORD6) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMappb0) (declare (uniform ) vec4 View_SkyLightColorpb0) (declare (uniform ) vec4 View_SceneTextureMinMaxpb0) (declare (uniform ) float View_SkyLightParameterspb0) (declare (uniform ) vec2 View_RenderTargetSizepb0) (declare (uniform ) float View_AmbientCubemapIntensitypb0) (declare (uniform ) vec4 View_AmbientCubemapTintpb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorpb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumpb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskpb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetpb0) (declare (uniform ) float View_AtmosphericFogStartDistancepb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighpb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceScalepb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityScalepb0) (declare (uniform ) float View_AtmosphericFogPowerpb0) (declare (uniform ) float View_AtmosphericFogSunPowerpb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionpb0) (declare (uniform ) float View_HdrMosaicpb0) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_PrevInvViewProjpb0) (declare (uniform ) vec3 View_PrevPreViewTranslationpb0) (declare (uniform ) vec3 View_PrevViewOriginpb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClippb0) (declare (uniform ) mat4 View_PrevViewRotationProjpb0) (declare (uniform ) mat4 View_PrevViewProjpb0) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) float View_DemosaicVposOffsetpb0) (declare (uniform ) float View_GeneralPurposeTweakpb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelpb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalLengthpb0) (declare (uniform ) float View_DepthOfFieldScalepb0) (declare (uniform ) float View_DepthOfFieldFocalDistancepb0) (declare (uniform ) vec4 View_TemporalAAParamspb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizepb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinpb0) (declare (uniform ) vec4 View_LowerSkyColorpb0) (declare (uniform ) vec4 View_UpperSkyColorpb0) (declare (uniform ) vec3 View_DirectionalLightDirectionpb0) (declare (uniform ) vec4 View_DirectionalLightColorpb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskpb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) uint View_FrameNumberpb0) (declare (uniform ) uint View_Randompb0) (declare (uniform ) float View_RealTimepb0) (declare (uniform ) float View_GameTimepb0) (declare (uniform ) float View_AdaptiveTessellationFactorpb0) (declare (uniform ) float View_NearPlanepb0) (declare (uniform ) float View_CullingSignpb0) (declare (uniform ) vec3 View_ViewOriginDeltapb0) (declare (uniform ) float View_OutOfBoundsMaskpb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ExposureScalepb0) (declare (uniform ) vec4 View_TranslatedViewOriginpb0) (declare (uniform ) vec4 View_ViewOriginpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) vec3 View_ViewRightpb0) (declare (uniform ) vec3 View_ViewUppb0) (declare (uniform ) vec3 View_ViewForwardpb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_ScreenToWorldpb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldpb0) (declare (uniform ) mat4 View_TranslatedWorldToViewpb0) (declare (uniform ) mat4 View_WorldToClippb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) sampler2D ps0) (declare (shader_out ) vec4 out_Target0) (function main (signature void (parameters ) ( (declare () vec4 t0) (declare (temporary ) vec4 texture_retval) (call texture (var_ref texture_retval) ((var_ref ps0) (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) ))) (if (expression bool < (swiz w (var_ref texture_retval) )(constant float (0.333300)) ) ( (discard ) ) ()) (assign (xy) (var_ref t0) (expression vec2 + (expression vec2 * (expression vec2 + (expression vec2 + (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD6) Data) )(swiz ww (record_ref (var_ref in_TEXCOORD6) Data) )) (expression vec2 neg (swiz xy (array_ref (var_ref View_ViewToClippb0) (constant int (2)) ) )) ) (expression vec2 neg (expression vec2 + (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD7) Data) )(swiz ww (record_ref (var_ref in_TEXCOORD7) Data) )) (expression vec2 neg (swiz xy (array_ref (var_ref View_PrevProjectionpb0) (constant int (2)) ) )) ) ) ) (constant vec2 (0.249500 0.249500)) ) (constant vec2 (0.499992 0.499992)) ) ) (assign (zw) (var_ref t0) (constant vec2 (0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0) (var_ref t0) ) )) ) (function texture (signature vec4 (parameters (declare (in ) sampler2D sampler) (declare (in ) vec2 P) ) ( )) ) ) GLSL IR for linked vertex program 14: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (uniform ) (array vec4 2) Material_ScalarExpressionsvb2) (declare (uniform ) (array vec4 2) Material_VectorExpressionsvb2) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (uniform ) (array vec4 4) vu_h) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t12) (declare () vec4 t11) (declare () (array vec4 1) t8) (declare () vec2 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t0) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (var_ref cse) )) (declare () vec4 cse@96) (assign (xyzw) (var_ref cse@96) (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (var_ref cse@96) )) (declare () vec4 cse@97) (assign (xyzw) (var_ref cse@97) (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (var_ref cse@97) )) (assign () (var_ref t3) (var_ref t4) ) (declare () vec4 cse@98) (assign (xyzw) (var_ref cse@98) (expression vec4 ubo_load (constant uint (1)) (constant uint (224)) ) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref cse@98) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref cse@98) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref cse@98) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (var_ref cse) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (var_ref cse@96) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (var_ref cse@97) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (0)) (constant uint (736)) ) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (declare () vec4 cse@99) (assign (xyzw) (var_ref cse@99) (expression vec4 ubo_load (constant uint (2)) (constant uint (32)) ) ) (assign (x) (var_ref t7) (expression float * (swiz x (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (var_ref cse@99) )) ) (assign (y) (var_ref t7) (expression float * (swiz y (array_ref (var_ref t6) (constant int (0)) ) )(swiz y (var_ref cse@99) )) ) (assign (xyzw) (array_ref (var_ref t8) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t8) (expression int / (constant int (0)) (constant int (2)) ) ) (expression vec2 + (var_ref t7) (swiz xy (expression vec4 ubo_load (constant uint (2)) (constant uint (16)) ) )) ) (assign (xyzw) (var_ref t11) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (3)) ) (swiz wwww (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (2)) ) (swiz zzzz (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (1)) ) (swiz yyyy (var_ref in_ATTRIBUTE0) )) (expression vec4 * (array_ref (var_ref vu_h) (constant int (0)) ) (swiz xxxx (var_ref in_ATTRIBUTE0) )) ) ) ) ) (assign (xyzw) (var_ref t12) (expression vec4 + (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t12) )) (assign (xyzw) (var_ref Data) (var_ref t12) ) (assign (xyzw) (var_ref Data@100) (expression vec4 + (expression vec4 ubo_load (constant uint (0)) (constant uint (1248)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (1232)) ) (swiz zzzz (var_ref t11) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (1216)) ) (swiz yyyy (var_ref t11) )) (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (1200)) ) (swiz xxxx (var_ref t11) )) ) ) ) ) (assign (xyzw) (var_ref Data@101) (array_ref (var_ref t8) (constant int (0)) ) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t12) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t12) )) (expression float neg (swiz w (var_ref t12) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@102) (var_ref gl_Position) ) (assign (xyzw) (var_ref Data@103) (var_ref Data@101) ) (assign (xyzw) (var_ref Data@104) (var_ref Data@100) ) (assign (xyzw) (var_ref Data@105) (var_ref Data) ) )) ) ) GLSL IR for linked fragment program 14: ( (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) sampler2D ps0) (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (function main (signature void (parameters ) ( (declare () vec4 t0) (declare (temporary ) vec4 texture_retval) (assign (xyzw) (var_ref texture_retval) (tex vec4 (var_ref ps0) (swiz xy (var_ref Data) ) 0 1 () )) (if (expression bool < (swiz w (var_ref texture_retval) )(constant float (0.333300)) ) ( (discard ) ) ()) (assign (xy) (var_ref t0) (expression vec2 + (expression vec2 * (expression vec2 + (expression vec2 + (expression vec2 * (swiz xy (var_ref Data@106) )(expression vec2 rcp (swiz ww (var_ref Data@106) )) ) (expression vec2 neg (swiz xy (expression vec4 ubo_load (constant uint (0)) (constant uint (288)) ) )) ) (expression vec2 neg (expression vec2 + (expression vec2 * (swiz xy (var_ref Data@107) )(expression vec2 rcp (swiz ww (var_ref Data@107) )) ) (expression vec2 neg (swiz xy (expression vec4 ubo_load (constant uint (0)) (constant uint (1040)) ) )) ) ) ) (constant vec2 (0.249500 0.249500)) ) (constant vec2 (0.499992 0.499992)) ) ) (assign (zw) (var_ref t0) (constant vec2 (0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0) (var_ref t0) ) (assign (xyzw) (var_ref out_Target0@108) (var_ref out_Target0) ) )) ) ) GLSL source for fragment shader 15: #version 150 layout(std140) uniform pb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClippb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClippb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewpb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldpb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClippb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldpb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldpb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldpb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardpb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUppb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightpb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformpb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiaspb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiaspb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizepb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginpb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginpb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalepb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParameterpb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParameterpb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParameterpb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParameterpb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationpb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskpb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltapb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignpb0 float View_CullingSign; #define View_NearPlane View_NearPlanepb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorpb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimepb0 float View_GameTime; #define View_RealTime View_RealTimepb0 float View_RealTime; #define View_Random View_Randompb0 uint View_Random; #define View_FrameNumber View_FrameNumberpb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapspb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskpb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskpb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorpb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionpb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorpb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorpb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinpb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizepb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamspb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancepb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalepb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthpb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionpb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionpb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionpb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelpb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakpb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetpb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionpb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjpb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjpb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClippb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginpb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationpb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjpb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldpb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalepb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicpb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionpb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowerpb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowerpb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalepb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetpb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetpb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalepb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalepb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighpb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancepb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetpb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalepb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskpb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumpb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorpb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintpb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensitypb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizepb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParameterspb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxpb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorpb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMappb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform pb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldpb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalpb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiuspb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundspb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignpb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionpb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskpb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationpb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationpb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalepb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalepb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinpb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxpb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultiplierpb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform pb2 { #define MaterialCollection0_Vectors MaterialCollection0_Vectorspb2 vec4 MaterialCollection0_Vectors[5]; }; layout(std140) uniform pb3 { #define Material_VectorExpressions Material_VectorExpressionspb3 vec4 Material_VectorExpressions[2]; #define Material_ScalarExpressions Material_ScalarExpressionspb3 vec4 Material_ScalarExpressions[2]; }; uniform highp sampler2D ps0; in TEXCOORD10 { vec4 Data; } in_TEXCOORD10; in TEXCOORD11 { vec4 Data; } in_TEXCOORD11; in COLOR0 { vec4 Data; } in_COLOR0; in TEXCOORD0 { vec4 Data; } in_TEXCOORD0; out highp vec4 out_Target0; out highp vec4 out_Target1; out highp vec4 out_Target2; out highp vec4 out_Target3; out highp vec4 out_Target4; out highp vec4 out_Target5; void main() { highp vec3 t0; t0.xyz = normalize(((vec3(0.000000e+000,0.000000e+000,1.000000e+000)*View_NormalOverrideParameter.www)+View_NormalOverrideParameter.xyz)); highp vec4 t1; t1.w = 0.000000e+000; t1.xyz = (((((texture(ps0,in_TEXCOORD0.Data.xy).xyz+(MaterialCollection0_Vectors[3].xyz*in_COLOR0.Data.xxx))*MaterialCollection0_Vectors[4].xyz)+(MaterialCollection0_Vectors[1].xyz*MaterialCollection0_Vectors[0].xxx))*vec3((1.000000e+000+(-MaterialCollection0_Vectors[0].y))))+Material_VectorExpressions[0].xyz); highp vec4 t2; t2.xyz = ((normalize(((in_TEXCOORD11.Data.xyz*t0.zzz)+(((cross(in_TEXCOORD11.Data.xyz,in_TEXCOORD10.Data.xyz)*in_TEXCOORD11.Data.www)*t0.yyy)+(in_TEXCOORD10.Data.xyz*t0.xxx))))*vec3(5.000000e-001,5.000000e-001,5.000000e-001))+vec3(5.000000e-001,5.000000e-001,5.000000e-001)); highp float t3; t3 = float(((uint(Primitive_DecalReceiverMask)*2u)+uint(Primitive_HasDistanceFieldRepresentation))); t2.w = (t3*3.333333e-001); out_Target0.xyzw = t1; out_Target1.xyzw = t2; out_Target2.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target3.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target4.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target5.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); } GLSL IR for shader 15: ( (declare (shader_in ) TEXCOORD0 in_TEXCOORD0) (declare (shader_in ) COLOR0 in_COLOR0) (declare (shader_in ) TEXCOORD11 in_TEXCOORD11) (declare (shader_in ) TEXCOORD10 in_TEXCOORD10) (declare (uniform ) (array vec4 2) Material_ScalarExpressionspb3) (declare (uniform ) (array vec4 2) Material_VectorExpressionspb3) (declare (uniform ) (array vec4 5) MaterialCollection0_Vectorspb2) (declare (uniform ) float Primitive_LpvBiasMultiplierpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinpb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalepb1) (declare (uniform ) vec4 Primitive_NonUniformScalepb1) (declare (uniform ) vec4 Primitive_ObjectOrientationpb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionpb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignpb1) (declare (uniform ) vec3 Primitive_ObjectBoundspb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiuspb1) (declare (uniform ) mat4 Primitive_WorldToLocalpb1) (declare (uniform ) mat4 Primitive_LocalToWorldpb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMappb0) (declare (uniform ) vec4 View_SkyLightColorpb0) (declare (uniform ) vec4 View_SceneTextureMinMaxpb0) (declare (uniform ) float View_SkyLightParameterspb0) (declare (uniform ) vec2 View_RenderTargetSizepb0) (declare (uniform ) float View_AmbientCubemapIntensitypb0) (declare (uniform ) vec4 View_AmbientCubemapTintpb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorpb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumpb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskpb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetpb0) (declare (uniform ) float View_AtmosphericFogStartDistancepb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighpb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceScalepb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityScalepb0) (declare (uniform ) float View_AtmosphericFogPowerpb0) (declare (uniform ) float View_AtmosphericFogSunPowerpb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionpb0) (declare (uniform ) float View_HdrMosaicpb0) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_PrevInvViewProjpb0) (declare (uniform ) vec3 View_PrevPreViewTranslationpb0) (declare (uniform ) vec3 View_PrevViewOriginpb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClippb0) (declare (uniform ) mat4 View_PrevViewRotationProjpb0) (declare (uniform ) mat4 View_PrevViewProjpb0) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) float View_DemosaicVposOffsetpb0) (declare (uniform ) float View_GeneralPurposeTweakpb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelpb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalLengthpb0) (declare (uniform ) float View_DepthOfFieldScalepb0) (declare (uniform ) float View_DepthOfFieldFocalDistancepb0) (declare (uniform ) vec4 View_TemporalAAParamspb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizepb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinpb0) (declare (uniform ) vec4 View_LowerSkyColorpb0) (declare (uniform ) vec4 View_UpperSkyColorpb0) (declare (uniform ) vec3 View_DirectionalLightDirectionpb0) (declare (uniform ) vec4 View_DirectionalLightColorpb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskpb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) uint View_FrameNumberpb0) (declare (uniform ) uint View_Randompb0) (declare (uniform ) float View_RealTimepb0) (declare (uniform ) float View_GameTimepb0) (declare (uniform ) float View_AdaptiveTessellationFactorpb0) (declare (uniform ) float View_NearPlanepb0) (declare (uniform ) float View_CullingSignpb0) (declare (uniform ) vec3 View_ViewOriginDeltapb0) (declare (uniform ) float View_OutOfBoundsMaskpb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ExposureScalepb0) (declare (uniform ) vec4 View_TranslatedViewOriginpb0) (declare (uniform ) vec4 View_ViewOriginpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) vec3 View_ViewRightpb0) (declare (uniform ) vec3 View_ViewUppb0) (declare (uniform ) vec3 View_ViewForwardpb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_ScreenToWorldpb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldpb0) (declare (uniform ) mat4 View_TranslatedWorldToViewpb0) (declare (uniform ) mat4 View_WorldToClippb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) sampler2D ps0) (declare (shader_out ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare () vec3 t0) (declare (temporary ) vec3 normalize_retval) (call normalize (var_ref normalize_retval) ((expression vec3 + (expression vec3 * (constant vec3 (0.000000 0.000000 1.000000)) (swiz www (var_ref View_NormalOverrideParameterpb0) )) (swiz xyz (var_ref View_NormalOverrideParameterpb0) )) )) (assign (xyz) (var_ref t0) (var_ref normalize_retval) ) (assign (w) (var_ref t1) (constant float (0.000000)) ) (declare (temporary ) vec4 texture_retval) (call texture (var_ref texture_retval) ((var_ref ps0) (swiz xy (record_ref (var_ref in_TEXCOORD0) Data) ))) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 * (expression vec3 + (expression vec3 * (expression vec3 + (swiz xyz (var_ref texture_retval) )(expression vec3 * (swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (3)) ) )(swiz xxx (record_ref (var_ref in_COLOR0) Data) )) ) (swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (4)) ) )) (expression vec3 * (swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (1)) ) )(swiz xxx (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (0)) ) )) ) (swiz xxx (expression float + (constant float (1.000000)) (expression float neg (swiz y (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (0)) ) )) ) )) (swiz xyz (array_ref (var_ref Material_VectorExpressionspb3) (constant int (0)) ) )) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) ))) (declare (temporary ) vec3 normalize_retval@109) (call normalize (var_ref normalize_retval@109) ((expression vec3 + (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz zzz (var_ref t0) )) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref cross_retval) (swiz www (record_ref (var_ref in_TEXCOORD11) Data) )) (swiz yyy (var_ref t0) )) (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) )(swiz xxx (var_ref t0) )) ) ) )) (assign (xyz) (var_ref t2) (expression vec3 + (expression vec3 * (var_ref normalize_retval@109) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t2) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (var_ref Primitive_DecalReceiverMaskpb1) ) (constant uint (2)) ) (expression uint f2u (var_ref Primitive_HasDistanceFieldRepresentationpb1) ) ) ) (constant float (0.333333)) ) ) (assign (xyzw) (var_ref out_Target0) (var_ref t1) ) (assign (xyzw) (var_ref out_Target1) (var_ref t2) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target3) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target4) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) )) ) (function normalize (signature vec3 (parameters (declare (in ) vec3 x) ) ( )) ) (function texture (signature vec4 (parameters (declare (in ) sampler2D sampler) (declare (in ) vec2 P) ) ( )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL source for vertex shader 16: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform vb2 { #define Material_VectorExpressions Material_VectorExpressionsvb2 vec4 Material_VectorExpressions[2]; #define Material_ScalarExpressions Material_ScalarExpressionsvb2 vec4 Material_ScalarExpressions[2]; }; in highp vec4 in_ATTRIBUTE0; in highp vec3 in_ATTRIBUTE1; in highp vec4 in_ATTRIBUTE2; in highp vec4 in_ATTRIBUTE3; in highp vec2 in_ATTRIBUTE4; out TEXCOORD10 { vec4 Data; } out_TEXCOORD10; out TEXCOORD11 { vec4 Data; } out_TEXCOORD11; out COLOR0 { vec4 Data; } out_COLOR0; out TEXCOORD0 { vec4 Data; } out_TEXCOORD0; out TEXCOORD7 { vec4 Data; } out_TEXCOORD7; void main() { highp vec4 t0; highp vec3 t1; highp vec4 t2; t2.xyzw = ((in_ATTRIBUTE2*vec4(2.000000e+000,2.000000e+000,2.000000e+000,2.000000e+000))+vec4(-1.000000e+000,-1.000000e+000,-1.000000e+000,-1.000000e+000)); t1.xyz = (cross((cross(t2.xyz,((in_ATTRIBUTE1*vec3(2.000000e+000,2.000000e+000,2.000000e+000))+vec3(-1.000000e+000,-1.000000e+000,-1.000000e+000)))*t2.www),t2.xyz)*t2.www); highp mat3 t3; highp mat3 t4; t4[0].xyz = Primitive_LocalToWorld[0].xyz; t4[1].xyz = Primitive_LocalToWorld[1].xyz; t4[2].xyz = Primitive_LocalToWorld[2].xyz; t3 = t4; t3[0].xyz = (t4[0]*Primitive_InvNonUniformScale.xxx); t3[1].xyz = (t3[1]*Primitive_InvNonUniformScale.yyy); t3[2].xyz = (t3[2]*Primitive_InvNonUniformScale.zzz); highp vec4 t5; t5.w = 1.000000e+000; t5.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec2 t6[1]; t6[0].xy = vec2(0.000000e+000,0.000000e+000); t6[(1+(-1))].xy = in_ATTRIBUTE4; highp vec4 t7; t7.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t5.zzzz)+((View_TranslatedWorldToClip[1]*t5.yyyy)+(View_TranslatedWorldToClip[0]*t5.xxxx)))); highp vec4 t8[1]; t8[0].xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); t8[(0/2)].xy = (Material_VectorExpressions[1].xy+t6[0]); highp vec4 t9; t9.w = 0.000000e+000; t9.xyz = ((t1.zzz*t3[2])+((t1.yyy*t3[1])+(t1.xxx*t3[0]))); highp vec4 t10; t10.xyz = ((t2.zzz*t3[2])+((t2.yyy*t3[1])+(t2.xxx*t3[0]))); t10.w = (((in_ATTRIBUTE2.w*2.000000e+000)+-1.000000e+000)*Primitive_LocalToWorldDeterminantSign); t0.xyzw = t7; out_TEXCOORD10.Data.xyzw = t9; out_TEXCOORD11.Data.xyzw = t10; out_COLOR0.Data.xyzw = in_ATTRIBUTE3; out_TEXCOORD0.Data.xyzw = t8[0]; out_TEXCOORD7.Data.xyzw = t5; t0.y = (-t7.y); t0.z = ((2.000000e+000*t7.z)+(-t7.w)); gl_Position.xyzw = t0; } GLSL IR for shader 16: ( (declare (shader_out ) TEXCOORD7 out_TEXCOORD7) (declare (shader_out ) TEXCOORD0 out_TEXCOORD0) (declare (shader_out ) COLOR0 out_COLOR0) (declare (shader_out ) TEXCOORD11 out_TEXCOORD11) (declare (shader_out ) TEXCOORD10 out_TEXCOORD10) (declare (uniform ) (array vec4 2) Material_ScalarExpressionsvb2) (declare (uniform ) (array vec4 2) Material_VectorExpressionsvb2) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec4 in_ATTRIBUTE3) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t10) (declare () vec4 t9) (declare () (array vec4 1) t8) (declare () vec4 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (var_ref t2) )(expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) )) (declare (temporary ) vec3 cross_retval@110) (call cross (var_ref cross_retval@110) ((expression vec3 * (var_ref cross_retval) (swiz www (var_ref t2) )) (swiz xyz (var_ref t2) ))) (assign (xyz) (var_ref t1) (expression vec3 * (var_ref cross_retval@110) (swiz www (var_ref t2) )) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )) (assign () (var_ref t3) (var_ref t4) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (var_ref t7) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xyzw) (array_ref (var_ref t8) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t8) (expression int / (constant int (0)) (constant int (2)) ) ) (expression vec2 + (swiz xy (array_ref (var_ref Material_VectorExpressionsvb2) (constant int (1)) ) )(array_ref (var_ref t6) (constant int (0)) ) ) ) (assign (w) (var_ref t9) (constant float (0.000000)) ) (assign (xyz) (var_ref t9) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t10) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (var_ref Primitive_LocalToWorldDeterminantSignvb1) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t7) )) (assign (xyzw) (record_ref (var_ref out_TEXCOORD10) Data) (var_ref t9) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD11) Data) (var_ref t10) ) (assign (xyzw) (record_ref (var_ref out_COLOR0) Data) (var_ref in_ATTRIBUTE3) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD0) Data) (array_ref (var_ref t8) (constant int (0)) ) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD7) Data) (var_ref t5) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t7) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t7) )) (expression float neg (swiz w (var_ref t7) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL IR for linked vertex program 17: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (uniform ) (array vec4 2) Material_VectorExpressionsvb2) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec4 in_ATTRIBUTE3) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t10) (declare () vec4 t9) (declare () (array vec4 1) t8) (declare () vec4 t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 b) (assign (xyz) (var_ref b) (expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 a) (assign (xyz) (var_ref a) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref t2) )(swiz zxy (var_ref b) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref t2) )(swiz yzx (var_ref b) )) ) ) (swiz www (var_ref t2) )) ) (assign (xyz) (var_ref t1) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref a) )(swiz zxy (var_ref t2) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref a) )(swiz yzx (var_ref t2) )) ) ) (swiz www (var_ref t2) )) ) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (var_ref cse) )) (declare () vec4 cse@111) (assign (xyzw) (var_ref cse@111) (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (var_ref cse@111) )) (declare () vec4 cse@112) (assign (xyzw) (var_ref cse@112) (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (var_ref cse@112) )) (assign () (var_ref t3) (var_ref t4) ) (declare () vec4 cse@113) (assign (xyzw) (var_ref cse@113) (expression vec4 ubo_load (constant uint (1)) (constant uint (224)) ) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref cse@113) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref cse@113) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref cse@113) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (var_ref cse) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (var_ref cse@111) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (var_ref cse@112) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (0)) (constant uint (736)) ) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (var_ref t7) (expression vec4 + (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xyzw) (array_ref (var_ref t8) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t8) (expression int / (constant int (0)) (constant int (2)) ) ) (expression vec2 + (swiz xy (expression vec4 ubo_load (constant uint (2)) (constant uint (16)) ) )(array_ref (var_ref t6) (constant int (0)) ) ) ) (assign (w) (var_ref t9) (constant float (0.000000)) ) (assign (xyz) (var_ref t9) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t10) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t10) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (expression float ubo_load (constant uint (1)) (constant uint (156)) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t7) )) (assign (xyzw) (var_ref Data) (var_ref t9) ) (assign (xyzw) (var_ref Data@114) (var_ref t10) ) (assign (xyzw) (var_ref Data@115) (var_ref in_ATTRIBUTE3) ) (assign (xyzw) (var_ref Data@116) (array_ref (var_ref t8) (constant int (0)) ) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t7) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t7) )) (expression float neg (swiz w (var_ref t7) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@117) (var_ref gl_Position) ) (assign (xyzw) (var_ref Data@118) (var_ref Data@116) ) (assign (xyzw) (var_ref Data@119) (var_ref Data@115) ) (assign (xyzw) (var_ref Data@120) (var_ref Data@114) ) (assign (xyzw) (var_ref Data@121) (var_ref Data) ) )) ) ) GLSL IR for linked fragment program 17: ( (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (uniform ) (array vec4 2) Material_VectorExpressionspb3) (declare (uniform ) (array vec4 5) MaterialCollection0_Vectorspb2) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) sampler2D ps0) (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (temporary ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (temporary ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (temporary ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (temporary ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (declare (temporary ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare (temporary ) vec3 normalize_retval) (declare () vec3 x) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (2)) (constant uint (704)) ) ) (assign (xyz) (var_ref x) (expression vec3 + (expression vec3 * (constant vec3 (0.000000 0.000000 1.000000)) (swiz www (var_ref cse) )) (swiz xyz (var_ref cse) )) ) (assign (xyz) (var_ref normalize_retval) (expression vec3 * (var_ref x) (expression float rsq (expression float dot (var_ref x) (var_ref x) ) ) ) ) (assign (w) (var_ref t1) (constant float (0.000000)) ) (declare () vec4 cse@122) (assign (xyzw) (var_ref cse@122) (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) ) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 * (expression vec3 + (expression vec3 * (expression vec3 + (swiz xyz (tex vec4 (var_ref ps0) (swiz xy (var_ref Data) ) 0 1 () ))(expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(swiz xxx (var_ref Data@123) )) ) (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (64)) ) )) (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) )(swiz xxx (var_ref cse@122) )) ) (swiz xxx (expression float + (constant float (1.000000)) (expression float neg (swiz y (var_ref cse@122) )) ) )) (swiz xyz (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) )) ) (declare () vec3 x@124) (assign (xyz) (var_ref x@124) (expression vec3 + (expression vec3 * (swiz xyz (var_ref Data@125) )(swiz zzz (var_ref normalize_retval) )) (expression vec3 + (expression vec3 * (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref Data@125) )(swiz zxy (var_ref Data@126) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref Data@125) )(swiz yzx (var_ref Data@126) )) ) ) (swiz www (var_ref Data@125) )) (swiz yyy (var_ref normalize_retval) )) (expression vec3 * (swiz xyz (var_ref Data@126) )(swiz xxx (var_ref normalize_retval) )) ) ) ) (assign (xyz) (var_ref t2) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref x@124) (expression float rsq (expression float dot (var_ref x@124) (var_ref x@124) ) ) ) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t2) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (expression float ubo_load (constant uint (3)) (constant uint (172)) ) ) (constant uint (2)) ) (expression uint f2u (expression float ubo_load (constant uint (3)) (constant uint (176)) ) ) ) ) (constant float (0.333333)) ) ) (assign (xyzw) (var_ref out_Target0) (var_ref t1) ) (assign (xyzw) (var_ref out_Target1) (var_ref t2) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target3) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target4) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0@127) (var_ref out_Target0) ) (assign (xyzw) (var_ref out_Target1@128) (var_ref out_Target1) ) (assign (xyzw) (var_ref out_Target2@129) (var_ref out_Target2) ) (assign (xyzw) (var_ref out_Target3@130) (var_ref out_Target3) ) (assign (xyzw) (var_ref out_Target4@131) (var_ref out_Target4) ) (assign (xyzw) (var_ref out_Target5@132) (var_ref out_Target5) ) )) ) ) GLSL source for vertex shader 18: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; uniform highp vec4 vu_h[4]; in highp vec4 in_ATTRIBUTE0; in highp vec3 in_ATTRIBUTE1; in highp vec4 in_ATTRIBUTE2; in highp vec2 in_ATTRIBUTE4; out TEXCOORD6 { vec4 Data; } out_TEXCOORD6; out TEXCOORD7 { vec4 Data; } out_TEXCOORD7; out TEXCOORD10 { vec4 Data; } out_TEXCOORD10; out TEXCOORD11 { vec4 Data; } out_TEXCOORD11; out TEXCOORD0 { vec4 Data; } out_TEXCOORD0; void main() { highp vec4 t0; highp vec3 t1; highp vec4 t2; t2.xyzw = ((in_ATTRIBUTE2*vec4(2.000000e+000,2.000000e+000,2.000000e+000,2.000000e+000))+vec4(-1.000000e+000,-1.000000e+000,-1.000000e+000,-1.000000e+000)); t1.xyz = (cross((cross(t2.xyz,((in_ATTRIBUTE1*vec3(2.000000e+000,2.000000e+000,2.000000e+000))+vec3(-1.000000e+000,-1.000000e+000,-1.000000e+000)))*t2.www),t2.xyz)*t2.www); highp mat3 t3; highp mat3 t4; t4[0].xyz = Primitive_LocalToWorld[0].xyz; t4[1].xyz = Primitive_LocalToWorld[1].xyz; t4[2].xyz = Primitive_LocalToWorld[2].xyz; t3 = t4; t3[0].xyz = (t4[0]*Primitive_InvNonUniformScale.xxx); t3[1].xyz = (t3[1]*Primitive_InvNonUniformScale.yyy); t3[2].xyz = (t3[2]*Primitive_InvNonUniformScale.zzz); highp vec4 t5; t5.w = 1.000000e+000; t5.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec2 t6[1]; t6[0].xy = vec2(0.000000e+000,0.000000e+000); t6[(1+(-1))].xy = in_ATTRIBUTE4; highp vec4 t7[1]; t7[0].xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); t7[(0/2)].xy = t6[0]; highp vec4 t8; t8.w = 0.000000e+000; t8.xyz = ((t1.zzz*t3[2])+((t1.yyy*t3[1])+(t1.xxx*t3[0]))); highp vec4 t9; t9.xyz = ((t2.zzz*t3[2])+((t2.yyy*t3[1])+(t2.xxx*t3[0]))); t9.w = (((in_ATTRIBUTE2.w*2.000000e+000)+-1.000000e+000)*Primitive_LocalToWorldDeterminantSign); highp vec4 t10; t10.xyzw = ((vu_h[3]*in_ATTRIBUTE0.wwww)+((vu_h[2]*in_ATTRIBUTE0.zzzz)+((vu_h[1]*in_ATTRIBUTE0.yyyy)+(vu_h[0]*in_ATTRIBUTE0.xxxx)))); highp vec4 t11; t11.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t5.zzzz)+((View_TranslatedWorldToClip[1]*t5.yyyy)+(View_TranslatedWorldToClip[0]*t5.xxxx)))); t0.xyzw = t11; out_TEXCOORD6.Data.xyzw = t11; out_TEXCOORD7.Data.xyzw = (View_PrevTranslatedWorldToClip[3]+((View_PrevTranslatedWorldToClip[2]*t10.zzzz)+((View_PrevTranslatedWorldToClip[1]*t10.yyyy)+(View_PrevTranslatedWorldToClip[0]*t10.xxxx)))); out_TEXCOORD10.Data.xyzw = t8; out_TEXCOORD11.Data.xyzw = t9; out_TEXCOORD0.Data.xyzw = t7[0]; t0.y = (-t11.y); t0.z = ((2.000000e+000*t11.z)+(-t11.w)); gl_Position.xyzw = t0; } GLSL IR for shader 18: ( (declare (shader_out ) TEXCOORD0 out_TEXCOORD0) (declare (shader_out ) TEXCOORD11 out_TEXCOORD11) (declare (shader_out ) TEXCOORD10 out_TEXCOORD10) (declare (shader_out ) TEXCOORD7 out_TEXCOORD7) (declare (shader_out ) TEXCOORD6 out_TEXCOORD6) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (uniform ) (array vec4 4) vu_h) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec2 in_ATTRIBUTE4) (function main (signature void (parameters ) ( (declare () vec4 t11) (declare () vec4 t10) (declare () vec4 t9) (declare () vec4 t8) (declare () (array vec4 1) t7) (declare () (array vec2 1) t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (var_ref t2) )(expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) )) (declare (temporary ) vec3 cross_retval@133) (call cross (var_ref cross_retval@133) ((expression vec3 * (var_ref cross_retval) (swiz www (var_ref t2) )) (swiz xyz (var_ref t2) ))) (assign (xyz) (var_ref t1) (expression vec3 * (var_ref cross_retval@133) (swiz www (var_ref t2) )) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )) (assign () (var_ref t3) (var_ref t4) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xy) (array_ref (var_ref t6) (constant int (0)) ) (constant vec2 (0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t6) (expression int + (constant int (1)) (expression int neg (constant int (1)) ) ) ) (var_ref in_ATTRIBUTE4) ) (assign (xyzw) (array_ref (var_ref t7) (constant int (0)) ) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xy) (array_ref (var_ref t7) (expression int / (constant int (0)) (constant int (2)) ) ) (array_ref (var_ref t6) (constant int (0)) ) ) (assign (w) (var_ref t8) (constant float (0.000000)) ) (assign (xyz) (var_ref t8) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t9) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t9) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (var_ref Primitive_LocalToWorldDeterminantSignvb1) ) ) (assign (xyzw) (var_ref t10) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (3)) ) (swiz wwww (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (2)) ) (swiz zzzz (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (1)) ) (swiz yyyy (var_ref in_ATTRIBUTE0) )) (expression vec4 * (array_ref (var_ref vu_h) (constant int (0)) ) (swiz xxxx (var_ref in_ATTRIBUTE0) )) ) ) ) ) (assign (xyzw) (var_ref t11) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t11) )) (assign (xyzw) (record_ref (var_ref out_TEXCOORD6) Data) (var_ref t11) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD7) Data) (expression vec4 + (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t10) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t10) )) (expression vec4 * (array_ref (var_ref View_PrevTranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t10) )) ) ) ) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD10) Data) (var_ref t8) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD11) Data) (var_ref t9) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD0) Data) (array_ref (var_ref t7) (constant int (0)) ) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t11) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t11) )) (expression float neg (swiz w (var_ref t11) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL source for fragment shader 19: #version 150 layout(std140) uniform pb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClippb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClippb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewpb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldpb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClippb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldpb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldpb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldpb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardpb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUppb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightpb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformpb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiaspb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiaspb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizepb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginpb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginpb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalepb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParameterpb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParameterpb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParameterpb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParameterpb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationpb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskpb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltapb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignpb0 float View_CullingSign; #define View_NearPlane View_NearPlanepb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorpb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimepb0 float View_GameTime; #define View_RealTime View_RealTimepb0 float View_RealTime; #define View_Random View_Randompb0 uint View_Random; #define View_FrameNumber View_FrameNumberpb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapspb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskpb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskpb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorpb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionpb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorpb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorpb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinpb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizepb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamspb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancepb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalepb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthpb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionpb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionpb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionpb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelpb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakpb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetpb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionpb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjpb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjpb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClippb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginpb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationpb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjpb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldpb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalepb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicpb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionpb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowerpb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowerpb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalepb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetpb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetpb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalepb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalepb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighpb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancepb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetpb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalepb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskpb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumpb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorpb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintpb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensitypb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizepb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParameterspb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxpb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorpb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMappb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; in TEXCOORD6 { vec4 Data; } in_TEXCOORD6; in TEXCOORD7 { vec4 Data; } in_TEXCOORD7; out highp vec4 out_Target0; void main() { highp vec4 t0; t0.xy = (((((in_TEXCOORD6.Data.xy/in_TEXCOORD6.Data.ww)+(-View_ViewToClip[2].xy))+(-((in_TEXCOORD7.Data.xy/in_TEXCOORD7.Data.ww)+(-View_PrevProjection[2].xy))))*vec2(2.495000e-001,2.495000e-001))+vec2(4.999924e-001,4.999924e-001)); t0.zw = vec2(0.000000e+000,0.000000e+000); out_Target0.xyzw = t0; } GLSL IR for shader 19: ( (declare (shader_in ) TEXCOORD7 in_TEXCOORD7) (declare (shader_in ) TEXCOORD6 in_TEXCOORD6) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMappb0) (declare (uniform ) vec4 View_SkyLightColorpb0) (declare (uniform ) vec4 View_SceneTextureMinMaxpb0) (declare (uniform ) float View_SkyLightParameterspb0) (declare (uniform ) vec2 View_RenderTargetSizepb0) (declare (uniform ) float View_AmbientCubemapIntensitypb0) (declare (uniform ) vec4 View_AmbientCubemapTintpb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorpb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumpb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskpb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetpb0) (declare (uniform ) float View_AtmosphericFogStartDistancepb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighpb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceScalepb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityScalepb0) (declare (uniform ) float View_AtmosphericFogPowerpb0) (declare (uniform ) float View_AtmosphericFogSunPowerpb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionpb0) (declare (uniform ) float View_HdrMosaicpb0) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_PrevInvViewProjpb0) (declare (uniform ) vec3 View_PrevPreViewTranslationpb0) (declare (uniform ) vec3 View_PrevViewOriginpb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClippb0) (declare (uniform ) mat4 View_PrevViewRotationProjpb0) (declare (uniform ) mat4 View_PrevViewProjpb0) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) float View_DemosaicVposOffsetpb0) (declare (uniform ) float View_GeneralPurposeTweakpb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelpb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalLengthpb0) (declare (uniform ) float View_DepthOfFieldScalepb0) (declare (uniform ) float View_DepthOfFieldFocalDistancepb0) (declare (uniform ) vec4 View_TemporalAAParamspb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizepb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinpb0) (declare (uniform ) vec4 View_LowerSkyColorpb0) (declare (uniform ) vec4 View_UpperSkyColorpb0) (declare (uniform ) vec3 View_DirectionalLightDirectionpb0) (declare (uniform ) vec4 View_DirectionalLightColorpb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskpb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) uint View_FrameNumberpb0) (declare (uniform ) uint View_Randompb0) (declare (uniform ) float View_RealTimepb0) (declare (uniform ) float View_GameTimepb0) (declare (uniform ) float View_AdaptiveTessellationFactorpb0) (declare (uniform ) float View_NearPlanepb0) (declare (uniform ) float View_CullingSignpb0) (declare (uniform ) vec3 View_ViewOriginDeltapb0) (declare (uniform ) float View_OutOfBoundsMaskpb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ExposureScalepb0) (declare (uniform ) vec4 View_TranslatedViewOriginpb0) (declare (uniform ) vec4 View_ViewOriginpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) vec3 View_ViewRightpb0) (declare (uniform ) vec3 View_ViewUppb0) (declare (uniform ) vec3 View_ViewForwardpb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_ScreenToWorldpb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldpb0) (declare (uniform ) mat4 View_TranslatedWorldToViewpb0) (declare (uniform ) mat4 View_WorldToClippb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_out ) vec4 out_Target0) (function main (signature void (parameters ) ( (declare () vec4 t0) (assign (xy) (var_ref t0) (expression vec2 + (expression vec2 * (expression vec2 + (expression vec2 + (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD6) Data) )(swiz ww (record_ref (var_ref in_TEXCOORD6) Data) )) (expression vec2 neg (swiz xy (array_ref (var_ref View_ViewToClippb0) (constant int (2)) ) )) ) (expression vec2 neg (expression vec2 + (expression vec2 / (swiz xy (record_ref (var_ref in_TEXCOORD7) Data) )(swiz ww (record_ref (var_ref in_TEXCOORD7) Data) )) (expression vec2 neg (swiz xy (array_ref (var_ref View_PrevProjectionpb0) (constant int (2)) ) )) ) ) ) (constant vec2 (0.249500 0.249500)) ) (constant vec2 (0.499992 0.499992)) ) ) (assign (zw) (var_ref t0) (constant vec2 (0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0) (var_ref t0) ) )) ) ) GLSL IR for linked vertex program 20: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (uniform ) (array vec4 4) vu_h) (declare (shader_in ) vec4 in_ATTRIBUTE0) (function main (signature void (parameters ) ( (declare () vec4 t11) (declare () vec4 t10) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t0) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (var_ref cse) )) (declare () vec4 cse@134) (assign (xyzw) (var_ref cse@134) (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (var_ref cse@134) )) (declare () vec4 cse@135) (assign (xyzw) (var_ref cse@135) (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (var_ref cse@135) )) (assign () (var_ref t3) (var_ref t4) ) (declare () vec4 cse@136) (assign (xyzw) (var_ref cse@136) (expression vec4 ubo_load (constant uint (0)) (constant uint (224)) ) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref cse@136) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref cse@136) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref cse@136) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (var_ref cse) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (var_ref cse@134) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (var_ref cse@135) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (1)) (constant uint (736)) ) ) ) ) (assign (xyzw) (var_ref t10) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (3)) ) (swiz wwww (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (2)) ) (swiz zzzz (var_ref in_ATTRIBUTE0) )) (expression vec4 + (expression vec4 * (array_ref (var_ref vu_h) (constant int (1)) ) (swiz yyyy (var_ref in_ATTRIBUTE0) )) (expression vec4 * (array_ref (var_ref vu_h) (constant int (0)) ) (swiz xxxx (var_ref in_ATTRIBUTE0) )) ) ) ) ) (assign (xyzw) (var_ref t11) (expression vec4 + (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t11) )) (assign (xyzw) (var_ref Data) (var_ref t11) ) (assign (xyzw) (var_ref Data@137) (expression vec4 + (expression vec4 ubo_load (constant uint (1)) (constant uint (1248)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (1232)) ) (swiz zzzz (var_ref t10) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (1216)) ) (swiz yyyy (var_ref t10) )) (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (1200)) ) (swiz xxxx (var_ref t10) )) ) ) ) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t11) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t11) )) (expression float neg (swiz w (var_ref t11) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@138) (var_ref gl_Position) ) (assign (xyzw) (var_ref Data@139) (var_ref Data@137) ) (assign (xyzw) (var_ref Data@140) (var_ref Data) ) )) ) ) GLSL IR for linked fragment program 20: ( (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (function main (signature void (parameters ) ( (declare () vec4 t0) (assign (xy) (var_ref t0) (expression vec2 + (expression vec2 * (expression vec2 + (expression vec2 + (expression vec2 * (swiz xy (var_ref Data) )(expression vec2 rcp (swiz ww (var_ref Data) )) ) (expression vec2 neg (swiz xy (expression vec4 ubo_load (constant uint (0)) (constant uint (288)) ) )) ) (expression vec2 neg (expression vec2 + (expression vec2 * (swiz xy (var_ref Data@141) )(expression vec2 rcp (swiz ww (var_ref Data@141) )) ) (expression vec2 neg (swiz xy (expression vec4 ubo_load (constant uint (0)) (constant uint (1040)) ) )) ) ) ) (constant vec2 (0.249500 0.249500)) ) (constant vec2 (0.499992 0.499992)) ) ) (assign (zw) (var_ref t0) (constant vec2 (0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0) (var_ref t0) ) (assign (xyzw) (var_ref out_Target0@142) (var_ref out_Target0) ) )) ) ) GLSL source for fragment shader 21: #version 150 layout(std140) uniform pb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClippb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClippb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewpb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldpb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClippb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldpb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldpb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldpb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardpb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUppb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightpb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformpb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiaspb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiaspb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizepb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginpb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginpb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalepb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParameterpb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParameterpb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParameterpb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParameterpb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationpb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskpb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltapb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignpb0 float View_CullingSign; #define View_NearPlane View_NearPlanepb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorpb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimepb0 float View_GameTime; #define View_RealTime View_RealTimepb0 float View_RealTime; #define View_Random View_Randompb0 uint View_Random; #define View_FrameNumber View_FrameNumberpb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapspb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskpb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskpb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorpb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionpb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorpb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorpb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinpb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizepb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamspb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancepb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalepb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthpb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionpb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionpb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionpb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelpb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakpb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetpb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionpb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjpb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjpb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClippb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginpb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationpb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjpb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldpb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalepb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicpb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionpb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowerpb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowerpb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalepb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetpb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetpb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalepb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalepb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighpb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancepb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetpb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalepb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskpb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumpb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorpb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintpb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensitypb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizepb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParameterspb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxpb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorpb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMappb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform pb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldpb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalpb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiuspb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundspb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignpb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionpb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskpb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationpb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationpb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalepb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalepb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinpb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxpb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultiplierpb1 float Primitive_LpvBiasMultiplier; }; layout(std140) uniform pb2 { #define MaterialCollection0_Vectors MaterialCollection0_Vectorspb2 vec4 MaterialCollection0_Vectors[5]; }; layout(std140) uniform pb3 { #define Material_VectorExpressions Material_VectorExpressionspb3 vec4 Material_VectorExpressions[1]; }; in TEXCOORD10 { vec4 Data; } in_TEXCOORD10; in TEXCOORD11 { vec4 Data; } in_TEXCOORD11; in COLOR0 { vec4 Data; } in_COLOR0; out highp vec4 out_Target0; out highp vec4 out_Target1; out highp vec4 out_Target2; out highp vec4 out_Target3; out highp vec4 out_Target4; out highp vec4 out_Target5; void main() { highp vec3 t0; t0.xyz = normalize(((vec3(0.000000e+000,0.000000e+000,1.000000e+000)*View_NormalOverrideParameter.www)+View_NormalOverrideParameter.xyz)); highp vec4 t1; t1.w = 0.000000e+000; t1.xyz = (((mix(MaterialCollection0_Vectors[2].xyz,MaterialCollection0_Vectors[3].xyz,in_COLOR0.Data.xxx)+(MaterialCollection0_Vectors[1].xyz*MaterialCollection0_Vectors[0].xxx))*vec3((1.000000e+000+(-MaterialCollection0_Vectors[0].y))))+Material_VectorExpressions[0].xyz); highp vec4 t2; t2.xyz = ((normalize(((in_TEXCOORD11.Data.xyz*t0.zzz)+(((cross(in_TEXCOORD11.Data.xyz,in_TEXCOORD10.Data.xyz)*in_TEXCOORD11.Data.www)*t0.yyy)+(in_TEXCOORD10.Data.xyz*t0.xxx))))*vec3(5.000000e-001,5.000000e-001,5.000000e-001))+vec3(5.000000e-001,5.000000e-001,5.000000e-001)); highp float t3; t3 = float(((uint(Primitive_DecalReceiverMask)*2u)+uint(Primitive_HasDistanceFieldRepresentation))); t2.w = (t3*3.333333e-001); out_Target0.xyzw = t1; out_Target1.xyzw = t2; out_Target2.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target3.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target4.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); out_Target5.xyzw = vec4(0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000); } GLSL IR for shader 21: ( (declare (shader_in ) COLOR0 in_COLOR0) (declare (shader_in ) TEXCOORD11 in_TEXCOORD11) (declare (shader_in ) TEXCOORD10 in_TEXCOORD10) (declare (uniform ) (array vec4 1) Material_VectorExpressionspb3) (declare (uniform ) (array vec4 5) MaterialCollection0_Vectorspb2) (declare (uniform ) float Primitive_LpvBiasMultiplierpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxpb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinpb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalepb1) (declare (uniform ) vec4 Primitive_NonUniformScalepb1) (declare (uniform ) vec4 Primitive_ObjectOrientationpb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionpb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignpb1) (declare (uniform ) vec3 Primitive_ObjectBoundspb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiuspb1) (declare (uniform ) mat4 Primitive_WorldToLocalpb1) (declare (uniform ) mat4 Primitive_LocalToWorldpb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMappb0) (declare (uniform ) vec4 View_SkyLightColorpb0) (declare (uniform ) vec4 View_SceneTextureMinMaxpb0) (declare (uniform ) float View_SkyLightParameterspb0) (declare (uniform ) vec2 View_RenderTargetSizepb0) (declare (uniform ) float View_AmbientCubemapIntensitypb0) (declare (uniform ) vec4 View_AmbientCubemapTintpb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorpb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumpb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskpb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetpb0) (declare (uniform ) float View_AtmosphericFogStartDistancepb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighpb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalepb0) (declare (uniform ) float View_AtmosphericFogDistanceScalepb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetpb0) (declare (uniform ) float View_AtmosphericFogDensityScalepb0) (declare (uniform ) float View_AtmosphericFogPowerpb0) (declare (uniform ) float View_AtmosphericFogSunPowerpb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionpb0) (declare (uniform ) float View_HdrMosaicpb0) (declare (uniform ) vec3 View_IndirectLightingColorScalepb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_PrevInvViewProjpb0) (declare (uniform ) vec3 View_PrevPreViewTranslationpb0) (declare (uniform ) vec3 View_PrevViewOriginpb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClippb0) (declare (uniform ) mat4 View_PrevViewRotationProjpb0) (declare (uniform ) mat4 View_PrevViewProjpb0) (declare (uniform ) mat4 View_PrevProjectionpb0) (declare (uniform ) float View_DemosaicVposOffsetpb0) (declare (uniform ) float View_GeneralPurposeTweakpb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelpb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalRegionpb0) (declare (uniform ) float View_DepthOfFieldFocalLengthpb0) (declare (uniform ) float View_DepthOfFieldScalepb0) (declare (uniform ) float View_DepthOfFieldFocalDistancepb0) (declare (uniform ) vec4 View_TemporalAAParamspb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizepb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinpb0) (declare (uniform ) vec4 View_LowerSkyColorpb0) (declare (uniform ) vec4 View_UpperSkyColorpb0) (declare (uniform ) vec3 View_DirectionalLightDirectionpb0) (declare (uniform ) vec4 View_DirectionalLightColorpb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskpb0) (declare (uniform ) float View_UnlitViewmodeMaskpb0) (declare (uniform ) float View_UseLightmapspb0) (declare (uniform ) uint View_FrameNumberpb0) (declare (uniform ) uint View_Randompb0) (declare (uniform ) float View_RealTimepb0) (declare (uniform ) float View_GameTimepb0) (declare (uniform ) float View_AdaptiveTessellationFactorpb0) (declare (uniform ) float View_NearPlanepb0) (declare (uniform ) float View_CullingSignpb0) (declare (uniform ) vec3 View_ViewOriginDeltapb0) (declare (uniform ) float View_OutOfBoundsMaskpb0) (declare (uniform ) vec3 View_PreViewTranslationpb0) (declare (uniform ) vec2 View_RoughnessOverrideParameterpb0) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (uniform ) vec4 View_SpecularOverrideParameterpb0) (declare (uniform ) vec4 View_DiffuseOverrideParameterpb0) (declare (uniform ) vec4 View_ExposureScalepb0) (declare (uniform ) vec4 View_TranslatedViewOriginpb0) (declare (uniform ) vec4 View_ViewOriginpb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizepb0) (declare (uniform ) vec4 View_ScreenTexelBiaspb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiaspb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformpb0) (declare (uniform ) vec3 View_ViewRightpb0) (declare (uniform ) vec3 View_ViewUppb0) (declare (uniform ) vec3 View_ViewForwardpb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldpb0) (declare (uniform ) mat4 View_ScreenToWorldpb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldpb0) (declare (uniform ) mat4 View_ViewToClippb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldpb0) (declare (uniform ) mat4 View_TranslatedWorldToViewpb0) (declare (uniform ) mat4 View_WorldToClippb0) (declare (uniform ) mat4 View_TranslatedWorldToClippb0) (declare (shader_out ) float gl_FragDepth) (declare (shader_out ) (array vec4 8) gl_FragData) (declare (shader_out ) vec4 gl_FragColor) (declare (shader_in flat) int gl_PrimitiveID) (declare (shader_in ) vec2 gl_PointCoord) (declare (shader_in ) bool gl_FrontFacing) (declare (shader_in ) vec4 gl_FragCoord) (declare (shader_in ) (array float 0) gl_ClipDistance) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_out ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare () vec3 t0) (declare (temporary ) vec3 normalize_retval) (call normalize (var_ref normalize_retval) ((expression vec3 + (expression vec3 * (constant vec3 (0.000000 0.000000 1.000000)) (swiz www (var_ref View_NormalOverrideParameterpb0) )) (swiz xyz (var_ref View_NormalOverrideParameterpb0) )) )) (assign (xyz) (var_ref t0) (var_ref normalize_retval) ) (assign (w) (var_ref t1) (constant float (0.000000)) ) (declare (temporary ) vec3 mix_retval) (call mix (var_ref mix_retval) ((swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (2)) ) )(swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (3)) ) )(swiz xxx (record_ref (var_ref in_COLOR0) Data) ))) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 * (expression vec3 + (var_ref mix_retval) (expression vec3 * (swiz xyz (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (1)) ) )(swiz xxx (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (0)) ) )) ) (swiz xxx (expression float + (constant float (1.000000)) (expression float neg (swiz y (array_ref (var_ref MaterialCollection0_Vectorspb2) (constant int (0)) ) )) ) )) (swiz xyz (array_ref (var_ref Material_VectorExpressionspb3) (constant int (0)) ) )) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) ))) (declare (temporary ) vec3 normalize_retval@143) (call normalize (var_ref normalize_retval@143) ((expression vec3 + (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD11) Data) )(swiz zzz (var_ref t0) )) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref cross_retval) (swiz www (record_ref (var_ref in_TEXCOORD11) Data) )) (swiz yyy (var_ref t0) )) (expression vec3 * (swiz xyz (record_ref (var_ref in_TEXCOORD10) Data) )(swiz xxx (var_ref t0) )) ) ) )) (assign (xyz) (var_ref t2) (expression vec3 + (expression vec3 * (var_ref normalize_retval@143) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t2) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (var_ref Primitive_DecalReceiverMaskpb1) ) (constant uint (2)) ) (expression uint f2u (var_ref Primitive_HasDistanceFieldRepresentationpb1) ) ) ) (constant float (0.333333)) ) ) (assign (xyzw) (var_ref out_Target0) (var_ref t1) ) (assign (xyzw) (var_ref out_Target1) (var_ref t2) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target3) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target4) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) )) ) (function normalize (signature vec3 (parameters (declare (in ) vec3 x) ) ( )) ) (function mix (signature vec3 (parameters (declare (in ) vec3 x) (declare (in ) vec3 y) (declare (in ) vec3 a) ) ( )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL source for vertex shader 22: #version 150 layout(std140) uniform vb0 { #define View_TranslatedWorldToClip View_TranslatedWorldToClipvb0 mat4 View_TranslatedWorldToClip; #define View_WorldToClip View_WorldToClipvb0 mat4 View_WorldToClip; #define View_TranslatedWorldToView View_TranslatedWorldToViewvb0 mat4 View_TranslatedWorldToView; #define View_ViewToTranslatedWorld View_ViewToTranslatedWorldvb0 mat4 View_ViewToTranslatedWorld; #define View_ViewToClip View_ViewToClipvb0 mat4 View_ViewToClip; #define View_ClipToTranslatedWorld View_ClipToTranslatedWorldvb0 mat4 View_ClipToTranslatedWorld; #define View_ScreenToWorld View_ScreenToWorldvb0 mat4 View_ScreenToWorld; #define View_ScreenToTranslatedWorld View_ScreenToTranslatedWorldvb0 mat4 View_ScreenToTranslatedWorld; #define View_ViewForward View_ViewForwardvb0 vec3 View_ViewForward; #define View_ViewUp View_ViewUpvb0 vec3 View_ViewUp; #define View_ViewRight View_ViewRightvb0 vec3 View_ViewRight; #define View_InvDeviceZToWorldZTransform View_InvDeviceZToWorldZTransformvb0 vec4 View_InvDeviceZToWorldZTransform; #define View_ScreenPositionScaleBias View_ScreenPositionScaleBiasvb0 vec4 View_ScreenPositionScaleBias; #define View_ScreenTexelBias View_ScreenTexelBiasvb0 vec4 View_ScreenTexelBias; #define View_ViewSizeAndSceneTexelSize View_ViewSizeAndSceneTexelSizevb0 vec4 View_ViewSizeAndSceneTexelSize; #define View_ViewOrigin View_ViewOriginvb0 vec4 View_ViewOrigin; #define View_TranslatedViewOrigin View_TranslatedViewOriginvb0 vec4 View_TranslatedViewOrigin; #define View_ExposureScale View_ExposureScalevb0 vec4 View_ExposureScale; #define View_DiffuseOverrideParameter View_DiffuseOverrideParametervb0 vec4 View_DiffuseOverrideParameter; #define View_SpecularOverrideParameter View_SpecularOverrideParametervb0 vec4 View_SpecularOverrideParameter; #define View_NormalOverrideParameter View_NormalOverrideParametervb0 vec4 View_NormalOverrideParameter; #define View_RoughnessOverrideParameter View_RoughnessOverrideParametervb0 vec2 View_RoughnessOverrideParameter; #define View_PreViewTranslation View_PreViewTranslationvb0 vec3 View_PreViewTranslation; #define View_OutOfBoundsMask View_OutOfBoundsMaskvb0 float View_OutOfBoundsMask; #define View_ViewOriginDelta View_ViewOriginDeltavb0 vec3 View_ViewOriginDelta; #define View_CullingSign View_CullingSignvb0 float View_CullingSign; #define View_NearPlane View_NearPlanevb0 float View_NearPlane; #define View_AdaptiveTessellationFactor View_AdaptiveTessellationFactorvb0 float View_AdaptiveTessellationFactor; #define View_GameTime View_GameTimevb0 float View_GameTime; #define View_RealTime View_RealTimevb0 float View_RealTime; #define View_Random View_Randomvb0 uint View_Random; #define View_FrameNumber View_FrameNumbervb0 uint View_FrameNumber; #define View_UseLightmaps View_UseLightmapsvb0 float View_UseLightmaps; #define View_UnlitViewmodeMask View_UnlitViewmodeMaskvb0 float View_UnlitViewmodeMask; #define View_ReflectionLightmapMixingMask View_ReflectionLightmapMixingMaskvb0 float View_ReflectionLightmapMixingMask; #define View_DirectionalLightColor View_DirectionalLightColorvb0 vec4 View_DirectionalLightColor; #define View_DirectionalLightDirection View_DirectionalLightDirectionvb0 vec3 View_DirectionalLightDirection; #define View_UpperSkyColor View_UpperSkyColorvb0 vec4 View_UpperSkyColor; #define View_LowerSkyColor View_LowerSkyColorvb0 vec4 View_LowerSkyColor; #define View_TranslucencyLightingVolumeMin View_TranslucencyLightingVolumeMinvb0 vec4 View_TranslucencyLightingVolumeMin[2]; #define View_TranslucencyLightingVolumeInvSize View_TranslucencyLightingVolumeInvSizevb0 vec4 View_TranslucencyLightingVolumeInvSize[2]; #define View_TemporalAAParams View_TemporalAAParamsvb0 vec4 View_TemporalAAParams; #define View_DepthOfFieldFocalDistance View_DepthOfFieldFocalDistancevb0 float View_DepthOfFieldFocalDistance; #define View_DepthOfFieldScale View_DepthOfFieldScalevb0 float View_DepthOfFieldScale; #define View_DepthOfFieldFocalLength View_DepthOfFieldFocalLengthvb0 float View_DepthOfFieldFocalLength; #define View_DepthOfFieldFocalRegion View_DepthOfFieldFocalRegionvb0 float View_DepthOfFieldFocalRegion; #define View_DepthOfFieldNearTransitionRegion View_DepthOfFieldNearTransitionRegionvb0 float View_DepthOfFieldNearTransitionRegion; #define View_DepthOfFieldFarTransitionRegion View_DepthOfFieldFarTransitionRegionvb0 float View_DepthOfFieldFarTransitionRegion; #define View_MotionBlurNormalizedToPixel View_MotionBlurNormalizedToPixelvb0 float View_MotionBlurNormalizedToPixel; #define View_GeneralPurposeTweak View_GeneralPurposeTweakvb0 float View_GeneralPurposeTweak; #define View_DemosaicVposOffset View_DemosaicVposOffsetvb0 float View_DemosaicVposOffset; #define View_PrevProjection View_PrevProjectionvb0 mat4 View_PrevProjection; #define View_PrevViewProj View_PrevViewProjvb0 mat4 View_PrevViewProj; #define View_PrevViewRotationProj View_PrevViewRotationProjvb0 mat4 View_PrevViewRotationProj; #define View_PrevTranslatedWorldToClip View_PrevTranslatedWorldToClipvb0 mat4 View_PrevTranslatedWorldToClip; #define View_PrevViewOrigin View_PrevViewOriginvb0 vec3 View_PrevViewOrigin; #define View_PrevPreViewTranslation View_PrevPreViewTranslationvb0 vec3 View_PrevPreViewTranslation; #define View_PrevInvViewProj View_PrevInvViewProjvb0 mat4 View_PrevInvViewProj; #define View_PrevScreenToTranslatedWorld View_PrevScreenToTranslatedWorldvb0 mat4 View_PrevScreenToTranslatedWorld; #define View_IndirectLightingColorScale View_IndirectLightingColorScalevb0 vec3 View_IndirectLightingColorScale; #define View_HdrMosaic View_HdrMosaicvb0 float View_HdrMosaic; #define View_AtmosphericFogSunDirection View_AtmosphericFogSunDirectionvb0 vec3 View_AtmosphericFogSunDirection; #define View_AtmosphericFogSunPower View_AtmosphericFogSunPowervb0 float View_AtmosphericFogSunPower; #define View_AtmosphericFogPower View_AtmosphericFogPowervb0 float View_AtmosphericFogPower; #define View_AtmosphericFogDensityScale View_AtmosphericFogDensityScalevb0 float View_AtmosphericFogDensityScale; #define View_AtmosphericFogDensityOffset View_AtmosphericFogDensityOffsetvb0 float View_AtmosphericFogDensityOffset; #define View_AtmosphericFogGroundOffset View_AtmosphericFogGroundOffsetvb0 float View_AtmosphericFogGroundOffset; #define View_AtmosphericFogDistanceScale View_AtmosphericFogDistanceScalevb0 float View_AtmosphericFogDistanceScale; #define View_AtmosphericFogAltitudeScale View_AtmosphericFogAltitudeScalevb0 float View_AtmosphericFogAltitudeScale; #define View_AtmosphericFogHeightScaleRayleigh View_AtmosphericFogHeightScaleRayleighvb0 float View_AtmosphericFogHeightScaleRayleigh; #define View_AtmosphericFogStartDistance View_AtmosphericFogStartDistancevb0 float View_AtmosphericFogStartDistance; #define View_AtmosphericFogDistanceOffset View_AtmosphericFogDistanceOffsetvb0 float View_AtmosphericFogDistanceOffset; #define View_AtmosphericFogSunDiscScale View_AtmosphericFogSunDiscScalevb0 float View_AtmosphericFogSunDiscScale; #define View_AtmosphericFogRenderMask View_AtmosphericFogRenderMaskvb0 uint View_AtmosphericFogRenderMask; #define View_AtmosphericFogInscatterAltitudeSampleNum View_AtmosphericFogInscatterAltitudeSampleNumvb0 uint View_AtmosphericFogInscatterAltitudeSampleNum; #define View_AtmosphericFogSunColor View_AtmosphericFogSunColorvb0 vec4 View_AtmosphericFogSunColor; #define View_AmbientCubemapTint View_AmbientCubemapTintvb0 vec4 View_AmbientCubemapTint; #define View_AmbientCubemapIntensity View_AmbientCubemapIntensityvb0 float View_AmbientCubemapIntensity; #define View_RenderTargetSize View_RenderTargetSizevb0 vec2 View_RenderTargetSize; #define View_SkyLightParameters View_SkyLightParametersvb0 float View_SkyLightParameters; #define View_SceneTextureMinMax View_SceneTextureMinMaxvb0 vec4 View_SceneTextureMinMax; #define View_SkyLightColor View_SkyLightColorvb0 vec4 View_SkyLightColor; #define View_SkyIrradianceEnvironmentMap View_SkyIrradianceEnvironmentMapvb0 vec4 View_SkyIrradianceEnvironmentMap[7]; }; layout(std140) uniform vb1 { #define Primitive_LocalToWorld Primitive_LocalToWorldvb1 mat4 Primitive_LocalToWorld; #define Primitive_WorldToLocal Primitive_WorldToLocalvb1 mat4 Primitive_WorldToLocal; #define Primitive_ObjectWorldPositionAndRadius Primitive_ObjectWorldPositionAndRadiusvb1 vec4 Primitive_ObjectWorldPositionAndRadius; #define Primitive_ObjectBounds Primitive_ObjectBoundsvb1 vec3 Primitive_ObjectBounds; #define Primitive_LocalToWorldDeterminantSign Primitive_LocalToWorldDeterminantSignvb1 float Primitive_LocalToWorldDeterminantSign; #define Primitive_ActorWorldPosition Primitive_ActorWorldPositionvb1 vec3 Primitive_ActorWorldPosition; #define Primitive_DecalReceiverMask Primitive_DecalReceiverMaskvb1 float Primitive_DecalReceiverMask; #define Primitive_HasDistanceFieldRepresentation Primitive_HasDistanceFieldRepresentationvb1 float Primitive_HasDistanceFieldRepresentation; #define Primitive_ObjectOrientation Primitive_ObjectOrientationvb1 vec4 Primitive_ObjectOrientation; #define Primitive_NonUniformScale Primitive_NonUniformScalevb1 vec4 Primitive_NonUniformScale; #define Primitive_InvNonUniformScale Primitive_InvNonUniformScalevb1 vec4 Primitive_InvNonUniformScale; #define Primitive_LocalObjectBoundsMin Primitive_LocalObjectBoundsMinvb1 vec3 Primitive_LocalObjectBoundsMin; #define Primitive_LocalObjectBoundsMax Primitive_LocalObjectBoundsMaxvb1 vec3 Primitive_LocalObjectBoundsMax; #define Primitive_LpvBiasMultiplier Primitive_LpvBiasMultipliervb1 float Primitive_LpvBiasMultiplier; }; in highp vec4 in_ATTRIBUTE0; in highp vec3 in_ATTRIBUTE1; in highp vec4 in_ATTRIBUTE2; in highp vec4 in_ATTRIBUTE3; out TEXCOORD10 { vec4 Data; } out_TEXCOORD10; out TEXCOORD11 { vec4 Data; } out_TEXCOORD11; out COLOR0 { vec4 Data; } out_COLOR0; out TEXCOORD7 { vec4 Data; } out_TEXCOORD7; void main() { highp vec4 t0; highp vec3 t1; highp vec4 t2; t2.xyzw = ((in_ATTRIBUTE2*vec4(2.000000e+000,2.000000e+000,2.000000e+000,2.000000e+000))+vec4(-1.000000e+000,-1.000000e+000,-1.000000e+000,-1.000000e+000)); t1.xyz = (cross((cross(t2.xyz,((in_ATTRIBUTE1*vec3(2.000000e+000,2.000000e+000,2.000000e+000))+vec3(-1.000000e+000,-1.000000e+000,-1.000000e+000)))*t2.www),t2.xyz)*t2.www); highp mat3 t3; highp mat3 t4; t4[0].xyz = Primitive_LocalToWorld[0].xyz; t4[1].xyz = Primitive_LocalToWorld[1].xyz; t4[2].xyz = Primitive_LocalToWorld[2].xyz; t3 = t4; t3[0].xyz = (t4[0]*Primitive_InvNonUniformScale.xxx); t3[1].xyz = (t3[1]*Primitive_InvNonUniformScale.yyy); t3[2].xyz = (t3[2]*Primitive_InvNonUniformScale.zzz); highp vec4 t5; t5.w = 1.000000e+000; t5.xyz = ((((Primitive_LocalToWorld[0].xyz*in_ATTRIBUTE0.xxx)+(Primitive_LocalToWorld[1].xyz*in_ATTRIBUTE0.yyy))+(Primitive_LocalToWorld[2].xyz*in_ATTRIBUTE0.zzz))+(Primitive_LocalToWorld[3].xyz+View_PreViewTranslation)); highp vec4 t6; t6.xyzw = (View_TranslatedWorldToClip[3]+((View_TranslatedWorldToClip[2]*t5.zzzz)+((View_TranslatedWorldToClip[1]*t5.yyyy)+(View_TranslatedWorldToClip[0]*t5.xxxx)))); highp vec4 t7; t7.w = 0.000000e+000; t7.xyz = ((t1.zzz*t3[2])+((t1.yyy*t3[1])+(t1.xxx*t3[0]))); highp vec4 t8; t8.xyz = ((t2.zzz*t3[2])+((t2.yyy*t3[1])+(t2.xxx*t3[0]))); t8.w = (((in_ATTRIBUTE2.w*2.000000e+000)+-1.000000e+000)*Primitive_LocalToWorldDeterminantSign); t0.xyzw = t6; out_TEXCOORD10.Data.xyzw = t7; out_TEXCOORD11.Data.xyzw = t8; out_COLOR0.Data.xyzw = in_ATTRIBUTE3; out_TEXCOORD7.Data.xyzw = t5; t0.y = (-t6.y); t0.z = ((2.000000e+000*t6.z)+(-t6.w)); gl_Position.xyzw = t0; } GLSL IR for shader 22: ( (declare (shader_out ) TEXCOORD7 out_TEXCOORD7) (declare (shader_out ) COLOR0 out_COLOR0) (declare (shader_out ) TEXCOORD11 out_TEXCOORD11) (declare (shader_out ) TEXCOORD10 out_TEXCOORD10) (declare (uniform ) float Primitive_LpvBiasMultipliervb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMaxvb1) (declare (uniform ) vec3 Primitive_LocalObjectBoundsMinvb1) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) vec4 Primitive_NonUniformScalevb1) (declare (uniform ) vec4 Primitive_ObjectOrientationvb1) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationvb1) (declare (uniform ) float Primitive_DecalReceiverMaskvb1) (declare (uniform ) vec3 Primitive_ActorWorldPositionvb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) vec3 Primitive_ObjectBoundsvb1) (declare (uniform ) vec4 Primitive_ObjectWorldPositionAndRadiusvb1) (declare (uniform ) mat4 Primitive_WorldToLocalvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) (array vec4 7) View_SkyIrradianceEnvironmentMapvb0) (declare (uniform ) vec4 View_SkyLightColorvb0) (declare (uniform ) vec4 View_SceneTextureMinMaxvb0) (declare (uniform ) float View_SkyLightParametersvb0) (declare (uniform ) vec2 View_RenderTargetSizevb0) (declare (uniform ) float View_AmbientCubemapIntensityvb0) (declare (uniform ) vec4 View_AmbientCubemapTintvb0) (declare (uniform ) vec4 View_AtmosphericFogSunColorvb0) (declare (uniform ) uint View_AtmosphericFogInscatterAltitudeSampleNumvb0) (declare (uniform ) uint View_AtmosphericFogRenderMaskvb0) (declare (uniform ) float View_AtmosphericFogSunDiscScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceOffsetvb0) (declare (uniform ) float View_AtmosphericFogStartDistancevb0) (declare (uniform ) float View_AtmosphericFogHeightScaleRayleighvb0) (declare (uniform ) float View_AtmosphericFogAltitudeScalevb0) (declare (uniform ) float View_AtmosphericFogDistanceScalevb0) (declare (uniform ) float View_AtmosphericFogGroundOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityOffsetvb0) (declare (uniform ) float View_AtmosphericFogDensityScalevb0) (declare (uniform ) float View_AtmosphericFogPowervb0) (declare (uniform ) float View_AtmosphericFogSunPowervb0) (declare (uniform ) vec3 View_AtmosphericFogSunDirectionvb0) (declare (uniform ) float View_HdrMosaicvb0) (declare (uniform ) vec3 View_IndirectLightingColorScalevb0) (declare (uniform ) mat4 View_PrevScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_PrevInvViewProjvb0) (declare (uniform ) vec3 View_PrevPreViewTranslationvb0) (declare (uniform ) vec3 View_PrevViewOriginvb0) (declare (uniform ) mat4 View_PrevTranslatedWorldToClipvb0) (declare (uniform ) mat4 View_PrevViewRotationProjvb0) (declare (uniform ) mat4 View_PrevViewProjvb0) (declare (uniform ) mat4 View_PrevProjectionvb0) (declare (uniform ) float View_DemosaicVposOffsetvb0) (declare (uniform ) float View_GeneralPurposeTweakvb0) (declare (uniform ) float View_MotionBlurNormalizedToPixelvb0) (declare (uniform ) float View_DepthOfFieldFarTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldNearTransitionRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalRegionvb0) (declare (uniform ) float View_DepthOfFieldFocalLengthvb0) (declare (uniform ) float View_DepthOfFieldScalevb0) (declare (uniform ) float View_DepthOfFieldFocalDistancevb0) (declare (uniform ) vec4 View_TemporalAAParamsvb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeInvSizevb0) (declare (uniform ) (array vec4 2) View_TranslucencyLightingVolumeMinvb0) (declare (uniform ) vec4 View_LowerSkyColorvb0) (declare (uniform ) vec4 View_UpperSkyColorvb0) (declare (uniform ) vec3 View_DirectionalLightDirectionvb0) (declare (uniform ) vec4 View_DirectionalLightColorvb0) (declare (uniform ) float View_ReflectionLightmapMixingMaskvb0) (declare (uniform ) float View_UnlitViewmodeMaskvb0) (declare (uniform ) float View_UseLightmapsvb0) (declare (uniform ) uint View_FrameNumbervb0) (declare (uniform ) uint View_Randomvb0) (declare (uniform ) float View_RealTimevb0) (declare (uniform ) float View_GameTimevb0) (declare (uniform ) float View_AdaptiveTessellationFactorvb0) (declare (uniform ) float View_NearPlanevb0) (declare (uniform ) float View_CullingSignvb0) (declare (uniform ) vec3 View_ViewOriginDeltavb0) (declare (uniform ) float View_OutOfBoundsMaskvb0) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) vec2 View_RoughnessOverrideParametervb0) (declare (uniform ) vec4 View_NormalOverrideParametervb0) (declare (uniform ) vec4 View_SpecularOverrideParametervb0) (declare (uniform ) vec4 View_DiffuseOverrideParametervb0) (declare (uniform ) vec4 View_ExposureScalevb0) (declare (uniform ) vec4 View_TranslatedViewOriginvb0) (declare (uniform ) vec4 View_ViewOriginvb0) (declare (uniform ) vec4 View_ViewSizeAndSceneTexelSizevb0) (declare (uniform ) vec4 View_ScreenTexelBiasvb0) (declare (uniform ) vec4 View_ScreenPositionScaleBiasvb0) (declare (uniform ) vec4 View_InvDeviceZToWorldZTransformvb0) (declare (uniform ) vec3 View_ViewRightvb0) (declare (uniform ) vec3 View_ViewUpvb0) (declare (uniform ) vec3 View_ViewForwardvb0) (declare (uniform ) mat4 View_ScreenToTranslatedWorldvb0) (declare (uniform ) mat4 View_ScreenToWorldvb0) (declare (uniform ) mat4 View_ClipToTranslatedWorldvb0) (declare (uniform ) mat4 View_ViewToClipvb0) (declare (uniform ) mat4 View_ViewToTranslatedWorldvb0) (declare (uniform ) mat4 View_TranslatedWorldToViewvb0) (declare (uniform ) mat4 View_WorldToClipvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (sys ) int gl_InstanceID) (declare (sys ) int gl_VertexID) (declare (shader_out ) (array float 0) gl_ClipDistance) (declare (shader_out ) float gl_PointSize) (declare (shader_out ) vec4 gl_Position) (declare (uniform ) (array vec4 56) gl_CurrentAttribFragMESA) (declare (uniform ) (array vec4 33) gl_CurrentAttribVertMESA) (declare (uniform ) gl_DepthRangeParameters gl_DepthRange) (declare (uniform ) int gl_NumSamples) (declare () int gl_MaxGeometryVaryingComponents) (declare () int gl_MaxGeometryUniformComponents) (declare () int gl_MaxGeometryTotalOutputComponents) (declare () int gl_MaxGeometryOutputVertices) (declare () int gl_MaxGeometryTextureImageUnits) (declare () int gl_MaxFragmentInputComponents) (declare () int gl_MaxGeometryOutputComponents) (declare () int gl_MaxGeometryInputComponents) (declare () int gl_MaxVertexOutputComponents) (declare () int gl_MaxVaryingComponents) (declare () int gl_MaxClipDistances) (declare () int gl_MaxFragmentUniformComponents) (declare () int gl_MaxVaryingFloats) (declare () int gl_MaxVertexUniformComponents) (declare () int gl_MaxDrawBuffers) (declare () int gl_MaxTextureImageUnits) (declare () int gl_MaxCombinedTextureImageUnits) (declare () int gl_MaxVertexTextureImageUnits) (declare () int gl_MaxVertexAttribs) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec4 in_ATTRIBUTE3) (function main (signature void (parameters ) ( (declare () vec4 t8) (declare () vec4 t7) (declare () vec4 t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare (temporary ) vec3 cross_retval) (call cross (var_ref cross_retval) ((swiz xyz (var_ref t2) )(expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) )) (declare (temporary ) vec3 cross_retval@144) (call cross (var_ref cross_retval@144) ((expression vec3 * (var_ref cross_retval) (swiz www (var_ref t2) )) (swiz xyz (var_ref t2) ))) (assign (xyz) (var_ref t1) (expression vec3 * (var_ref cross_retval@144) (swiz www (var_ref t2) )) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )) (assign () (var_ref t3) (var_ref t4) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref Primitive_InvNonUniformScalevb1) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (0)) ) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (1)) ) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (2)) ) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (array_ref (var_ref Primitive_LocalToWorldvb1) (constant int (3)) ) )(var_ref View_PreViewTranslationvb0) ) ) ) (assign (xyzw) (var_ref t6) (expression vec4 + (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (3)) ) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (2)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (1)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (array_ref (var_ref View_TranslatedWorldToClipvb0) (constant int (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (w) (var_ref t7) (constant float (0.000000)) ) (assign (xyz) (var_ref t7) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t8) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t8) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (var_ref Primitive_LocalToWorldDeterminantSignvb1) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t6) )) (assign (xyzw) (record_ref (var_ref out_TEXCOORD10) Data) (var_ref t7) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD11) Data) (var_ref t8) ) (assign (xyzw) (record_ref (var_ref out_COLOR0) Data) (var_ref in_ATTRIBUTE3) ) (assign (xyzw) (record_ref (var_ref out_TEXCOORD7) Data) (var_ref t5) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t6) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t6) )) (expression float neg (swiz w (var_ref t6) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) )) ) (function cross (signature vec3 (parameters (declare (in ) vec3 a) (declare (in ) vec3 b) ) ( )) ) ) GLSL IR for linked vertex program 23: ( (declare (shader_out ) vec4 gl_Position) (declare (temporary ) vec4 gl_Position) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (shader_out ) vec4 Data) (declare (temporary ) vec4 Data) (declare (uniform ) vec4 Primitive_InvNonUniformScalevb1) (declare (uniform ) float Primitive_LocalToWorldDeterminantSignvb1) (declare (uniform ) mat4 Primitive_LocalToWorldvb1) (declare (uniform ) vec3 View_PreViewTranslationvb0) (declare (uniform ) mat4 View_TranslatedWorldToClipvb0) (declare (shader_in ) vec4 in_ATTRIBUTE0) (declare (shader_in ) vec3 in_ATTRIBUTE1) (declare (shader_in ) vec4 in_ATTRIBUTE2) (declare (shader_in ) vec4 in_ATTRIBUTE3) (function main (signature void (parameters ) ( (declare () vec4 t8) (declare () vec4 t7) (declare () vec4 t6) (declare () vec4 t5) (declare () mat3 t4) (declare () mat3 t3) (declare () vec4 t2) (declare () vec3 t1) (declare () vec4 t0) (assign (xyzw) (var_ref t2) (expression vec4 + (expression vec4 * (var_ref in_ATTRIBUTE2) (constant vec4 (2.000000 2.000000 2.000000 2.000000)) ) (constant vec4 (-1.000000 -1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 b) (assign (xyz) (var_ref b) (expression vec3 + (expression vec3 * (var_ref in_ATTRIBUTE1) (constant vec3 (2.000000 2.000000 2.000000)) ) (constant vec3 (-1.000000 -1.000000 -1.000000)) ) ) (declare () vec3 a) (assign (xyz) (var_ref a) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref t2) )(swiz zxy (var_ref b) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref t2) )(swiz yzx (var_ref b) )) ) ) (swiz www (var_ref t2) )) ) (assign (xyz) (var_ref t1) (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref a) )(swiz zxy (var_ref t2) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref a) )(swiz yzx (var_ref t2) )) ) ) (swiz www (var_ref t2) )) ) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (0)) ) (swiz xyz (var_ref cse) )) (declare () vec4 cse@145) (assign (xyzw) (var_ref cse@145) (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (1)) ) (swiz xyz (var_ref cse@145) )) (declare () vec4 cse@146) (assign (xyzw) (var_ref cse@146) (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) ) (assign (xyz) (array_ref (var_ref t4) (constant int (2)) ) (swiz xyz (var_ref cse@146) )) (assign () (var_ref t3) (var_ref t4) ) (declare () vec4 cse@147) (assign (xyzw) (var_ref cse@147) (expression vec4 ubo_load (constant uint (0)) (constant uint (224)) ) ) (assign (xyz) (array_ref (var_ref t3) (constant int (0)) ) (expression vec3 * (array_ref (var_ref t4) (constant int (0)) ) (swiz xxx (var_ref cse@147) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (1)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (1)) ) (swiz yyy (var_ref cse@147) )) ) (assign (xyz) (array_ref (var_ref t3) (constant int (2)) ) (expression vec3 * (array_ref (var_ref t3) (constant int (2)) ) (swiz zzz (var_ref cse@147) )) ) (assign (w) (var_ref t5) (constant float (1.000000)) ) (assign (xyz) (var_ref t5) (expression vec3 + (expression vec3 + (expression vec3 + (expression vec3 * (swiz xyz (var_ref cse) )(swiz xxx (var_ref in_ATTRIBUTE0) )) (expression vec3 * (swiz xyz (var_ref cse@145) )(swiz yyy (var_ref in_ATTRIBUTE0) )) ) (expression vec3 * (swiz xyz (var_ref cse@146) )(swiz zzz (var_ref in_ATTRIBUTE0) )) ) (expression vec3 + (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(expression vec3 ubo_load (constant uint (1)) (constant uint (736)) ) ) ) ) (assign (xyzw) (var_ref t6) (expression vec4 + (expression vec4 ubo_load (constant uint (1)) (constant uint (48)) ) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (32)) ) (swiz zzzz (var_ref t5) )) (expression vec4 + (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (16)) ) (swiz yyyy (var_ref t5) )) (expression vec4 * (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) (swiz xxxx (var_ref t5) )) ) ) ) ) (assign (w) (var_ref t7) (constant float (0.000000)) ) (assign (xyz) (var_ref t7) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t1) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t1) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t1) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (xyz) (var_ref t8) (expression vec3 + (expression vec3 * (swiz zzz (var_ref t2) )(array_ref (var_ref t3) (constant int (2)) ) ) (expression vec3 + (expression vec3 * (swiz yyy (var_ref t2) )(array_ref (var_ref t3) (constant int (1)) ) ) (expression vec3 * (swiz xxx (var_ref t2) )(array_ref (var_ref t3) (constant int (0)) ) ) ) ) ) (assign (w) (var_ref t8) (expression float * (expression float + (expression float * (swiz w (var_ref in_ATTRIBUTE2) )(constant float (2.000000)) ) (constant float (-1.000000)) ) (expression float ubo_load (constant uint (0)) (constant uint (156)) ) ) ) (assign (xw) (var_ref t0) (swiz xw (var_ref t6) )) (assign (xyzw) (var_ref Data) (var_ref t7) ) (assign (xyzw) (var_ref Data@148) (var_ref t8) ) (assign (xyzw) (var_ref Data@149) (var_ref in_ATTRIBUTE3) ) (assign (y) (var_ref t0) (expression float neg (swiz y (var_ref t6) )) ) (assign (z) (var_ref t0) (expression float + (expression float * (constant float (2.000000)) (swiz z (var_ref t6) )) (expression float neg (swiz w (var_ref t6) )) ) ) (assign (xyzw) (var_ref gl_Position) (var_ref t0) ) (assign (xyzw) (var_ref gl_Position@150) (var_ref gl_Position) ) (assign (xyzw) (var_ref Data@151) (var_ref Data@149) ) (assign (xyzw) (var_ref Data@152) (var_ref Data@148) ) (assign (xyzw) (var_ref Data@153) (var_ref Data) ) )) ) ) GLSL IR for linked fragment program 23: ( (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (shader_in ) vec4 Data) (declare (uniform ) (array vec4 1) Material_VectorExpressionspb3) (declare (uniform ) (array vec4 5) MaterialCollection0_Vectorspb2) (declare (uniform ) float Primitive_HasDistanceFieldRepresentationpb1) (declare (uniform ) float Primitive_DecalReceiverMaskpb1) (declare (uniform ) vec4 View_NormalOverrideParameterpb0) (declare (shader_out ) vec4 out_Target0) (declare (temporary ) vec4 out_Target0) (declare (shader_out ) vec4 out_Target1) (declare (temporary ) vec4 out_Target1) (declare (shader_out ) vec4 out_Target2) (declare (temporary ) vec4 out_Target2) (declare (shader_out ) vec4 out_Target3) (declare (temporary ) vec4 out_Target3) (declare (shader_out ) vec4 out_Target4) (declare (temporary ) vec4 out_Target4) (declare (shader_out ) vec4 out_Target5) (declare (temporary ) vec4 out_Target5) (function main (signature void (parameters ) ( (declare () vec4 t2) (declare () vec4 t1) (declare (temporary ) vec3 normalize_retval) (declare () vec3 x) (declare () vec4 cse) (assign (xyzw) (var_ref cse) (expression vec4 ubo_load (constant uint (2)) (constant uint (704)) ) ) (assign (xyz) (var_ref x) (expression vec3 + (expression vec3 * (constant vec3 (0.000000 0.000000 1.000000)) (swiz www (var_ref cse) )) (swiz xyz (var_ref cse) )) ) (assign (xyz) (var_ref normalize_retval) (expression vec3 * (var_ref x) (expression float rsq (expression float dot (var_ref x) (var_ref x) ) ) ) ) (assign (w) (var_ref t1) (constant float (0.000000)) ) (declare () vec4 cse@154) (assign (xyzw) (var_ref cse@154) (expression vec4 ubo_load (constant uint (0)) (constant uint (0)) ) ) (assign (xyz) (var_ref t1) (expression vec3 + (expression vec3 * (expression vec3 + (expression vec3 lrp (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (32)) ) )(swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (48)) ) )(swiz xxx (var_ref Data) )) (expression vec3 * (swiz xyz (expression vec4 ubo_load (constant uint (0)) (constant uint (16)) ) )(swiz xxx (var_ref cse@154) )) ) (swiz xxx (expression float + (constant float (1.000000)) (expression float neg (swiz y (var_ref cse@154) )) ) )) (swiz xyz (expression vec4 ubo_load (constant uint (1)) (constant uint (0)) ) )) ) (declare () vec3 x@155) (assign (xyz) (var_ref x@155) (expression vec3 + (expression vec3 * (swiz xyz (var_ref Data@156) )(swiz zzz (var_ref normalize_retval) )) (expression vec3 + (expression vec3 * (expression vec3 * (expression vec3 + (expression vec3 * (swiz yzx (var_ref Data@156) )(swiz zxy (var_ref Data@157) )) (expression vec3 neg (expression vec3 * (swiz zxy (var_ref Data@156) )(swiz yzx (var_ref Data@157) )) ) ) (swiz www (var_ref Data@156) )) (swiz yyy (var_ref normalize_retval) )) (expression vec3 * (swiz xyz (var_ref Data@157) )(swiz xxx (var_ref normalize_retval) )) ) ) ) (assign (xyz) (var_ref t2) (expression vec3 + (expression vec3 * (expression vec3 * (var_ref x@155) (expression float rsq (expression float dot (var_ref x@155) (var_ref x@155) ) ) ) (constant vec3 (0.500000 0.500000 0.500000)) ) (constant vec3 (0.500000 0.500000 0.500000)) ) ) (assign (w) (var_ref t2) (expression float * (expression float u2f (expression uint + (expression uint * (expression uint f2u (expression float ubo_load (constant uint (3)) (constant uint (172)) ) ) (constant uint (2)) ) (expression uint f2u (expression float ubo_load (constant uint (3)) (constant uint (176)) ) ) ) ) (constant float (0.333333)) ) ) (assign (xyzw) (var_ref out_Target0) (var_ref t1) ) (assign (xyzw) (var_ref out_Target1) (var_ref t2) ) (assign (xyzw) (var_ref out_Target2) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target3) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target4) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target5) (constant vec4 (0.000000 0.000000 0.000000 0.000000)) ) (assign (xyzw) (var_ref out_Target0@158) (var_ref out_Target0) ) (assign (xyzw) (var_ref out_Target1@159) (var_ref out_Target1) ) (assign (xyzw) (var_ref out_Target2@160) (var_ref out_Target2) ) (assign (xyzw) (var_ref out_Target3@161) (var_ref out_Target3) ) (assign (xyzw) (var_ref out_Target4@162) (var_ref out_Target4) ) (assign (xyzw) (var_ref out_Target5@163) (var_ref out_Target5) ) )) ) ) FRAG DCL IN[0], GENERIC[20], PERSPECTIVE DCL IN[1], GENERIC[21], PERSPECTIVE DCL IN[2], GENERIC[22], PERSPECTIVE DCL OUT[0], COLOR DCL OUT[1], COLOR[1] DCL OUT[2], COLOR[2] DCL OUT[3], COLOR[3] DCL OUT[4], COLOR[4] DCL OUT[5], COLOR[5] DCL CONST[1][0..16] DCL CONST[2][0..106] DCL CONST[3][0..4] DCL CONST[4][0] DCL TEMP[0..3], LOCAL IMM[0] UINT32 {2, 704, 0, 16} IMM[1] FLT32 { 0.0000, 1.0000, 0.5000, 0.3333} IMM[2] UINT32 {32, 48, 1, 3} IMM[3] UINT32 {172, 176, 0, 0} 0: MAD TEMP[0].xyz, IMM[1].xxyy, CONST[3][44].wwww, CONST[3][44].xyzz 1: DP3 TEMP[1].x, TEMP[0].xyzz, TEMP[0].xyzz 2: RSQ TEMP[1].x, TEMP[1].xxxx 3: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[1].xxxx 4: MOV TEMP[1].w, IMM[1].xxxx 5: LRP TEMP[2].xyz, IN[2].xxxx, CONST[1][3].xyzz, CONST[1][2].xyzz 6: MAD TEMP[2].xyz, CONST[1][1].xyzz, CONST[1][0].xxxx, TEMP[2].xyzz 7: ADD TEMP[3].x, IMM[1].yyyy, -CONST[1][0].yyyy 8: MAD TEMP[1].xyz, TEMP[2].xyzz, TEMP[3].xxxx, CONST[2][0].xyzz 9: MUL TEMP[2].xyz, IN[1].zxyy, IN[0].yzxx 10: MAD TEMP[2].xyz, IN[1].yzxx, IN[0].zxyy, -TEMP[2].xyzz 11: MUL TEMP[2].xyz, TEMP[2].xyzz, IN[1].wwww 12: MUL TEMP[2].xyz, TEMP[2].xyzz, TEMP[0].yyyy 13: MAD TEMP[2].xyz, IN[0].xyzz, TEMP[0].xxxx, TEMP[2].xyzz 14: MAD TEMP[0].xyz, IN[1].xyzz, TEMP[0].zzzz, TEMP[2].xyzz 15: DP3 TEMP[2].x, TEMP[0].xyzz, TEMP[0].xyzz 16: RSQ TEMP[2].x, TEMP[2].xxxx 17: MUL TEMP[0].xyz, TEMP[0].xyzz, TEMP[2].xxxx 18: MAD TEMP[0].xyz, TEMP[0].xyzz, IMM[1].zzzz, IMM[1].zzzz 19: F2U TEMP[2].x, CONST[4][10].wwww 20: F2U TEMP[3].x, CONST[4][11].xxxx 21: UMAD TEMP[2].x, TEMP[2].xxxx, IMM[0].xxxx, TEMP[3].xxxx 22: U2F TEMP[2].x, TEMP[2].xxxx 23: MUL TEMP[2].x, TEMP[2].xxxx, IMM[1].wwww 24: MOV TEMP[0].w, TEMP[2].xxxx 25: MOV OUT[0], TEMP[1] 26: MOV OUT[1], TEMP[0] 27: MOV OUT[2], IMM[1].xxxx 28: MOV OUT[3], IMM[1].xxxx 29: MOV OUT[4], IMM[1].xxxx 30: MOV OUT[5], IMM[1].xxxx 31: END TappyChicken: /home/daenzer/src/llvm-git/llvm/lib/IR/Instructions.cpp:2377: static llvm::CastInst *llvm::CastInst::Create(Instruction::CastOps, llvm::Value *, llvm::Type *, const llvm::Twine &, llvm::Instruction *): Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.