gatherOffset.hlsl 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK: dx.op.textureGather.f32(i32 73
  3. // CHECK: extractvalue {{.*}}, 0
  4. // CHECK: dx.op.textureGather.f32(i32 73
  5. // CHECK: extractvalue {{.*}}, 1
  6. // CHECK: dx.op.textureGather.f32(i32 73
  7. // CHECK: extractvalue {{.*}}, 2
  8. // CHECK: dx.op.textureGather.f32(i32 73
  9. // CHECK: extractvalue {{.*}}, 3
  10. // CHECK: dx.op.textureGather.f32(i32 73
  11. // CHECK: extractvalue {{.*}}, 0
  12. // CHECK: dx.op.textureGather.f32(i32 73
  13. // CHECK: extractvalue {{.*}}, 1
  14. // CHECK: dx.op.textureGather.f32(i32 73
  15. // CHECK: extractvalue {{.*}}, 2
  16. // CHECK: dx.op.textureGather.f32(i32 73
  17. // CHECK: extractvalue {{.*}}, 3
  18. // CHECK: dx.op.textureGather.f32(i32 73
  19. // CHECK: extractvalue {{.*}}, 0
  20. // CHECK: dx.op.textureGather.f32(i32 73
  21. // CHECK: extractvalue {{.*}}, 1
  22. // CHECK: dx.op.textureGather.f32(i32 73
  23. // CHECK: extractvalue {{.*}}, 2
  24. // CHECK: dx.op.textureGather.f32(i32 73
  25. // CHECK: extractvalue {{.*}}, 3
  26. SamplerState samp1;
  27. Texture2D<float4> text1;
  28. Texture2DArray<float4> text2;
  29. TextureCubeArray<float4> text3;
  30. float4 main(float4 a : A, float4 b : B) : SV_Target
  31. {
  32. uint status;
  33. float4 r = 0;
  34. r += text1.GatherRed(samp1, a.xy, b.xy, b.zw, a.xy, a.zw);
  35. r += text1.GatherAlpha(samp1, a.xy, b.xy, b.zw, a.xy, a.zw, status); r += status;
  36. r += text2.GatherBlue(samp1, a.xyz, b.xy, b.zw, a.xy, a.zw, status); r += status;
  37. return r;
  38. }