uavBarrier.hlsl 794 B

12345678910111213141516171819202122232425262728293031
  1. // RUN: %dxc -E main -T ps_6_0 %s
  2. // CHECK:
  3. //at 0x1f56df38678 inside block entry of function main.flat Opcode must be defined in target shader model
  4. //at 0x1f56df384b8 inside block entry of function main.flat Opcode must be defined in target shader model
  5. //at 0x1f56df39478 inside block entry of function main.flat Opcode must be defined in target shader model
  6. //at 0x1f56df39398 inside block entry of function main.flat Opcode must be defined in target shader model
  7. RWTexture2D<float4> uav1 : register(u3);
  8. float4 main(uint2 a : A, uint2 b : B) : SV_Target
  9. {
  10. float4 r = 0;
  11. uint status;
  12. r += uav1[b];
  13. DeviceMemoryBarrier();
  14. r += uav1.Load(a);
  15. uav1.Load(a, status); r += status;
  16. uav1.Load(a, status); r += status;
  17. DeviceMemoryBarrier();
  18. uav1[b] = r;
  19. return r;
  20. }