struct_bufHasCounter2.hlsl 509 B

1234567891011121314151617181920212223
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK: r/w+cnt
  3. // CHECK: r/w+cnt
  4. // CHECK: r/w+cnt
  5. // CHECK: r/w+cnt
  6. AppendStructuredBuffer<uint> buf1;
  7. RWStructuredBuffer<uint> buf2;
  8. ConsumeStructuredBuffer<uint> buf3;
  9. RWStructuredBuffer<uint> buf4;
  10. float4 main(float idx1 : Idx1, float idx2 : Idx2) : SV_Target
  11. {
  12. float4 r = 0;
  13. uint counter = buf2.IncrementCounter();
  14. counter = buf4.DecrementCounter();
  15. uint f = buf3.Consume();
  16. buf1.Append(f);
  17. buf2[counter] = buf4[counter];
  18. return r;
  19. }