res_select5.hlsl 822 B

123456789101112131415161718192021222324252627282930313233
  1. // RUN: %dxc -T lib_6_3 -auto-binding-space 11 -default-linkage external %s | FileCheck %s
  2. // Make sure this fails
  3. // CHECK: error: local resource not guaranteed to map to unique global resource
  4. RWBuffer<float4> BufArray[2][2][3];
  5. RWBuffer<float4> Buf2;
  6. float4 test(int i, int j, int m) {
  7. RWBuffer<float4> a = BufArray[m][0][0];
  8. RWBuffer<float4> b = BufArray[0][m][1];
  9. RWBuffer<float4> c = BufArray[0][1][m];
  10. RWBuffer<float4> bufarr[2][3] = BufArray[m];
  11. RWBuffer<float4> buf = c;
  12. while (i > 9) {
  13. while (j < 4) {
  14. if (i < m)
  15. buf = b;
  16. else
  17. bufarr[i%2][j%3] = Buf2; // Illegal: assign different global resource
  18. buf[j] = i;
  19. j++;
  20. }
  21. if (m > j)
  22. buf = a;
  23. buf[m] = i;
  24. i--;
  25. }
  26. buf[i] = j;
  27. bufarr[m%2][j%3][j] = m;
  28. return j;
  29. }