extra_if_block_dst.spvasm 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. OpCapability Shader
  2. %1 = OpExtInstImport "GLSL.std.450"
  3. OpMemoryModel Logical GLSL450
  4. OpEntryPoint Fragment %4 "main" %63 %69
  5. OpExecutionMode %4 OriginUpperLeft
  6. OpSource ESSL 310
  7. OpName %4 "main"
  8. OpName %8 "f1("
  9. OpName %10 "f2("
  10. OpName %13 "v"
  11. OpName %16 "Buffer"
  12. OpMemberName %16 0 "flag1"
  13. OpMemberName %16 1 "flag2"
  14. OpName %18 ""
  15. OpName %34 "v"
  16. OpName %63 "color"
  17. OpName %69 "v"
  18. OpDecorate %8 RelaxedPrecision
  19. OpDecorate %10 RelaxedPrecision
  20. OpDecorate %13 RelaxedPrecision
  21. OpMemberDecorate %16 0 RelaxedPrecision
  22. OpMemberDecorate %16 0 Offset 0
  23. OpMemberDecorate %16 1 RelaxedPrecision
  24. OpMemberDecorate %16 1 Offset 4
  25. OpDecorate %16 Block
  26. OpDecorate %18 DescriptorSet 0
  27. OpDecorate %18 Binding 0
  28. OpDecorate %23 RelaxedPrecision
  29. OpDecorate %24 RelaxedPrecision
  30. OpDecorate %25 RelaxedPrecision
  31. OpDecorate %26 RelaxedPrecision
  32. OpDecorate %27 RelaxedPrecision
  33. OpDecorate %28 RelaxedPrecision
  34. OpDecorate %29 RelaxedPrecision
  35. OpDecorate %30 RelaxedPrecision
  36. OpDecorate %31 RelaxedPrecision
  37. OpDecorate %34 RelaxedPrecision
  38. OpDecorate %37 RelaxedPrecision
  39. OpDecorate %38 RelaxedPrecision
  40. OpDecorate %40 RelaxedPrecision
  41. OpDecorate %41 RelaxedPrecision
  42. OpDecorate %44 RelaxedPrecision
  43. OpDecorate %45 RelaxedPrecision
  44. OpDecorate %46 RelaxedPrecision
  45. OpDecorate %48 RelaxedPrecision
  46. OpDecorate %55 RelaxedPrecision
  47. OpDecorate %56 RelaxedPrecision
  48. OpDecorate %57 RelaxedPrecision
  49. OpDecorate %58 RelaxedPrecision
  50. OpDecorate %63 RelaxedPrecision
  51. OpDecorate %63 Location 0
  52. OpDecorate %64 RelaxedPrecision
  53. OpDecorate %65 RelaxedPrecision
  54. OpDecorate %67 RelaxedPrecision
  55. OpDecorate %69 RelaxedPrecision
  56. OpDecorate %69 Location 0
  57. %2 = OpTypeVoid
  58. %3 = OpTypeFunction %2
  59. %6 = OpTypeFloat 32
  60. %7 = OpTypeFunction %6
  61. %12 = OpTypePointer Function %6
  62. %14 = OpConstant %6 0
  63. %15 = OpTypeInt 32 0
  64. %16 = OpTypeStruct %15 %15
  65. %17 = OpTypePointer Uniform %16
  66. %18 = OpVariable %17 Uniform
  67. %19 = OpTypeInt 32 1
  68. %20 = OpConstant %19 1
  69. %21 = OpTypePointer Uniform %15
  70. %35 = OpConstant %19 0
  71. %39 = OpConstant %6 10
  72. %42 = OpConstant %6 0.5
  73. %43 = OpConstant %6 0.699999988
  74. %49 = OpConstant %15 0
  75. %50 = OpTypeBool
  76. %54 = OpConstant %6 0.100000001
  77. %61 = OpTypeVector %6 4
  78. %62 = OpTypePointer Output %61
  79. %63 = OpVariable %62 Output
  80. %66 = OpConstant %6 1
  81. %68 = OpTypePointer Input %6
  82. %69 = OpVariable %68 Input
  83. %4 = OpFunction %2 None %3
  84. %5 = OpLabel
  85. %64 = OpFunctionCall %6 %8
  86. %65 = OpFunctionCall %6 %10
  87. %67 = OpCompositeConstruct %61 %64 %65 %14 %66
  88. OpStore %63 %67
  89. OpReturn
  90. OpFunctionEnd
  91. %8 = OpFunction %6 None %7
  92. %9 = OpLabel
  93. %13 = OpVariable %12 Function
  94. OpStore %13 %14
  95. %22 = OpAccessChain %21 %18 %20
  96. %23 = OpLoad %15 %22
  97. %24 = OpConvertUToF %6 %23
  98. %25 = OpExtInst %6 %1 Log2 %24
  99. %26 = OpLoad %6 %13
  100. %27 = OpFAdd %6 %26 %25
  101. OpStore %13 %27
  102. %28 = OpLoad %6 %13
  103. %29 = OpLoad %6 %13
  104. %30 = OpExtInst %6 %1 Sqrt %29
  105. %31 = OpFSub %6 %28 %30
  106. OpReturnValue %31
  107. OpFunctionEnd
  108. %10 = OpFunction %6 None %7
  109. %11 = OpLabel
  110. %34 = OpVariable %12 Function
  111. %36 = OpAccessChain %21 %18 %35
  112. %37 = OpLoad %15 %36
  113. %38 = OpConvertUToF %6 %37
  114. %40 = OpFDiv %6 %38 %39
  115. OpStore %34 %40
  116. %41 = OpLoad %6 %34
  117. %44 = OpExtInst %6 %1 FClamp %41 %42 %43
  118. %45 = OpLoad %6 %34
  119. %46 = OpFMul %6 %45 %44
  120. OpStore %34 %46
  121. %47 = OpAccessChain %21 %18 %20
  122. %48 = OpLoad %15 %47
  123. %51 = OpINotEqual %50 %48 %49
  124. OpSelectionMerge %53 None
  125. OpBranchConditional %51 %52 %53
  126. %52 = OpLabel
  127. %55 = OpLoad %6 %34
  128. %56 = OpFSub %6 %55 %54
  129. OpStore %34 %56
  130. OpBranch %53
  131. %53 = OpLabel
  132. %57 = OpLoad %6 %34
  133. %58 = OpExtInst %6 %1 Exp %57
  134. OpReturnValue %58
  135. OpFunctionEnd