2
0

vk.layout.csbuffer.std430.hlsl 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Run: %dxc -T vs_6_0 -E main
  2. // CHECK: OpDecorate %_arr_float_uint_2 ArrayStride 4
  3. // CHECK: OpDecorate %_arr_v3float_uint_2 ArrayStride 16
  4. // CHECK: OpDecorate %_arr_mat2v3float_uint_2 ArrayStride 32
  5. // CHECK: OpDecorate %_arr_mat2v3float_uint_2_0 ArrayStride 24
  6. // CHECK: OpDecorate %_arr_v3int_uint_2 ArrayStride 16
  7. // CHECK: OpDecorate %_arr__arr_v3int_uint_2_uint_2 ArrayStride 32
  8. // CHECK: OpMemberDecorate %S 0 Offset 0
  9. // CHECK: OpMemberDecorate %S 1 Offset 16
  10. // CHECK: OpMemberDecorate %S 2 Offset 48
  11. // CHECK: OpMemberDecorate %S 2 MatrixStride 16
  12. // CHECK: OpMemberDecorate %S 2 ColMajor
  13. // CHECK: OpMemberDecorate %S 3 Offset 112
  14. // CHECK: OpMemberDecorate %S 3 MatrixStride 8
  15. // CHECK: OpMemberDecorate %S 3 RowMajor
  16. // CHECK: OpMemberDecorate %S 4 Offset 160
  17. // CHECK: OpMemberDecorate %S 4 MatrixStride 8
  18. // CHECK: OpMemberDecorate %S 4 RowMajor
  19. // CHECK: OpMemberDecorate %S 5 Offset 208
  20. // CHECK: OpMemberDecorate %S 6 Offset 272
  21. // CHECK: OpDecorate %_arr_S_uint_2 ArrayStride 288
  22. // CHECK: OpMemberDecorate %T 0 Offset 0
  23. // CHECK: OpMemberDecorate %T 1 Offset 576
  24. // CHECK: OpDecorate %_runtimearr_T ArrayStride 592
  25. // CHECK: OpMemberDecorate %type_ConsumeStructuredBuffer_T 0 Offset 0
  26. // CHECK: OpDecorate %type_ConsumeStructuredBuffer_T BufferBlock
  27. // CHECK: OpMemberDecorate %type_ACSBuffer_counter 0 Offset 0
  28. // CHECK: OpDecorate %type_ACSBuffer_counter BufferBlock
  29. struct S {
  30. float a[2];
  31. float3 b[2];
  32. row_major float2x3 c[2];
  33. column_major float2x3 d[2];
  34. float2x3 e[2];
  35. row_major int2x3 f[2];
  36. int g;
  37. };
  38. struct T {
  39. S s[2];
  40. uint t;
  41. };
  42. ConsumeStructuredBuffer<T> buffer2;
  43. float main() : A {
  44. return 1.0;
  45. }