| spv.shaderFragMaskAMD.frag |
| // Module Version 10000 |
| // Generated by (magic number): 80003 |
| // 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) DescriptorSet 0 |
| Decorate 18(s2DMS) Binding 0 |
| Decorate 42(is2DMSArray) DescriptorSet 0 |
| Decorate 42(is2DMSArray) Binding 1 |
| Decorate 62(usubpassMS) DescriptorSet 0 |
| Decorate 62(usubpassMS) Binding 2 |
| 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 |