sampleBias.hlsl 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. // RUN: %dxilver 1.5 | %dxc -E main -T ps_6_0 -DTYPE=float4 %s | FileCheck %s -check-prefix=CHK_FLOAT
  2. // RUN: %dxilver 1.5 | %dxc -E main -T ps_6_2 -DTYPE=half4 -enable-16bit-types %s | FileCheck %s -check-prefix=CHK_HALF
  3. // RUN: %dxilver 1.5 | %dxc -E main -T ps_6_2 -DTYPE=min16float4 -enable-16bit-types %s | FileCheck %s -check-prefix=CHK_HALF
  4. SamplerState samp1 : register(s5);
  5. Texture2D<TYPE> text1 : register(t3);
  6. float bias;
  7. TYPE main(float2 a
  8. : A) : SV_Target {
  9. uint status;
  10. TYPE r = 0;
  11. // CHK_FLOAT: call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61,
  12. // CHK_HALF: call %dx.types.ResRet.f16 @dx.op.sampleBias.f16(i32 61,
  13. r += text1.SampleBias(samp1, a, -999);
  14. // CHK_FLOAT: call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61,
  15. // CHK_HALF: call %dx.types.ResRet.f16 @dx.op.sampleBias.f16(i32 61,
  16. r += text1.SampleBias(samp1, a, bias, uint2(-5, 7));
  17. // CHK_FLOAT: call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61,
  18. // CHK_HALF: call %dx.types.ResRet.f16 @dx.op.sampleBias.f16(i32 61,
  19. r += text1.SampleBias(samp1, a, bias, uint2(-4, 1), 0.5f);
  20. // CHK_FLOAT: call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61,
  21. // CHK_HALF: call %dx.types.ResRet.f16 @dx.op.sampleBias.f16(i32 61,
  22. r += text1.SampleBias(samp1, a, bias, uint2(-3, 2), 0.f, status);
  23. // CHK_FLOAT: call %dx.types.ResRet.f32 @dx.op.sampleBias.f32(i32 61,
  24. // CHK_HALF: call %dx.types.ResRet.f16 @dx.op.sampleBias.f16(i32 61,
  25. r += status;
  26. r += text1.SampleBias(samp1, a, bias, uint2(-3, 2), a.x, status);
  27. r += status;
  28. return r;
  29. }