434 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			434 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| rayQuery-allOps.comp
 | |
| // Module Version 10000
 | |
| // Generated by (magic number): 8000b
 | |
| // Id's are bound by 258
 | |
| 
 | |
|                               Capability Shader
 | |
|                               Capability RayQueryKHR
 | |
|                               Capability RayTraversalPrimitiveCullingKHR
 | |
|                               Extension  "SPV_KHR_ray_query"
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint GLCompute 4  "main"
 | |
|                               ExecutionMode 4 LocalSize 1 1 1
 | |
|                               Source GLSL 460
 | |
|                               SourceExtension  "GL_EXT_ray_flags_primitive_culling"
 | |
|                               SourceExtension  "GL_EXT_ray_query"
 | |
|                               Name 4  "main"
 | |
|                               Name 6  "doSomething("
 | |
|                               Name 10  "Ray"
 | |
|                               MemberName 10(Ray) 0  "pos"
 | |
|                               MemberName 10(Ray) 1  "tmin"
 | |
|                               MemberName 10(Ray) 2  "dir"
 | |
|                               MemberName 10(Ray) 3  "tmax"
 | |
|                               Name 12  "makeRayDesc("
 | |
|                               Name 15  "Log"
 | |
|                               MemberName 15(Log) 0  "x"
 | |
|                               MemberName 15(Log) 1  "y"
 | |
|                               Name 17  ""
 | |
|                               Name 26  "ray"
 | |
|                               Name 43  "ray"
 | |
|                               Name 47  "rayQuery"
 | |
|                               Name 50  "rtas"
 | |
|                               Name 69  "candidateType"
 | |
|                               Name 78  "_mat4x3"
 | |
|                               Name 83  "_mat3x4"
 | |
|                               Name 143  "t"
 | |
|                               Name 156  "committedStatus"
 | |
|                               Name 241  "o"
 | |
|                               Name 243  "d"
 | |
|                               Name 253  "Ray"
 | |
|                               MemberName 253(Ray) 0  "pos"
 | |
|                               MemberName 253(Ray) 1  "tmin"
 | |
|                               MemberName 253(Ray) 2  "dir"
 | |
|                               MemberName 253(Ray) 3  "tmax"
 | |
|                               Name 255  "Rays"
 | |
|                               MemberName 255(Rays) 0  "rays"
 | |
|                               Name 257  ""
 | |
|                               MemberDecorate 15(Log) 0 Offset 0
 | |
|                               MemberDecorate 15(Log) 1 Offset 4
 | |
|                               Decorate 15(Log) BufferBlock
 | |
|                               Decorate 17 DescriptorSet 0
 | |
|                               Decorate 17 Binding 0
 | |
|                               Decorate 50(rtas) DescriptorSet 0
 | |
|                               Decorate 50(rtas) Binding 1
 | |
|                               MemberDecorate 253(Ray) 0 Offset 0
 | |
|                               MemberDecorate 253(Ray) 1 Offset 12
 | |
|                               MemberDecorate 253(Ray) 2 Offset 16
 | |
|                               MemberDecorate 253(Ray) 3 Offset 28
 | |
|                               Decorate 254 ArrayStride 32
 | |
|                               MemberDecorate 255(Rays) 0 Offset 0
 | |
|                               Decorate 255(Rays) BufferBlock
 | |
|                               Decorate 257 DescriptorSet 0
 | |
|                               Decorate 257 Binding 2
 | |
|                2:             TypeVoid
 | |
|                3:             TypeFunction 2
 | |
|                8:             TypeFloat 32
 | |
|                9:             TypeVector 8(float) 3
 | |
|          10(Ray):             TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
 | |
|               11:             TypeFunction 10(Ray)
 | |
|               14:             TypeInt 32 0
 | |
|          15(Log):             TypeStruct 14(int) 14(int)
 | |
|               16:             TypePointer Uniform 15(Log)
 | |
|               17:     16(ptr) Variable Uniform
 | |
|               18:             TypeInt 32 1
 | |
|               19:     18(int) Constant 0
 | |
|               20:     14(int) Constant 0
 | |
|               21:             TypePointer Uniform 14(int)
 | |
|               23:     18(int) Constant 1
 | |
|               25:             TypePointer Function 10(Ray)
 | |
|               27:    8(float) Constant 0
 | |
|               28:    9(fvec3) ConstantComposite 27 27 27
 | |
|               29:             TypePointer Function 9(fvec3)
 | |
|               31:     18(int) Constant 2
 | |
|               32:    8(float) Constant 1065353216
 | |
|               33:    9(fvec3) ConstantComposite 32 27 27
 | |
|               35:             TypePointer Function 8(float)
 | |
|               37:     18(int) Constant 3
 | |
|               38:    8(float) Constant 1176255488
 | |
|               45:             TypeRayQueryKHR
 | |
|               46:             TypePointer Private 45
 | |
|     47(rayQuery):     46(ptr) Variable Private
 | |
|               48:             TypeAccelerationStructureKHR
 | |
|               49:             TypePointer UniformConstant 48
 | |
|         50(rtas):     49(ptr) Variable UniformConstant
 | |
|               52:     14(int) Constant 255
 | |
|               66:             TypeBool
 | |
|               68:             TypePointer Function 14(int)
 | |
|               70:    66(bool) ConstantFalse
 | |
|               76:             TypeMatrix 9(fvec3) 4
 | |
|               77:             TypePointer Function 76
 | |
|               80:             TypeVector 8(float) 4
 | |
|               81:             TypeMatrix 80(fvec4) 3
 | |
|               82:             TypePointer Function 81
 | |
|               86:    66(bool) ConstantTrue
 | |
|               91:             TypeVector 8(float) 2
 | |
|              144:    8(float) Constant 1056964608
 | |
|              175:     14(int) Constant 1
 | |
|              198:     14(int) Constant 2
 | |
|              231:     14(int) Constant 256
 | |
|         253(Ray):             TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
 | |
|              254:             TypeRuntimeArray 253(Ray)
 | |
|        255(Rays):             TypeStruct 254
 | |
|              256:             TypePointer Uniform 255(Rays)
 | |
|              257:    256(ptr) Variable Uniform
 | |
|          4(main):           2 Function None 3
 | |
|                5:             Label
 | |
|          43(ray):     25(ptr) Variable Function
 | |
| 69(candidateType):     68(ptr) Variable Function
 | |
|      78(_mat4x3):     77(ptr) Variable Function
 | |
|      83(_mat3x4):     82(ptr) Variable Function
 | |
|           143(t):     35(ptr) Variable Function
 | |
| 156(committedStatus):     68(ptr) Variable Function
 | |
|           241(o):     29(ptr) Variable Function
 | |
|           243(d):     29(ptr) Variable Function
 | |
|               44:     10(Ray) FunctionCall 12(makeRayDesc()
 | |
|                               Store 43(ray) 44
 | |
|               51:          48 Load 50(rtas)
 | |
|               53:     29(ptr) AccessChain 43(ray) 19
 | |
|               54:    9(fvec3) Load 53
 | |
|               55:     35(ptr) AccessChain 43(ray) 23
 | |
|               56:    8(float) Load 55
 | |
|               57:     29(ptr) AccessChain 43(ray) 31
 | |
|               58:    9(fvec3) Load 57
 | |
|               59:     35(ptr) AccessChain 43(ray) 37
 | |
|               60:    8(float) Load 59
 | |
|                               RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60
 | |
|                               Branch 61
 | |
|               61:             Label
 | |
|                               LoopMerge 63 64 None
 | |
|                               Branch 65
 | |
|               65:             Label
 | |
|               67:    66(bool) RayQueryProceedKHR 47(rayQuery)
 | |
|                               BranchConditional 67 62 63
 | |
|               62:               Label
 | |
|               71:     14(int)   RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
 | |
|                                 Store 69(candidateType) 71
 | |
|               72:     14(int)   Load 69(candidateType)
 | |
|                                 SelectionMerge 75 None
 | |
|                                 Switch 72 75 
 | |
|                                        case 0: 73
 | |
|                                        case 1: 74
 | |
|               73:                 Label
 | |
|                                   RayQueryTerminateKHR 47(rayQuery)
 | |
|               79:          76     RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
 | |
|                                   Store 78(_mat4x3) 79
 | |
|               84:          76     Load 78(_mat4x3)
 | |
|               85:          81     Transpose 84
 | |
|                                   Store 83(_mat3x4) 85
 | |
|                                   RayQueryConfirmIntersectionKHR 47(rayQuery)
 | |
|               87:    66(bool)     RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
 | |
|                                   SelectionMerge 89 None
 | |
|                                   BranchConditional 87 88 89
 | |
|               88:                   Label
 | |
|               90:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 89
 | |
|               89:                 Label
 | |
|               92:   91(fvec2)     RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
 | |
|               93:    8(float)     CompositeExtract 92 0
 | |
|               94:    66(bool)     FOrdEqual 93 27
 | |
|                                   SelectionMerge 96 None
 | |
|                                   BranchConditional 94 95 96
 | |
|               95:                   Label
 | |
|               97:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 96
 | |
|               96:                 Label
 | |
|               98:     18(int)     RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
 | |
|               99:    66(bool)     SGreaterThan 98 19
 | |
|                                   SelectionMerge 101 None
 | |
|                                   BranchConditional 99 100 101
 | |
|              100:                   Label
 | |
|              102:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 101
 | |
|              101:                 Label
 | |
|              103:     18(int)     RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
 | |
|              104:    66(bool)     SGreaterThan 103 19
 | |
|                                   SelectionMerge 106 None
 | |
|                                   BranchConditional 104 105 106
 | |
|              105:                   Label
 | |
|              107:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 106
 | |
|              106:                 Label
 | |
|              108:    9(fvec3)     RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
 | |
|              109:    8(float)     CompositeExtract 108 0
 | |
|              110:    66(bool)     FOrdGreaterThan 109 27
 | |
|                                   SelectionMerge 112 None
 | |
|                                   BranchConditional 110 111 112
 | |
|              111:                   Label
 | |
|              113:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 112
 | |
|              112:                 Label
 | |
|              114:    9(fvec3)     RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
 | |
|              115:    8(float)     CompositeExtract 114 0
 | |
|              116:    66(bool)     FOrdGreaterThan 115 27
 | |
|                                   SelectionMerge 118 None
 | |
|                                   BranchConditional 116 117 118
 | |
|              117:                   Label
 | |
|              119:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 118
 | |
|              118:                 Label
 | |
|              120:     18(int)     RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
 | |
|              121:    66(bool)     SGreaterThan 120 19
 | |
|                                   SelectionMerge 123 None
 | |
|                                   BranchConditional 121 122 123
 | |
|              122:                   Label
 | |
|              124:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 123
 | |
|              123:                 Label
 | |
|              125:    8(float)     RayQueryGetIntersectionTKHR 47(rayQuery) 23
 | |
|              126:    66(bool)     FOrdGreaterThan 125 27
 | |
|                                   SelectionMerge 128 None
 | |
|                                   BranchConditional 126 127 128
 | |
|              127:                   Label
 | |
|              129:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 128
 | |
|              128:                 Label
 | |
|              130:     14(int)     RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
 | |
|              131:    66(bool)     UGreaterThan 130 20
 | |
|                                   SelectionMerge 133 None
 | |
|                                   BranchConditional 131 132 133
 | |
|              132:                   Label
 | |
|              134:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 133
 | |
|              133:                 Label
 | |
|                                   Branch 75
 | |
|               74:                 Label
 | |
|              136:          76     RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
 | |
|                                   Store 78(_mat4x3) 136
 | |
|              137:          76     Load 78(_mat4x3)
 | |
|              138:          81     Transpose 137
 | |
|                                   Store 83(_mat3x4) 138
 | |
|              139:    66(bool)     RayQueryGetIntersectionCandidateAABBOpaqueKHR 47(rayQuery)
 | |
|                                   SelectionMerge 141 None
 | |
|                                   BranchConditional 139 140 141
 | |
|              140:                   Label
 | |
|              142:           2       FunctionCall 6(doSomething()
 | |
|                                     Branch 141
 | |
|              141:                 Label
 | |
|                                   Store 143(t) 144
 | |
|              145:    8(float)     Load 143(t)
 | |
|                                   RayQueryGenerateIntersectionKHR 47(rayQuery) 145
 | |
|                                   RayQueryTerminateKHR 47(rayQuery)
 | |
|                                   Branch 75
 | |
|               75:               Label
 | |
|                                 Branch 64
 | |
|               64:               Label
 | |
|                                 Branch 61
 | |
|               63:             Label
 | |
|              148:     35(ptr) AccessChain 83(_mat3x4) 19 20
 | |
|              149:    8(float) Load 148
 | |
|              150:     35(ptr) AccessChain 78(_mat4x3) 19 20
 | |
|              151:    8(float) Load 150
 | |
|              152:    66(bool) FOrdEqual 149 151
 | |
|                               SelectionMerge 154 None
 | |
|                               BranchConditional 152 153 154
 | |
|              153:               Label
 | |
|              155:           2   FunctionCall 6(doSomething()
 | |
|                                 Branch 154
 | |
|              154:             Label
 | |
|              157:     14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
 | |
|                               Store 156(committedStatus) 157
 | |
|              158:     14(int) Load 156(committedStatus)
 | |
|                               SelectionMerge 162 None
 | |
|                               Switch 158 162 
 | |
|                                      case 0: 159
 | |
|                                      case 1: 160
 | |
|                                      case 2: 161
 | |
|              159:               Label
 | |
|              163:          76   RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
 | |
|                                 Store 78(_mat4x3) 163
 | |
|              164:          76   Load 78(_mat4x3)
 | |
|              165:          81   Transpose 164
 | |
|                                 Store 83(_mat3x4) 165
 | |
|                                 Branch 162
 | |
|              160:               Label
 | |
|              167:          76   RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
 | |
|                                 Store 78(_mat4x3) 167
 | |
|              168:          76   Load 78(_mat4x3)
 | |
|              169:          81   Transpose 168
 | |
|                                 Store 83(_mat3x4) 169
 | |
|              170:    66(bool)   RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
 | |
|                                 SelectionMerge 172 None
 | |
|                                 BranchConditional 170 171 172
 | |
|              171:                 Label
 | |
|              173:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 172
 | |
|              172:               Label
 | |
|              174:   91(fvec2)   RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
 | |
|              176:    8(float)   CompositeExtract 174 1
 | |
|              177:    66(bool)   FOrdEqual 176 27
 | |
|                                 SelectionMerge 179 None
 | |
|                                 BranchConditional 177 178 179
 | |
|              178:                 Label
 | |
|              180:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 179
 | |
|              179:               Label
 | |
|                                 Branch 162
 | |
|              161:               Label
 | |
|              182:     18(int)   RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
 | |
|              183:    66(bool)   SGreaterThan 182 19
 | |
|                                 SelectionMerge 185 None
 | |
|                                 BranchConditional 183 184 185
 | |
|              184:                 Label
 | |
|              186:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 185
 | |
|              185:               Label
 | |
|              187:     18(int)   RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
 | |
|              188:    66(bool)   SGreaterThan 187 19
 | |
|                                 SelectionMerge 190 None
 | |
|                                 BranchConditional 188 189 190
 | |
|              189:                 Label
 | |
|              191:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 190
 | |
|              190:               Label
 | |
|              192:     18(int)   RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
 | |
|              193:    66(bool)   SGreaterThan 192 19
 | |
|                                 SelectionMerge 195 None
 | |
|                                 BranchConditional 193 194 195
 | |
|              194:                 Label
 | |
|              196:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 195
 | |
|              195:               Label
 | |
|              197:    9(fvec3)   RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
 | |
|              199:    8(float)   CompositeExtract 197 2
 | |
|              200:    66(bool)   FOrdGreaterThan 199 27
 | |
|                                 SelectionMerge 202 None
 | |
|                                 BranchConditional 200 201 202
 | |
|              201:                 Label
 | |
|              203:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 202
 | |
|              202:               Label
 | |
|              204:    9(fvec3)   RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
 | |
|              205:    8(float)   CompositeExtract 204 0
 | |
|              206:    66(bool)   FOrdGreaterThan 205 27
 | |
|                                 SelectionMerge 208 None
 | |
|                                 BranchConditional 206 207 208
 | |
|              207:                 Label
 | |
|              209:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 208
 | |
|              208:               Label
 | |
|              210:     18(int)   RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
 | |
|              211:    66(bool)   SGreaterThan 210 19
 | |
|                                 SelectionMerge 213 None
 | |
|                                 BranchConditional 211 212 213
 | |
|              212:                 Label
 | |
|              214:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 213
 | |
|              213:               Label
 | |
|              215:    8(float)   RayQueryGetIntersectionTKHR 47(rayQuery) 23
 | |
|              216:    66(bool)   FOrdGreaterThan 215 27
 | |
|                                 SelectionMerge 218 None
 | |
|                                 BranchConditional 216 217 218
 | |
|              217:                 Label
 | |
|              219:           2     FunctionCall 6(doSomething()
 | |
|                                   Branch 218
 | |
|              218:               Label
 | |
|                                 Branch 162
 | |
|              162:             Label
 | |
|              222:     35(ptr) AccessChain 83(_mat3x4) 19 20
 | |
|              223:    8(float) Load 222
 | |
|              224:     35(ptr) AccessChain 78(_mat4x3) 19 20
 | |
|              225:    8(float) Load 224
 | |
|              226:    66(bool) FOrdEqual 223 225
 | |
|                               SelectionMerge 228 None
 | |
|                               BranchConditional 226 227 228
 | |
|              227:               Label
 | |
|              229:           2   FunctionCall 6(doSomething()
 | |
|                                 Branch 228
 | |
|              228:             Label
 | |
|              230:     14(int) RayQueryGetRayFlagsKHR 47(rayQuery)
 | |
|              232:    66(bool) UGreaterThan 230 231
 | |
|                               SelectionMerge 234 None
 | |
|                               BranchConditional 232 233 234
 | |
|              233:               Label
 | |
|              235:           2   FunctionCall 6(doSomething()
 | |
|                                 Branch 234
 | |
|              234:             Label
 | |
|              236:    8(float) RayQueryGetRayTMinKHR 47(rayQuery)
 | |
|              237:    66(bool) FOrdGreaterThan 236 27
 | |
|                               SelectionMerge 239 None
 | |
|                               BranchConditional 237 238 239
 | |
|              238:               Label
 | |
|              240:           2   FunctionCall 6(doSomething()
 | |
|                                 Branch 239
 | |
|              239:             Label
 | |
|              242:    9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery)
 | |
|                               Store 241(o) 242
 | |
|              244:    9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery)
 | |
|                               Store 243(d) 244
 | |
|              245:     35(ptr) AccessChain 241(o) 20
 | |
|              246:    8(float) Load 245
 | |
|              247:     35(ptr) AccessChain 243(d) 198
 | |
|              248:    8(float) Load 247
 | |
|              249:    66(bool) FOrdEqual 246 248
 | |
|                               SelectionMerge 251 None
 | |
|                               BranchConditional 249 250 251
 | |
|              250:               Label
 | |
|              252:           2   FunctionCall 6(doSomething()
 | |
|                                 Branch 251
 | |
|              251:             Label
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
|  6(doSomething():           2 Function None 3
 | |
|                7:             Label
 | |
|               22:     21(ptr) AccessChain 17 19
 | |
|                               Store 22 20
 | |
|               24:     21(ptr) AccessChain 17 23
 | |
|                               Store 24 20
 | |
|                               Return
 | |
|                               FunctionEnd
 | |
| 12(makeRayDesc():     10(Ray) Function None 11
 | |
|               13:             Label
 | |
|          26(ray):     25(ptr) Variable Function
 | |
|               30:     29(ptr) AccessChain 26(ray) 19
 | |
|                               Store 30 28
 | |
|               34:     29(ptr) AccessChain 26(ray) 31
 | |
|                               Store 34 33
 | |
|               36:     35(ptr) AccessChain 26(ray) 23
 | |
|                               Store 36 27
 | |
|               39:     35(ptr) AccessChain 26(ray) 37
 | |
|                               Store 39 38
 | |
|               40:     10(Ray) Load 26(ray)
 | |
|                               ReturnValue 40
 | |
|                               FunctionEnd
 | 
