selectObj4.hlsl 562 B

123456789101112131415161718192021222324
  1. // RUN: %dxc -E main -T cs_6_0 %s | FileCheck %s
  2. // Make sure select on resource index.
  3. // CHECK: select i1 {{.*}}, i32 2, i32 1
  4. // CHECK: select i1 {{.*}}, i32 0, i32 3
  5. RWStructuredBuffer<float2x2> o[6];
  6. StructuredBuffer<float2x2> i[6];
  7. uint s;
  8. void run(uint id) {
  9. RWStructuredBuffer<float2x2> ot = s > 8 ? o[2]:o[1];
  10. StructuredBuffer<float2x2> it = s < 7 ? i[0]:i[3];
  11. ot[id] = it[id];
  12. }
  13. [numthreads(8,8,1)]
  14. void main( uint2 tid : SV_DispatchThreadID, uint2 gid : SV_GroupID, uint2 gtid : SV_GroupThreadID, uint gidx : SV_GroupIndex )
  15. {
  16. run(tid.x);
  17. }