raw_buf1.hlsl 893 B

12345678910111213141516171819202122232425262728293031323334
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK: @main
  3. ByteAddressBuffer buf1;
  4. RWByteAddressBuffer buf2;
  5. float4 main(float a : A, float b : B) : SV_Target
  6. {
  7. uint status;
  8. float4 r = 0;
  9. r += (min16float)buf1.Load(a);
  10. r.xy += buf1.Load2(a+1);
  11. r.xyz += buf1.Load3(a+2);
  12. r += buf1.Load4(a+3);
  13. r += buf1.Load(a, status); r += status;
  14. r.xy += buf1.Load(a+1, status); r += status;
  15. r.xyz += buf1.Load(a+2, status); r += status;
  16. r += buf1.Load(a+3, status); r += status;
  17. r += buf2.Load(a);
  18. r.xy += buf2.Load2(a+1);
  19. r.xyz += buf2.Load3(a+2);
  20. r += buf2.Load4(a+3);
  21. r += buf2.Load(a, status); r += status;
  22. r.xy += buf2.Load(a+1, status); r += status;
  23. r.xyz += buf2.Load(a+2, status); r += status;
  24. r += buf2.Load(a+3, status); r += status;
  25. buf2.Store(b, r.w);
  26. buf2.Store2(b+1, r.wz);
  27. buf2.Store3(b+2, r.wzy);
  28. buf2.Store4(b+3, r.wzyx);
  29. return r;
  30. }