vk.layout.tbuffer.std430.hlsl 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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: OpMemberDecorate %S 0 Offset 0
  7. // CHECK: OpMemberDecorate %S 1 Offset 16
  8. // CHECK: OpMemberDecorate %S 2 Offset 48
  9. // CHECK: OpMemberDecorate %S 2 MatrixStride 16
  10. // CHECK: OpMemberDecorate %S 2 ColMajor
  11. // CHECK: OpMemberDecorate %S 3 Offset 112
  12. // CHECK: OpMemberDecorate %S 3 MatrixStride 8
  13. // CHECK: OpMemberDecorate %S 3 RowMajor
  14. // CHECK: OpMemberDecorate %S 4 Offset 160
  15. // CHECK: OpMemberDecorate %S 4 MatrixStride 8
  16. // CHECK: OpMemberDecorate %S 4 RowMajor
  17. // CHECK: OpMemberDecorate %S 5 Offset 208
  18. // CHECK: OpDecorate %_arr_S_uint_2 ArrayStride 224
  19. // CHECK: OpMemberDecorate %type_myTbuffer 0 Offset 0
  20. // CHECK: OpMemberDecorate %type_myTbuffer 1 Offset 448
  21. // CHECK: OpDecorate %type_myTbuffer BufferBlock
  22. // CHECK: OpMemberDecorate %type_myTbuffer 0 NonWritable
  23. // CHECK: OpMemberDecorate %type_myTbuffer 1 NonWritable
  24. struct S {
  25. float a[2];
  26. float3 b[2];
  27. row_major float2x3 c[2];
  28. column_major float2x3 d[2];
  29. float2x3 e[2];
  30. int f;
  31. };
  32. tbuffer myTbuffer : register(t0)
  33. {
  34. S s[2];
  35. uint t;
  36. };
  37. float main() : A {
  38. return 1.0;
  39. }