glslang/Test/baseResults/spv.nv.dmm-allops.rchit.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

127 lines
6.8 KiB
Plaintext

spv.nv.dmm-allops.rchit
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 77
Capability RayTracingKHR
Capability CapabilityRayTracingDisplacementMicromapNV
Extension "SPV_KHR_ray_tracing"
Extension "SPV_NV_displacement_micromap"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint ClosestHitKHR 4 "main" 12 18 40 59 64 67 76
Source GLSL 460
SourceExtension "GL_EXT_ray_query"
SourceExtension "GL_EXT_ray_tracing"
SourceExtension "GL_NV_displacement_micromap"
Name 4 "main"
Name 10 "block"
MemberName 10(block) 0 "op_pos"
MemberName 10(block) 1 "op_bary"
MemberName 10(block) 2 "op_hit"
Name 12 ""
Name 18 "gl_HitMicroTriangleVertexPositionsNV"
Name 40 "gl_HitMicroTriangleVertexBarycentricsNV"
Name 59 "gl_HitKindEXT"
Name 64 "gl_HitKindFrontFacingMicroTriangleNV"
Name 67 "gl_HitKindBackFacingMicroTriangleNV"
Name 76 "as"
Decorate 10(block) Block
MemberDecorate 10(block) 0 Offset 0
MemberDecorate 10(block) 1 Offset 16
MemberDecorate 10(block) 2 Offset 24
Decorate 12 Binding 0
Decorate 12 DescriptorSet 0
Decorate 18(gl_HitMicroTriangleVertexPositionsNV) BuiltIn HitMicroTriangleVertexPositionsNV
Decorate 40(gl_HitMicroTriangleVertexBarycentricsNV) BuiltIn HitMicroTriangleVertexBarycentricsNV
Decorate 59(gl_HitKindEXT) BuiltIn HitKindKHR
Decorate 64(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV
Decorate 67(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV
Decorate 76(as) Binding 1
Decorate 76(as) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 3
8: TypeVector 6(float) 2
9: TypeInt 32 0
10(block): TypeStruct 7(fvec3) 8(fvec2) 9(int)
11: TypePointer StorageBuffer 10(block)
12: 11(ptr) Variable StorageBuffer
13: TypeInt 32 1
14: 13(int) Constant 0
15: 9(int) Constant 3
16: TypeArray 7(fvec3) 15
17: TypePointer Input 16
18(gl_HitMicroTriangleVertexPositionsNV): 17(ptr) Variable Input
19: TypePointer Input 7(fvec3)
22: TypePointer StorageBuffer 7(fvec3)
24: 13(int) Constant 1
31: 13(int) Constant 2
38: TypeArray 8(fvec2) 15
39: TypePointer Input 38
40(gl_HitMicroTriangleVertexBarycentricsNV): 39(ptr) Variable Input
41: TypePointer Input 8(fvec2)
44: TypePointer StorageBuffer 8(fvec2)
58: TypePointer Input 9(int)
59(gl_HitKindEXT): 58(ptr) Variable Input
61: TypePointer StorageBuffer 9(int)
63: 9(int) Constant 255
64(gl_HitKindFrontFacingMicroTriangleNV): 58(ptr) Variable Input
67(gl_HitKindBackFacingMicroTriangleNV): 58(ptr) Variable Input
74: TypeAccelerationStructureKHR
75: TypePointer UniformConstant 74
76(as): 75(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
20: 19(ptr) AccessChain 18(gl_HitMicroTriangleVertexPositionsNV) 14
21: 7(fvec3) Load 20
23: 22(ptr) AccessChain 12 14
Store 23 21
25: 19(ptr) AccessChain 18(gl_HitMicroTriangleVertexPositionsNV) 24
26: 7(fvec3) Load 25
27: 22(ptr) AccessChain 12 14
28: 7(fvec3) Load 27
29: 7(fvec3) FAdd 28 26
30: 22(ptr) AccessChain 12 14
Store 30 29
32: 19(ptr) AccessChain 18(gl_HitMicroTriangleVertexPositionsNV) 31
33: 7(fvec3) Load 32
34: 22(ptr) AccessChain 12 14
35: 7(fvec3) Load 34
36: 7(fvec3) FAdd 35 33
37: 22(ptr) AccessChain 12 14
Store 37 36
42: 41(ptr) AccessChain 40(gl_HitMicroTriangleVertexBarycentricsNV) 14
43: 8(fvec2) Load 42
45: 44(ptr) AccessChain 12 24
Store 45 43
46: 41(ptr) AccessChain 40(gl_HitMicroTriangleVertexBarycentricsNV) 24
47: 8(fvec2) Load 46
48: 44(ptr) AccessChain 12 24
49: 8(fvec2) Load 48
50: 8(fvec2) FAdd 49 47
51: 44(ptr) AccessChain 12 24
Store 51 50
52: 41(ptr) AccessChain 40(gl_HitMicroTriangleVertexBarycentricsNV) 31
53: 8(fvec2) Load 52
54: 44(ptr) AccessChain 12 24
55: 8(fvec2) Load 54
56: 8(fvec2) FAdd 55 53
57: 44(ptr) AccessChain 12 24
Store 57 56
60: 9(int) Load 59(gl_HitKindEXT)
62: 61(ptr) AccessChain 12 31
Store 62 60
65: 9(int) Load 64(gl_HitKindFrontFacingMicroTriangleNV)
66: 9(int) BitwiseOr 63 65
68: 9(int) Load 67(gl_HitKindBackFacingMicroTriangleNV)
69: 9(int) BitwiseOr 66 68
70: 61(ptr) AccessChain 12 31
71: 9(int) Load 70
72: 9(int) BitwiseAnd 71 69
73: 61(ptr) AccessChain 12 31
Store 73 72
Return
FunctionEnd