AccessTrackingForSamplerFeedback.hlsl 952 B

1234567891011121314151617181920212223242526
  1. // RUN: %dxc -Emain -Tcs_6_5 %s | %opt -S -hlsl-dxil-pix-shader-access-instrumentation,config=M0:0:1i0;S0:1:1i0;U0:2:10i0;.. | %FileCheck %s
  2. // Check we added the UAV:
  3. // CHECK: %PIX_CountUAV_Handle = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 1, i32 1, i32 0, i1 false)
  4. // Feedback UAV:
  5. // CHECK: call void @dx.op.bufferStore.i32(i32 69, %dx.types.Handle %PIX_CountUAV_Handle, i32 28
  6. // Texture:
  7. // CHECK: call void @dx.op.bufferStore.i32(i32 69, %dx.types.Handle %PIX_CountUAV_Handle, i32 12
  8. // Sampler:
  9. // CHECK: call void @dx.op.bufferStore.i32(i32 69, %dx.types.Handle %PIX_CountUAV_Handle, i32 0
  10. Texture2D texture : register(t0);
  11. SamplerState samplerState : register(s0);
  12. FeedbackTexture2D<SAMPLER_FEEDBACK_MIN_MIP> map : register(u0);
  13. [numthreads(4, 4, 1)]
  14. void main(uint3 threadId : SV_DispatchThreadId) {
  15. float2 uv = threadId.xy;
  16. uv /= 256;
  17. map.WriteSamplerFeedbackLevel(texture, samplerState, uv, threadId.x % 8);
  18. }