struct c1_t { float4 x; }; struct c2_t { bool x; float y; }; ConstantBuffer cb1 : register(b12); ConstantBuffer cb2[3]; ConstantBuffer cb3[2][4]; cbuffer cbuff { int c1; }; float4 main() : SV_Target0 { if (cb3[1][2].x) return cb1.x + cb2[1].y + c1; else return cb3[1][3].y; }