sampleCmpLZ2.hlsl 1.0 KB

123456789101112131415161718192021222324
  1. // RUN: %dxilver 1.5 | %dxc -E main -T cs_6_0 -DTYPE=float4 %s | FileCheck %s -check-prefix=CHECK
  2. // RUN: %dxilver 1.5 | %dxc -E main -T cs_6_2 -DTYPE=half4 -enable-16bit-types %s | FileCheck %s -check-prefix=CHECK
  3. // RUN: %dxilver 1.5 | %dxc -E main -T cs_6_2 -DTYPE=min16float4 -enable-16bit-types %s | FileCheck %s -check-prefix=CHECK
  4. SamplerComparisonState samp1 : register(s5);
  5. Texture2D<TYPE> text1 : register(t3);
  6. float cmpVal;
  7. RWBuffer<TYPE> buf1;
  8. [numthreads(8, 8, 8)]
  9. void main(uint dtID : SV_DispatchThreadID)
  10. {
  11. uint status;
  12. float2 a = buf1[dtID].xy;
  13. TYPE r = 0;
  14. // CHECK: call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65,
  15. r += text1.SampleCmpLevelZero(samp1, a, cmpVal);
  16. // CHECK: call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65,
  17. r += text1.SampleCmpLevelZero(samp1, a, cmpVal, uint2(-5, 7));
  18. // CHECK: call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65,
  19. r += text1.SampleCmpLevelZero(samp1, a, cmpVal, uint2(-3, 2), status);
  20. r += status;
  21. buf1[dtID] = r;
  22. }