gatherCmp.hlsl 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // RUN: %dxc -E main -T ps_6_0 %s | FileCheck %s
  2. // CHECK: textureGatherCmp
  3. SamplerComparisonState samp1 : register(s5);
  4. Texture2D<float4> text1 : register(t3);
  5. float cmpVal;
  6. float4 main(float2 a : A) : SV_Target
  7. {
  8. uint status;
  9. float4 r = 0;
  10. r += text1.GatherCmp(samp1, a, cmpVal);
  11. r += text1.GatherCmp(samp1, a, cmpVal, uint2(-5, 7));
  12. r += text1.GatherCmp(samp1, a, cmpVal, uint2(-3, 2), status); r += status;
  13. r += text1.GatherCmpAlpha(samp1, a, cmpVal);
  14. r += text1.GatherCmpAlpha(samp1, a, cmpVal, uint2(-3,8));
  15. r += text1.GatherCmpAlpha(samp1, a, cmpVal, uint2(-3,8),status); r += status;
  16. r += text1.GatherCmpAlpha(samp1, a, cmpVal, uint2(-3,8),uint2(-2,3), uint2(-3,8),uint2(-2,3));
  17. r += text1.GatherCmpAlpha(samp1, a, cmpVal, uint2(-3,8),uint2(8,-3), uint2(8,-3), uint2(-3,2), status); r+=status;
  18. r += text1.GatherCmpBlue(samp1, a, cmpVal);
  19. r += text1.GatherCmpBlue(samp1, a, cmpVal, uint2(-3,8));
  20. r += text1.GatherCmpBlue(samp1, a, cmpVal, uint2(-3,8),status); r += status;
  21. r += text1.GatherCmpBlue(samp1, a, cmpVal, uint2(-3,8),uint2(-2,3), uint2(-3,8),uint2(-2,3));
  22. r += text1.GatherCmpBlue(samp1, a, cmpVal, uint2(-3,8),uint2(8,-3), uint2(8,-3), uint2(-3,2), status); r+=status;
  23. r += text1.GatherCmpGreen(samp1, a, cmpVal);
  24. r += text1.GatherCmpGreen(samp1, a, cmpVal, uint2(-3,8));
  25. r += text1.GatherCmpGreen(samp1, a, cmpVal, uint2(-3,8),status); r += status;
  26. r += text1.GatherCmpGreen(samp1, a, cmpVal, uint2(-3,8),uint2(-2,3), uint2(-3,8),uint2(-2,3));
  27. r += text1.GatherCmpGreen(samp1, a, cmpVal, uint2(-3,8),uint2(8,-3), uint2(8,-3), uint2(-3,2), status); r+=status;
  28. r += text1.GatherCmpRed(samp1, a, cmpVal);
  29. r += text1.GatherCmpRed(samp1, a, cmpVal, uint2(-3,8));
  30. r += text1.GatherCmpRed(samp1, a, cmpVal, uint2(-3,8),status); r += status;
  31. r += text1.GatherCmpRed(samp1, a, cmpVal, uint2(-3,8),uint2(-2,3), uint2(-3,8),uint2(-2,3));
  32. r += text1.GatherCmpRed(samp1, a, cmpVal, uint2(-3,8),uint2(8,-3), uint2(8,-3), uint2(-3,2), status); r+=status;
  33. return r;
  34. }