nested_struct.hlsl 454 B

1234567891011121314151617181920212223242526272829
  1. // RUN: %dxr -E main -remove-unused-globals %s | FileCheck %s
  2. // Makre sure nested struct is not removed.
  3. // CHECK:struct A
  4. // CHECK:struct B
  5. // CHECK-NOT:Get(
  6. // CHECK:StructuredBuffer<C> buf : register(t0, space6)
  7. struct A {
  8. float a;
  9. };
  10. struct B : A {
  11. float b;
  12. };
  13. struct C {
  14. B b;
  15. float c;
  16. float Get() { return c + b.b + b.a; }
  17. };
  18. StructuredBuffer<C> buf : register(t0, space6);
  19. float main(uint i:I) : SV_Target {
  20. return buf[i].c;
  21. }