1spv.shaderFragMaskAMD.frag 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 80 5 6 Capability Shader 7 Capability InputAttachment 8 Capability FragmentMaskAMD 9 Extension "SPV_AMD_shader_fragment_mask" 10 1: ExtInstImport "GLSL.std.450" 11 MemoryModel Logical GLSL450 12 EntryPoint Fragment 4 "main" 78 13 ExecutionMode 4 OriginUpperLeft 14 Source GLSL 450 15 SourceExtension "GL_AMD_shader_fragment_mask" 16 Name 4 "main" 17 Name 9 "f4" 18 Name 14 "fragMask" 19 Name 18 "s2DMS" 20 Name 27 "fragIndex" 21 Name 42 "is2DMSArray" 22 Name 62 "usubpassMS" 23 Name 78 "fragColor" 24 Decorate 18(s2DMS) DescriptorSet 0 25 Decorate 18(s2DMS) Binding 0 26 Decorate 42(is2DMSArray) DescriptorSet 0 27 Decorate 42(is2DMSArray) Binding 1 28 Decorate 62(usubpassMS) DescriptorSet 0 29 Decorate 62(usubpassMS) Binding 2 30 Decorate 62(usubpassMS) InputAttachmentIndex 0 31 Decorate 78(fragColor) Location 0 32 2: TypeVoid 33 3: TypeFunction 2 34 6: TypeFloat 32 35 7: TypeVector 6(float) 4 36 8: TypePointer Function 7(fvec4) 37 10: 6(float) Constant 0 38 11: 7(fvec4) ConstantComposite 10 10 10 10 39 12: TypeInt 32 0 40 13: TypePointer Function 12(int) 41 15: TypeImage 6(float) 2D multi-sampled sampled format:Unknown 42 16: TypeSampledImage 15 43 17: TypePointer UniformConstant 16 44 18(s2DMS): 17(ptr) Variable UniformConstant 45 20: TypeInt 32 1 46 21: TypeVector 20(int) 2 47 22: 20(int) Constant 2 48 23: 20(int) Constant 3 49 24: 21(ivec2) ConstantComposite 22 23 50 29: 12(int) Constant 240 51 31: 20(int) Constant 4 52 34: 12(int) Constant 1 53 39: TypeImage 20(int) 2D array multi-sampled sampled format:Unknown 54 40: TypeSampledImage 39 55 41: TypePointer UniformConstant 40 56 42(is2DMSArray): 41(ptr) Variable UniformConstant 57 44: TypeVector 20(int) 3 58 45: 20(int) Constant 1 59 46: 44(ivec3) ConstantComposite 22 23 45 60 55: TypeVector 20(int) 4 61 60: TypeImage 12(int) SubpassData multi-sampled nonsampled format:Unknown 62 61: TypePointer UniformConstant 60 63 62(usubpassMS): 61(ptr) Variable UniformConstant 64 64: 20(int) Constant 0 65 65: 21(ivec2) ConstantComposite 64 64 66 72: TypeVector 12(int) 4 67 77: TypePointer Output 7(fvec4) 68 78(fragColor): 77(ptr) Variable Output 69 4(main): 2 Function None 3 70 5: Label 71 9(f4): 8(ptr) Variable Function 72 14(fragMask): 13(ptr) Variable Function 73 27(fragIndex): 13(ptr) Variable Function 74 Store 9(f4) 11 75 19: 16 Load 18(s2DMS) 76 25: 15 Image 19 77 26: 12(int) FragmentMaskFetchAMD 25 24 78 Store 14(fragMask) 26 79 28: 12(int) Load 14(fragMask) 80 30: 12(int) BitwiseAnd 28 29 81 32: 12(int) ShiftRightLogical 30 31 82 Store 27(fragIndex) 32 83 33: 16 Load 18(s2DMS) 84 35: 15 Image 33 85 36: 7(fvec4) FragmentFetchAMD 35 24 34 86 37: 7(fvec4) Load 9(f4) 87 38: 7(fvec4) FAdd 37 36 88 Store 9(f4) 38 89 43: 40 Load 42(is2DMSArray) 90 47: 39 Image 43 91 48: 12(int) FragmentMaskFetchAMD 47 46 92 Store 14(fragMask) 48 93 49: 12(int) Load 14(fragMask) 94 50: 12(int) BitwiseAnd 49 29 95 51: 12(int) ShiftRightLogical 50 31 96 Store 27(fragIndex) 51 97 52: 40 Load 42(is2DMSArray) 98 53: 12(int) Load 27(fragIndex) 99 54: 39 Image 52 100 56: 55(ivec4) FragmentFetchAMD 54 46 53 101 57: 7(fvec4) ConvertSToF 56 102 58: 7(fvec4) Load 9(f4) 103 59: 7(fvec4) FAdd 58 57 104 Store 9(f4) 59 105 63: 60 Load 62(usubpassMS) 106 66: 12(int) FragmentMaskFetchAMD 63 65 107 Store 14(fragMask) 66 108 67: 12(int) Load 14(fragMask) 109 68: 12(int) BitwiseAnd 67 29 110 69: 12(int) ShiftRightLogical 68 31 111 Store 27(fragIndex) 69 112 70: 60 Load 62(usubpassMS) 113 71: 12(int) Load 27(fragIndex) 114 73: 72(ivec4) FragmentFetchAMD 70 65 71 115 74: 7(fvec4) ConvertUToF 73 116 75: 7(fvec4) Load 9(f4) 117 76: 7(fvec4) FAdd 75 74 118 Store 9(f4) 76 119 79: 7(fvec4) Load 9(f4) 120 Store 78(fragColor) 79 121 Return 122 FunctionEnd 123