Skip to content

Instantly share code, notes, and snippets.

@Themaister
Created September 12, 2019 09:02
Show Gist options
  • Save Themaister/7c5b011cde3c7585459b089f80f897e2 to your computer and use it in GitHub Desktop.
Save Themaister/7c5b011cde3c7585459b089f80f897e2 to your computer and use it in GitHub Desktop.
Divergent LOD test
SIMD8 shader: 26 instructions. 0 loops. 572 cycles. 0:0 spills:fills. scheduled with mode top-down. Promoted 0 constants. Compacted 416 to 336 bytes (19%)
START B0 (352 cycles)
add(16) g4<1>UW g1.4<1,4,0>UW 0x11001010V { align1 WE_all 1H };
pln(8) g9<1>F g6<0,1,0>F g2<8,8,1>F { align1 1Q compacted };
pln(8) g10<1>F g6.4<0,1,0>F g2<8,8,1>F { align1 1Q compacted };
mov(8) g2<1>F g4<8,4,1>UW { align1 1Q };
mov(8) g3<1>F g4.4<8,4,1>UW { align1 1Q };
add(8) g2<1>F g2<8,8,1>F 0x3f000000F /* 0.5F */ { align1 1Q };
add(8) g3<1>F g3<8,8,1>F 0x3f000000F /* 0.5F */ { align1 1Q };
mov(8) g4<1>D g2<8,8,1>F { align1 1Q compacted };
mov(8) g5<1>D g3<8,8,1>F { align1 1Q compacted };
shl(8) g6<1>D g5<8,8,1>D 0x00000001UD { align1 1Q };
add(8) g7<1>D g4<8,8,1>D g6<8,8,1>D { align1 1Q compacted };
shl(8) g8<1>D g7<8,8,1>D 0x00000004UD { align1 1Q };
add(8) g2<1>UD g8<8,8,1>UD 0x00000000UD { align1 1Q compacted };
send(8) g2<1>UW g2<8,8,1>UD 0x02427002
sampler MsgDesc: ld SIMD8 Surface = 2 Sampler = 0 mlen 1 rlen 4 { align1 1Q };
cmp.g.f0.0(8) null<1>F g2<8,8,1>F 0x0F /* 0F */ { align1 1Q compacted };
(+f0.0) if(8) JIP: 72 UIP: 112 { align1 1Q };
END B0 ->B1 ->B2
START B1 <-B0 (208 cycles)
send(8) g124<1>UW g9<8,8,1>UD 0x04320003
sampler MsgDesc: sample SIMD8 Surface = 3 Sampler = 0 mlen 2 rlen 3 { align1 1Q };
send(8) g2<1>UW g9<8,8,1>UD 0x04229003
sampler MsgDesc: lod SIMD8 Surface = 3 Sampler = 0 mlen 2 rlen 2 { align1 1Q };
mov(8) g127<1>UD g3<8,8,1>UD { align1 1Q compacted };
else(8) JIP: 56 UIP: 56 { align1 1Q };
END B1 ->B3
START B2 <-B0 (8 cycles)
mov(8) g126<1>UD 0x00000000UD { align1 1Q compacted };
mov(8) g125<1>UD 0x00000000UD { align1 1Q compacted };
mov(8) g124<1>UD 0x00000000UD { align1 1Q compacted };
mov(8) g127<1>UD 0xc1200000UD { align1 1Q };
END B2 ->B3
START B3 <-B2 <-B1 (4 cycles)
endif(8) JIP: 16 { align1 1Q };
sendc(8) null<1>UW g124<0,1,0>F 0x88031400
render MsgDesc: RT write SIMD8 LastRT Surface = 0 mlen 4 rlen 0 { align1 1Q EOT };
END B3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment