eval.ref 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. define void @main() {
  2. entry:
  3. %0 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
  4. %1 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 0, i32 %0)
  5. %2 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 1, i32 %0)
  6. %3 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 2, i32 %0)
  7. %4 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 3, i32 %0)
  8. %5 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 0, i32 3)
  9. %6 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 1, i32 3)
  10. %7 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 2, i32 3)
  11. %8 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 0, i32 0, i8 3, i32 3)
  12. %9 = fadd fast float %1, %5
  13. %10 = fadd fast float %2, %6
  14. %11 = fadd fast float %3, %7
  15. %12 = fadd fast float %4, %8
  16. %13 = call float @dx.op.evalCentroid.f32(i32 89, i32 0, i32 0, i8 0)
  17. %14 = call float @dx.op.evalCentroid.f32(i32 89, i32 0, i32 0, i8 1)
  18. %15 = call float @dx.op.evalCentroid.f32(i32 89, i32 0, i32 0, i8 2)
  19. %16 = call float @dx.op.evalCentroid.f32(i32 89, i32 0, i32 0, i8 3)
  20. %17 = fadd fast float %9, %13
  21. %18 = fadd fast float %10, %14
  22. %19 = fadd fast float %11, %15
  23. %20 = fadd fast float %12, %16
  24. %21 = call float @dx.op.evalSnapped.f32(i32 87, i32 0, i32 0, i8 0, i32 -2, i32 5)
  25. %22 = call float @dx.op.evalSnapped.f32(i32 87, i32 0, i32 0, i8 1, i32 -2, i32 5)
  26. %23 = call float @dx.op.evalSnapped.f32(i32 87, i32 0, i32 0, i8 2, i32 -2, i32 5)
  27. %24 = call float @dx.op.evalSnapped.f32(i32 87, i32 0, i32 0, i8 3, i32 -2, i32 5)
  28. %25 = fadd fast float %17, %21
  29. %26 = fadd fast float %18, %22
  30. %27 = fadd fast float %19, %23
  31. %28 = fadd fast float %20, %24
  32. %29 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 1, i32 undef)
  33. %30 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 0, i32 undef)
  34. %31 = add i32 %29, 2
  35. %32 = sub i32 %31, 2
  36. %33 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 2, i32 %32, i8 2, i32 %30)
  37. %34 = sub i32 %31, 2
  38. %35 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 2, i32 %34, i8 2, i32 %30)
  39. %36 = sub i32 %31, 2
  40. %37 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 2, i32 %36, i8 0, i32 %30)
  41. %38 = sub i32 %31, 2
  42. %39 = call float @dx.op.evalSampleIndex.f32(i32 88, i32 2, i32 %38, i8 1, i32 %30)
  43. %40 = fadd fast float %25, %33
  44. %41 = fadd fast float %26, %35
  45. %42 = fadd fast float %27, %37
  46. %43 = fadd fast float %28, %39
  47. %44 = call i32 @dx.op.loadInput.i32(i32 4, i32 1, i32 0, i8 2, i32 undef)
  48. %45 = add i32 %44, 2
  49. %46 = sub i32 %45, 2
  50. %47 = call float @dx.op.evalCentroid.f32(i32 89, i32 2, i32 %46, i8 0)
  51. %48 = sub i32 %45, 2
  52. %49 = call float @dx.op.evalCentroid.f32(i32 89, i32 2, i32 %48, i8 1)
  53. %50 = sub i32 %45, 2
  54. %51 = call float @dx.op.evalCentroid.f32(i32 89, i32 2, i32 %50, i8 2)
  55. %52 = sub i32 %45, 2
  56. %53 = call float @dx.op.evalCentroid.f32(i32 89, i32 2, i32 %52, i8 3)
  57. %54 = add i32 %44, 2
  58. %55 = sub i32 %54, 2
  59. %56 = call float @dx.op.evalSnapped.f32(i32 87, i32 2, i32 %55, i8 0, i32 -2, i32 5)
  60. %57 = sub i32 %54, 2
  61. %58 = call float @dx.op.evalSnapped.f32(i32 87, i32 2, i32 %57, i8 1, i32 -2, i32 5)
  62. %59 = sub i32 %54, 2
  63. %60 = call float @dx.op.evalSnapped.f32(i32 87, i32 2, i32 %59, i8 2, i32 -2, i32 5)
  64. %61 = sub i32 %54, 2
  65. %62 = call float @dx.op.evalSnapped.f32(i32 87, i32 2, i32 %61, i8 3, i32 -2, i32 5)
  66. %63 = fadd fast float %40, %47
  67. %64 = fadd fast float %41, %49
  68. %65 = fadd fast float %42, %51
  69. %66 = fadd fast float %43, %53
  70. %67 = fadd fast float %56, %63
  71. %68 = fadd fast float %58, %64
  72. %69 = fadd fast float %60, %65
  73. %70 = fadd fast float %62, %66
  74. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %67)
  75. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %68)
  76. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %69)
  77. call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %70)
  78. ret void
  79. }
  80. ; Function Attrs: nounwind readnone
  81. declare i32 @dx.op.loadInput.i32(i32, i32, i32, i8, i32) #0
  82. ; Function Attrs: nounwind readnone
  83. declare float @dx.op.evalSampleIndex.f32(i32, i32, i32, i8, i32) #0
  84. ; Function Attrs: nounwind
  85. declare void @dx.op.tempRegStore.f32(i32, i32, float) #1
  86. ; Function Attrs: nounwind readonly
  87. declare float @dx.op.tempRegLoad.f32(i32, i32) #2
  88. ; Function Attrs: nounwind readnone
  89. declare float @dx.op.evalCentroid.f32(i32, i32, i32, i8) #0
  90. ; Function Attrs: nounwind readnone
  91. declare float @dx.op.evalSnapped.f32(i32, i32, i32, i8, i32, i32) #0
  92. ; Function Attrs: nounwind
  93. declare void @dx.op.tempRegStore.i32(i32, i32, i32) #1
  94. ; Function Attrs: nounwind readonly
  95. declare i32 @dx.op.tempRegLoad.i32(i32, i32) #2
  96. ; Function Attrs: nounwind
  97. declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #1
  98. ; Function Attrs: nounwind readnone
  99. declare float @dx.op.bitcastI32toF32(i32, i32) #0
  100. ; Function Attrs: nounwind readnone
  101. declare i32 @dx.op.bitcastF32toI32(i32, float) #0
  102. attributes #0 = { nounwind readnone }
  103. attributes #1 = { nounwind }
  104. attributes #2 = { nounwind readonly }
  105. !dx.version = !{!0}
  106. !dx.valver = !{!0}
  107. !dx.shaderModel = !{!1}
  108. !dx.entryPoints = !{!2}
  109. !llvm.ident = !{!13}
  110. !0 = !{i32 1, i32 0}
  111. !1 = !{!"ps", i32 6, i32 0}
  112. !2 = !{void ()* @main, !"main", !3, null, !12}
  113. !3 = !{!4, !10, null}
  114. !4 = !{!5, !7, !8}
  115. !5 = !{i32 0, !"A", i8 9, i8 0, !6, i8 2, i32 1, i8 4, i32 0, i8 0, null}
  116. !6 = !{i32 0}
  117. !7 = !{i32 1, !"B", i8 4, i8 0, !6, i8 1, i32 1, i8 4, i32 1, i8 0, null}
  118. !8 = !{i32 2, !"C", i8 9, i8 0, !9, i8 2, i32 6, i8 4, i32 2, i8 0, null}
  119. !9 = !{i32 0, i32 1, i32 2, i32 3, i32 4, i32 5}
  120. !10 = !{!11}
  121. !11 = !{i32 0, !"SV_Target", i8 9, i8 16, !6, i8 0, i32 1, i8 4, i32 0, i8 0, null}
  122. !12 = !{i32 0, i64 256}
  123. !13 = !{!"dxbc2dxil 1.2"}