layout.hlsl 939 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // RUN: %dxc -T vs_6_0 -E main %s | FileCheck %s
  2. // Tests the printed layout of structured buffers.
  3. // CHECK: int2 a; ; Offset: 0
  4. // CHECK: struct
  5. // CHECK: {
  6. // CHECK: int b[2]; ; Offset: 8
  7. // CHECK: int2 c; ; Offset: 16
  8. // CHECK: int2 d; ; Offset: 24
  9. // CHECK: } s; ; Offset: 8
  10. // CHECK: struct
  11. // CHECK: {
  12. // CHECK: } _; ; Offset: 32
  13. // CHECK: int e; ; Offset: 32
  14. // CHECK: Size: 36
  15. // CHECK: int2 a; ; Offset: 0
  16. // CHECK: struct
  17. // CHECK: {
  18. // CHECK: int b[2]; ; Offset: 8
  19. // CHECK: int2 c; ; Offset: 16
  20. // CHECK: int2 d; ; Offset: 24
  21. // CHECK: } s; ; Offset: 8
  22. // CHECK: struct
  23. // CHECK: {
  24. // CHECK: } _; ; Offset: 32
  25. // CHECK: int e; ; Offset: 32
  26. // CHECK: Size: 36
  27. struct Struct
  28. {
  29. int2 a;
  30. struct
  31. {
  32. int b[2];
  33. int2 c;
  34. int2 d;
  35. } s;
  36. struct {} _;
  37. int e;
  38. };
  39. StructuredBuffer<Struct> sb;
  40. RWStructuredBuffer<Struct> rwsb;
  41. int main() : OUT
  42. {
  43. return sb[0].e + rwsb[0].e;
  44. }