Clip/Cull distance with mixed precision aren't separated
Shader at the bottom of the email generates this output signature, which I've been informed is not honoring packing of fp16 values:
; Output signature: ; ; Name Index Mask Register SysValue Format Used ; -------------------- ----- ------ -------- -------- ------- ------ ; SV_Position 0 xyzw 0 POS float xyzw ; SV_CullDistance 0 x 1 CULLDST fp16 x ; SV_ClipDistance 0 yz 1 CLIPDST float yz ; SV_CullDistance 1 xy 2 CULLDST fp16 xy
[RootSignature("")] void main( float4 a : A ,out float4 pos : SV_Position ,out min16float cull1 : SV_CullDistance0 ,out float2 clip1 : SV_ClipDistance ,out min16float2 cull2 : SV_CullDistance1 ) { float4 r = 0; r += a; pos = r; cull1 = r.x; cull2 = r.yz; clip1 = r.xw; }