| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- %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 3, i32 0, i32 5, i1 false)
- %2 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %3 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %4 = fadd fast float %2, %3
- %5 = fptoui float %4 to i32
- %6 = uitofp i32 %5 to float
- %7 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %8 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %9 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %0, %dx.types.Handle %1, float %7, float %8, float undef, float undef, i32 0, i32 0, i32 undef, float %6)
- %10 = extractvalue %dx.types.ResRet.f32 %9, 0
- %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 %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %0, %dx.types.Handle %1, float %11, float %12, float undef, float undef, i32 -5, i32 7, i32 undef, float %6)
- %14 = extractvalue %dx.types.ResRet.f32 %13, 0
- %15 = fadd fast float %14, %10
- %16 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %17 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %18 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %0, %dx.types.Handle %1, float %16, float %17, float undef, float undef, i32 -4, i32 1, i32 undef, float %6)
- %19 = extractvalue %dx.types.ResRet.f32 %18, 0
- %20 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 0, i32 undef)
- %21 = call float @dx.op.loadInput.f32(i32 4, i32 0, i32 0, i8 1, i32 undef)
- %22 = call %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32 65, %dx.types.Handle %0, %dx.types.Handle %1, float %20, float %21, float undef, float undef, i32 -3, i32 2, i32 undef, float %6)
- %23 = extractvalue %dx.types.ResRet.f32 %22, 0
- %24 = extractvalue %dx.types.ResRet.f32 %22, 4
- %25 = fadd fast float %19, %15
- %26 = fadd fast float %23, %25
- %27 = call i1 @dx.op.checkAccessFullyMapped.i32(i32 71, i32 %24)
- %28 = sext i1 %27 to i32
- %29 = uitofp i32 %28 to float
- %30 = fadd fast float %29, %26
- %31 = fadd fast float %23, %30
- %32 = fadd fast float %29, %31
- %33 = fadd fast float %29, %31
- %34 = fadd fast float %29, %31
- %35 = fadd fast float %29, %31
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float %32)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float %33)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float %34)
- call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float %35)
- 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
- 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 %dx.types.ResRet.f32 @dx.op.sampleCmpLevelZero.f32(i32, %dx.types.Handle, %dx.types.Handle, float, float, float, float, i32, i32, i32, float) #0
- ; Function Attrs: nounwind readonly
- declare i1 @dx.op.checkAccessFullyMapped.i32(i32, i32) #0
- ; Function Attrs: nounwind
- declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #2
- ; Function Attrs: nounwind readnone
- declare float @dx.op.bitcastI32toF32(i32, i32) #1
- ; Function Attrs: nounwind readnone
- declare i32 @dx.op.bitcastF32toI32(i32, float) #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 = !{!8}
- !llvm.ident = !{!16}
- !0 = !{i32 1, i32 0}
- !1 = !{!"ps", i32 6, i32 0}
- !2 = !{!3, null, null, !6}
- !3 = !{!4}
- !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 = !{!7}
- !7 = !{i32 0, %dx.types.Sampler addrspace(1)* undef, !"S0", i32 0, i32 5, i32 1, i32 1, null}
- !8 = !{void ()* @main, !"main", !9, !2, !15}
- !9 = !{!10, !13, null}
- !10 = !{!11}
- !11 = !{i32 0, !"A", i8 9, i8 0, !12, i8 2, i32 1, i8 2, i32 0, i8 0, null}
- !12 = !{i32 0}
- !13 = !{!14}
- !14 = !{i32 0, !"SV_Target", i8 9, i8 16, !12, i8 0, i32 1, i8 4, i32 0, i8 0, null}
- !15 = !{i32 0, i64 256}
- !16 = !{!"dxbc2dxil 1.2"}
|