1 struct T { 2 float f : packoffset(c4.y); // artificial, but validates all different treatments: uniform offset 3 centroid float g; // interpolant input 4 float d: SV_DepthGreaterEqual; // fragment output 5 float4 normal; // non-IO 6 }; 7 8 T s; // loose uniform 9 10 cbuffer buff { 11 T t : packoffset(c5.z); 12 }; 13 14 T main(T t : myInput) : SV_Target0 15 { 16 T local; 17 return local; 18 } 19