mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
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
123 lines
6.0 KiB
Plaintext
123 lines
6.0 KiB
Plaintext
spv.shaderFragMaskAMD.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 80
|
|
|
|
Capability Shader
|
|
Capability InputAttachment
|
|
Capability FragmentMaskAMD
|
|
Extension "SPV_AMD_shader_fragment_mask"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 78
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_AMD_shader_fragment_mask"
|
|
Name 4 "main"
|
|
Name 9 "f4"
|
|
Name 14 "fragMask"
|
|
Name 18 "s2DMS"
|
|
Name 27 "fragIndex"
|
|
Name 42 "is2DMSArray"
|
|
Name 62 "usubpassMS"
|
|
Name 78 "fragColor"
|
|
Decorate 18(s2DMS) Binding 0
|
|
Decorate 18(s2DMS) DescriptorSet 0
|
|
Decorate 42(is2DMSArray) Binding 1
|
|
Decorate 42(is2DMSArray) DescriptorSet 0
|
|
Decorate 62(usubpassMS) Binding 2
|
|
Decorate 62(usubpassMS) DescriptorSet 0
|
|
Decorate 62(usubpassMS) InputAttachmentIndex 0
|
|
Decorate 78(fragColor) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
10: 6(float) Constant 0
|
|
11: 7(fvec4) ConstantComposite 10 10 10 10
|
|
12: TypeInt 32 0
|
|
13: TypePointer Function 12(int)
|
|
15: TypeImage 6(float) 2D multi-sampled sampled format:Unknown
|
|
16: TypeSampledImage 15
|
|
17: TypePointer UniformConstant 16
|
|
18(s2DMS): 17(ptr) Variable UniformConstant
|
|
20: TypeInt 32 1
|
|
21: TypeVector 20(int) 2
|
|
22: 20(int) Constant 2
|
|
23: 20(int) Constant 3
|
|
24: 21(ivec2) ConstantComposite 22 23
|
|
29: 12(int) Constant 240
|
|
31: 20(int) Constant 4
|
|
34: 12(int) Constant 1
|
|
39: TypeImage 20(int) 2D array multi-sampled sampled format:Unknown
|
|
40: TypeSampledImage 39
|
|
41: TypePointer UniformConstant 40
|
|
42(is2DMSArray): 41(ptr) Variable UniformConstant
|
|
44: TypeVector 20(int) 3
|
|
45: 20(int) Constant 1
|
|
46: 44(ivec3) ConstantComposite 22 23 45
|
|
55: TypeVector 20(int) 4
|
|
60: TypeImage 12(int) SubpassData multi-sampled nonsampled format:Unknown
|
|
61: TypePointer UniformConstant 60
|
|
62(usubpassMS): 61(ptr) Variable UniformConstant
|
|
64: 20(int) Constant 0
|
|
65: 21(ivec2) ConstantComposite 64 64
|
|
72: TypeVector 12(int) 4
|
|
77: TypePointer Output 7(fvec4)
|
|
78(fragColor): 77(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(f4): 8(ptr) Variable Function
|
|
14(fragMask): 13(ptr) Variable Function
|
|
27(fragIndex): 13(ptr) Variable Function
|
|
Store 9(f4) 11
|
|
19: 16 Load 18(s2DMS)
|
|
25: 15 Image 19
|
|
26: 12(int) FragmentMaskFetchAMD 25 24
|
|
Store 14(fragMask) 26
|
|
28: 12(int) Load 14(fragMask)
|
|
30: 12(int) BitwiseAnd 28 29
|
|
32: 12(int) ShiftRightLogical 30 31
|
|
Store 27(fragIndex) 32
|
|
33: 16 Load 18(s2DMS)
|
|
35: 15 Image 33
|
|
36: 7(fvec4) FragmentFetchAMD 35 24 34
|
|
37: 7(fvec4) Load 9(f4)
|
|
38: 7(fvec4) FAdd 37 36
|
|
Store 9(f4) 38
|
|
43: 40 Load 42(is2DMSArray)
|
|
47: 39 Image 43
|
|
48: 12(int) FragmentMaskFetchAMD 47 46
|
|
Store 14(fragMask) 48
|
|
49: 12(int) Load 14(fragMask)
|
|
50: 12(int) BitwiseAnd 49 29
|
|
51: 12(int) ShiftRightLogical 50 31
|
|
Store 27(fragIndex) 51
|
|
52: 40 Load 42(is2DMSArray)
|
|
53: 12(int) Load 27(fragIndex)
|
|
54: 39 Image 52
|
|
56: 55(ivec4) FragmentFetchAMD 54 46 53
|
|
57: 7(fvec4) ConvertSToF 56
|
|
58: 7(fvec4) Load 9(f4)
|
|
59: 7(fvec4) FAdd 58 57
|
|
Store 9(f4) 59
|
|
63: 60 Load 62(usubpassMS)
|
|
66: 12(int) FragmentMaskFetchAMD 63 65
|
|
Store 14(fragMask) 66
|
|
67: 12(int) Load 14(fragMask)
|
|
68: 12(int) BitwiseAnd 67 29
|
|
69: 12(int) ShiftRightLogical 68 31
|
|
Store 27(fragIndex) 69
|
|
70: 60 Load 62(usubpassMS)
|
|
71: 12(int) Load 27(fragIndex)
|
|
73: 72(ivec4) FragmentFetchAMD 70 65 71
|
|
74: 7(fvec4) ConvertUToF 73
|
|
75: 7(fvec4) Load 9(f4)
|
|
76: 7(fvec4) FAdd 75 74
|
|
Store 9(f4) 76
|
|
79: 7(fvec4) Load 9(f4)
|
|
Store 78(fragColor) 79
|
|
Return
|
|
FunctionEnd
|