structured_buffer_getdim_stride.hlsl 931 B

123456789101112131415161718192021222324252627282930
  1. // RUN: %dxc -T lib_6_3 -auto-binding-space 11 -default-linkage external %s | %D3DReflect %s | FileCheck %s
  2. struct Foo
  3. {
  4. float4 a;
  5. uint b;
  6. };
  7. RWStructuredBuffer<Foo> g_buffer[2] : register(u0);
  8. uint UseBuf(int2 idx) {
  9. return g_buffer[idx.x][idx.y].b;
  10. }
  11. // CHECK: ID3D12LibraryReflection:
  12. // CHECK: D3D12_LIBRARY_DESC:
  13. // CHECK: FunctionCount: 1
  14. // CHECK: ID3D12FunctionReflection:
  15. // CHECK: D3D12_FUNCTION_DESC: Name: \01?UseBuf@@YAIV?$vector@H$01@@@Z
  16. // CHECK: Shader Version: Library 6.3
  17. // CHECK: BoundResources: 1
  18. // CHECK: Bound Resources:
  19. // CHECK: D3D12_SHADER_BUFFER_DESC: Name: g_buffer
  20. // CHECK: Type: D3D_SIT_UAV_RWSTRUCTURED
  21. // CHECK: uID: 0
  22. // CHECK: BindCount: 2
  23. // CHECK: BindPoint: 0
  24. // CHECK: ReturnType: D3D_RETURN_TYPE_MIXED
  25. // CHECK: Dimension: D3D_SRV_DIMENSION_BUFFER
  26. // CHECK: NumSamples (or stride): 20