no_fold.hlsl 590 B

123456789101112131415161718192021222324252627282930313233
  1. // RUN: %dxc -E main -T ps_6_0 %s -Od | FileCheck %s
  2. // Test that non-const arithmetic are not optimized away
  3. Texture2D tex0 : register(t0);
  4. Texture2D tex1 : register(t1);
  5. [RootSignature("DescriptorTable(SRV(t0), SRV(t1))")]
  6. float4 main() : SV_Target {
  7. float x = 10;
  8. float y = x + 5;
  9. // CHECK: fadd
  10. float z = y * 2;
  11. // CHECK: fmul
  12. float w = z / 0.5;
  13. // CHECK: fdiv
  14. Texture2D tex = tex0;
  15. // CHECK: br
  16. if (w >= 0) {
  17. tex = tex1;
  18. // CHECK: br
  19. }
  20. // CHECK: fadd
  21. // CHECK: fadd
  22. // CHECK: fadd
  23. // CHECK: fadd
  24. return tex.Load(0) + float4(x,y,z,w);
  25. }