| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- %dx.types.Handle = type { i8* }
- %dx.types.ResRet.f32 = type { float, float, float, float, i32 }
- %dx.types.f32 = type { float }
- %dx.types.Sampler = type opaque
- define void @main() {
- entry:
- %0 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 0, i32 3, i1 false)
- %1 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 1, i32 5, i1 false)
- %2 = call %dx.types.Handle @dx.op.createHandle(i32 57, i8 3, i32 0, i32 5, i1 false)
- %3 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %4 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %5 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %6 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %0, %dx.types.Handle %2, float %3, float %4, float undef, float undef, i32 0, i32 0, i32 undef, float %5)
- %7 = extractvalue %dx.types.ResRet.f32 %6, 0
- %8 = extractvalue %dx.types.ResRet.f32 %6, 1
- %9 = extractvalue %dx.types.ResRet.f32 %6, 2
- %10 = extractvalue %dx.types.ResRet.f32 %6, 3
- %11 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %12 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %13 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %14 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %0, %dx.types.Handle %2, float %11, float %12, float undef, float undef, i32 -5, i32 7, i32 undef, float %13)
- %15 = extractvalue %dx.types.ResRet.f32 %14, 0
- %16 = extractvalue %dx.types.ResRet.f32 %14, 1
- %17 = extractvalue %dx.types.ResRet.f32 %14, 2
- %18 = extractvalue %dx.types.ResRet.f32 %14, 3
- %19 = fadd fast float %7, %15
- %20 = fadd fast float %8, %16
- %21 = fadd fast float %9, %17
- %22 = fadd fast float %10, %18
- %23 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %24 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %25 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %26 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %0, %dx.types.Handle %2, float %23, float %24, float undef, float undef, i32 -4, i32 1, i32 undef, float %25)
- %27 = extractvalue %dx.types.ResRet.f32 %26, 0
- %28 = extractvalue %dx.types.ResRet.f32 %26, 1
- %29 = extractvalue %dx.types.ResRet.f32 %26, 2
- %30 = extractvalue %dx.types.ResRet.f32 %26, 3
- %31 = fadd fast float %19, %27
- %32 = fadd fast float %20, %28
- %33 = fadd fast float %21, %29
- %34 = fadd fast float %22, %30
- %35 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %36 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %37 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %38 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %0, %dx.types.Handle %2, float %35, float %36, float undef, float undef, i32 -3, i32 2, i32 undef, float %37)
- %39 = extractvalue %dx.types.ResRet.f32 %38, 0
- %40 = extractvalue %dx.types.ResRet.f32 %38, 1
- %41 = extractvalue %dx.types.ResRet.f32 %38, 2
- %42 = extractvalue %dx.types.ResRet.f32 %38, 3
- %43 = extractvalue %dx.types.ResRet.f32 %38, 4
- %44 = fadd fast float %31, %39
- %45 = fadd fast float %32, %40
- %46 = fadd fast float %33, %41
- %47 = fadd fast float %34, %42
- %48 = call i1 @dx.op.checkAccessFullyMapped.i32(i32 71, i32 %43)
- %49 = sext i1 %48 to i32
- %50 = uitofp i32 %49 to float
- %51 = fadd fast float %44, %50
- %52 = fadd fast float %45, %50
- %53 = fadd fast float %46, %50
- %54 = fadd fast float %47, %50
- %55 = fadd fast float %39, %51
- %56 = fadd fast float %40, %52
- %57 = fadd fast float %41, %53
- %58 = fadd fast float %42, %54
- %59 = fadd fast float %50, %55
- %60 = fadd fast float %50, %56
- %61 = fadd fast float %50, %57
- %62 = fadd fast float %50, %58
- %63 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %64 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %65 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef)
- %66 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 3, i32 undef)
- %67 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %68 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %1, %dx.types.Handle %2, float %63, float %64, float %65, float %66, i32 0, i32 0, i32 0, float %67)
- %69 = extractvalue %dx.types.ResRet.f32 %68, 0
- %70 = extractvalue %dx.types.ResRet.f32 %68, 1
- %71 = extractvalue %dx.types.ResRet.f32 %68, 2
- %72 = extractvalue %dx.types.ResRet.f32 %68, 3
- %73 = call float @dx.op.tertiary.f32(i32 46, float %69, float 3.000000e+00, float %59)
- %74 = call float @dx.op.tertiary.f32(i32 46, float %70, float 3.000000e+00, float %60)
- %75 = call float @dx.op.tertiary.f32(i32 46, float %71, float 3.000000e+00, float %61)
- %76 = call float @dx.op.tertiary.f32(i32 46, float %72, float 3.000000e+00, float %62)
- %77 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %78 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %79 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 2, i32 undef)
- %80 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 3, i32 undef)
- %81 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %82 = call %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32 62, %dx.types.Handle %1, %dx.types.Handle %2, float %77, float %78, float %79, float %80, i32 0, i32 0, i32 0, float %81)
- %83 = extractvalue %dx.types.ResRet.f32 %82, 0
- %84 = extractvalue %dx.types.ResRet.f32 %82, 1
- %85 = extractvalue %dx.types.ResRet.f32 %82, 2
- %86 = extractvalue %dx.types.ResRet.f32 %82, 3
- %87 = extractvalue %dx.types.ResRet.f32 %82, 4
- %88 = fadd fast float %73, %83
- %89 = fadd fast float %74, %84
- %90 = fadd fast float %75, %85
- %91 = fadd fast float %76, %86
- %92 = call i1 @dx.op.checkAccessFullyMapped.i32(i32 71, i32 %87)
- %93 = sext i1 %92 to i32
- %94 = uitofp i32 %93 to float
- %95 = fadd fast float %88, %94
- %96 = fadd fast float %89, %94
- %97 = fadd fast float %90, %94
- %98 = fadd fast float %91, %94
- %99 = fadd fast float %83, %95
- %100 = fadd fast float %84, %96
- %101 = fadd fast float %85, %97
- %102 = fadd fast float %86, %98
- %103 = fadd fast float %94, %99
- %104 = fadd fast float %94, %100
- %105 = fadd fast float %94, %101
- %106 = fadd fast float %94, %102
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %103)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %104)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %105)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %106)
- ret void
- }
- ; Function Attrs: nounwind readonly
- declare %dx.types.Handle @dx.op.createHandle(i32, i8, i32, i32, i1) #0
- ; Function Attrs: nounwind readnone
- declare float @dx.op.loadInput.f32(i32, i32, i32, i8, i32) #1
- ; Function Attrs: nounwind readonly
- declare %dx.types.ResRet.f32 @dx.op.sampleLevel.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #0
- ; Function Attrs: nounwind
- declare void @dx.op.tempRegStore.f32(i32, i32, float) #2
- ; Function Attrs: nounwind readonly
- declare float @dx.op.tempRegLoad.f32(i32, i32) #0
- ; Function Attrs: nounwind
- declare void @dx.op.tempRegStore.i32(i32, i32, i32) #2
- ; Function Attrs: nounwind readonly
- declare i32 @dx.op.tempRegLoad.i32(i32, i32) #0
- ; Function Attrs: nounwind readonly
- declare i1 @dx.op.checkAccessFullyMapped.i32(i32, i32) #0
- ; Function Attrs: nounwind readnone
- declare float @dx.op.tertiary.f32(i32, float, float, float) #1
- ; Function Attrs: nounwind
- declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #2
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.bitcastF32toI32(i32, float) #1
- ; Function Attrs: nounwind readnone
- declare float @dx.op.bitcastI32toF32(i32, i32) #1
- attributes #0 = { nounwind readonly }
- attributes #1 = { nounwind readnone }
- attributes #2 = { nounwind }
- !dx.version = !{!0}
- !dx.valver = !{!0}
- !dx.shaderModel = !{!1}
- !dx.resources = !{!2}
- !dx.entryPoints = !{!9}
- !llvm.ident = !{!17}
- !0 = !{i32 1, i32 0}
- !1 = !{!"ps", i32 6, i32 0}
- !2 = !{!3, null, null, !7}
- !3 = !{!4, !6}
- !4 = !{i32 0, %dx.types.f32 addrspace(1)* undef, !"T0", i32 0, i32 3, i32 1, i32 2, i32 0, !5}
- !5 = !{i32 0, i32 9}
- !6 = !{i32 1, %dx.types.f32 addrspace(1)* undef, !"T1", i32 0, i32 5, i32 1, i32 9, i32 0, !5}
- !7 = !{!8}
- !8 = !{i32 0, %dx.types.Sampler addrspace(1)* undef, !"S0", i32 0, i32 5, i32 1, i32 0, null}
- !9 = !{void ()* @main, !"main", !10, !2, !16}
- !10 = !{!11, !14, null}
- !11 = !{!12}
- !12 = !{i32 0, !"A", i8 9, i8 0, !13, i8 2, i32 1, i8 4, i32 0, i8 0, null}
- !13 = !{i32 0}
- !14 = !{!15}
- !15 = !{i32 0, !"SV_Target", i8 9, i8 16, !13, i8 0, i32 1, i8 4, i32 0, i8 0, null}
- !16 = !{i32 0, i64 256}
- !17 = !{!"dxbc2dxil 1.2"}
|