method.structured-buffer.get-dimensions.hlsl 689 B

1234567891011121314151617181920212223
  1. // Run: %dxc -T ps_6_0 -E main -fvk-use-gl-layout
  2. struct SBuffer {
  3. float4 f1;
  4. float2x3 f2[3];
  5. };
  6. StructuredBuffer<SBuffer> mySBuffer1;
  7. RWStructuredBuffer<SBuffer> mySBuffer2;
  8. void main() {
  9. uint numStructs, stride;
  10. // CHECK: [[len1:%\d+]] = OpArrayLength %uint %mySBuffer1 0
  11. // CHECK-NEXT: OpStore %numStructs [[len1]]
  12. // CHECK-NEXT: OpStore %stride %uint_96
  13. mySBuffer1.GetDimensions(numStructs, stride);
  14. // CHECK: [[len2:%\d+]] = OpArrayLength %uint %mySBuffer2 0
  15. // CHECK-NEXT: OpStore %numStructs [[len2]]
  16. // CHECK-NEXT: OpStore %stride %uint_96
  17. mySBuffer2.GetDimensions(numStructs, stride);
  18. }