spv.ext.meshShaderBuiltinsShadingRate.mesh // Module Version 10400 // Generated by (magic number): 8000b // Id's are bound by 164 Capability ClipDistance Capability CullDistance Capability FragmentShadingRateKHR Capability DrawParameters Capability MultiView Capability MeshShadingEXT Extension "SPV_EXT_mesh_shader" Extension "SPV_KHR_fragment_shading_rate" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint MeshEXT 4 "main" 13 19 24 41 93 140 158 161 ExecutionMode 4 LocalSize 32 1 1 ExecutionMode 4 OutputVertices 81 ExecutionMode 4 OutputPrimitivesNV 32 ExecutionMode 4 OutputTrianglesNV Source GLSL 460 SourceExtension "GL_ARB_shader_draw_parameters" SourceExtension "GL_EXT_fragment_shading_rate" SourceExtension "GL_EXT_mesh_shader" SourceExtension "GL_EXT_multiview" Name 4 "main" Name 6 "testAdditionalBuiltins(" Name 10 "iid" Name 13 "gl_LocalInvocationID" Name 18 "gid" Name 19 "gl_WorkGroupID" Name 23 "numWorkGrous" Name 24 "gl_NumWorkGroups" Name 26 "vertexCount" Name 28 "primitiveCount" Name 38 "gl_MeshPerVertexEXT" MemberName 38(gl_MeshPerVertexEXT) 0 "gl_Position" MemberName 38(gl_MeshPerVertexEXT) 1 "gl_PointSize" MemberName 38(gl_MeshPerVertexEXT) 2 "gl_ClipDistance" MemberName 38(gl_MeshPerVertexEXT) 3 "gl_CullDistance" Name 41 "gl_MeshVerticesEXT" Name 90 "gl_MeshPerPrimitiveEXT" MemberName 90(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID" MemberName 90(gl_MeshPerPrimitiveEXT) 1 "gl_Layer" MemberName 90(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex" MemberName 90(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT" MemberName 90(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT" Name 93 "gl_MeshPrimitivesEXT" Name 140 "gl_PrimitiveTriangleIndicesEXT" Name 156 "id" Name 158 "gl_DrawIDARB" Name 160 "viewIdx" Name 161 "gl_ViewIndex" Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups Decorate 38(gl_MeshPerVertexEXT) Block MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance Decorate 90(gl_MeshPerPrimitiveEXT) Block MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV Decorate 140(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 158(gl_DrawIDARB) BuiltIn DrawIndex Decorate 161(gl_ViewIndex) BuiltIn ViewIndex Decorate 163 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 8: TypeInt 32 0 9: TypePointer Function 8(int) 11: TypeVector 8(int) 3 12: TypePointer Input 11(ivec3) 13(gl_LocalInvocationID): 12(ptr) Variable Input 14: 8(int) Constant 0 15: TypePointer Input 8(int) 19(gl_WorkGroupID): 12(ptr) Variable Input 22: TypePointer Function 11(ivec3) 24(gl_NumWorkGroups): 12(ptr) Variable Input 27: 8(int) Constant 81 29: 8(int) Constant 32 32: TypeFloat 32 33: TypeVector 32(float) 4 34: 8(int) Constant 4 35: TypeArray 32(float) 34 36: 8(int) Constant 3 37: TypeArray 32(float) 36 38(gl_MeshPerVertexEXT): TypeStruct 33(fvec4) 32(float) 35 37 39: TypeArray 38(gl_MeshPerVertexEXT) 27 40: TypePointer Output 39 41(gl_MeshVerticesEXT): 40(ptr) Variable Output 43: TypeInt 32 1 44: 43(int) Constant 0 45: 32(float) Constant 1065353216 46: 33(fvec4) ConstantComposite 45 45 45 45 47: TypePointer Output 33(fvec4) 50: 43(int) Constant 1 51: 32(float) Constant 1073741824 52: TypePointer Output 32(float) 55: 43(int) Constant 2 56: 43(int) Constant 3 57: 32(float) Constant 1077936128 60: 32(float) Constant 1082130432 62: 8(int) Constant 1 63: 8(int) Constant 264 64: 8(int) Constant 2 89: TypeBool 90(gl_MeshPerPrimitiveEXT): TypeStruct 43(int) 43(int) 43(int) 89(bool) 43(int) 91: TypeArray 90(gl_MeshPerPrimitiveEXT) 29 92: TypePointer Output 91 93(gl_MeshPrimitivesEXT): 92(ptr) Variable Output 95: 43(int) Constant 6 96: TypePointer Output 43(int) 99: 43(int) Constant 7 102: 43(int) Constant 8 105: 89(bool) ConstantFalse 106: TypePointer Output 89(bool) 109: 43(int) Constant 4 138: TypeArray 11(ivec3) 29 139: TypePointer Output 138 140(gl_PrimitiveTriangleIndicesEXT): 139(ptr) Variable Output 141: 8(int) Constant 257 142: 11(ivec3) ConstantComposite 141 141 141 143: TypePointer Output 11(ivec3) 147: 11(ivec3) ConstantComposite 64 64 64 155: TypePointer Function 43(int) 157: TypePointer Input 43(int) 158(gl_DrawIDARB): 157(ptr) Variable Input 161(gl_ViewIndex): 157(ptr) Variable Input 163: 11(ivec3) ConstantComposite 29 62 62 4(main): 2 Function None 3 5: Label 10(iid): 9(ptr) Variable Function 18(gid): 9(ptr) Variable Function 23(numWorkGrous): 22(ptr) Variable Function 26(vertexCount): 9(ptr) Variable Function 28(primitiveCount): 9(ptr) Variable Function 16: 15(ptr) AccessChain 13(gl_LocalInvocationID) 14 17: 8(int) Load 16 Store 10(iid) 17 20: 15(ptr) AccessChain 19(gl_WorkGroupID) 14 21: 8(int) Load 20 Store 18(gid) 21 25: 11(ivec3) Load 24(gl_NumWorkGroups) Store 23(numWorkGrous) 25 Store 26(vertexCount) 27 Store 28(primitiveCount) 29 30: 8(int) Load 26(vertexCount) 31: 8(int) Load 28(primitiveCount) SetMeshOutputsEXT 30 31 42: 8(int) Load 10(iid) 48: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 42 44 Store 48 46 49: 8(int) Load 10(iid) 53: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 49 50 Store 53 51 54: 8(int) Load 10(iid) 58: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 54 55 56 Store 58 57 59: 8(int) Load 10(iid) 61: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 59 56 55 Store 61 60 MemoryBarrier 62 63 ControlBarrier 64 64 63 65: 8(int) Load 10(iid) 66: 8(int) IAdd 65 62 67: 8(int) Load 10(iid) 68: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 67 44 69: 33(fvec4) Load 68 70: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 66 44 Store 70 69 71: 8(int) Load 10(iid) 72: 8(int) IAdd 71 62 73: 8(int) Load 10(iid) 74: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 73 50 75: 32(float) Load 74 76: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 72 50 Store 76 75 77: 8(int) Load 10(iid) 78: 8(int) IAdd 77 62 79: 8(int) Load 10(iid) 80: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 79 55 56 81: 32(float) Load 80 82: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 78 55 56 Store 82 81 83: 8(int) Load 10(iid) 84: 8(int) IAdd 83 62 85: 8(int) Load 10(iid) 86: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 85 56 55 87: 32(float) Load 86 88: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 84 56 55 Store 88 87 MemoryBarrier 62 63 ControlBarrier 64 64 63 94: 8(int) Load 10(iid) 97: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 94 44 Store 97 95 98: 8(int) Load 10(iid) 100: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 98 50 Store 100 99 101: 8(int) Load 10(iid) 103: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 101 55 Store 103 102 104: 8(int) Load 10(iid) 107: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 104 56 Store 107 105 108: 8(int) Load 10(iid) 110: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 108 109 Store 110 44 MemoryBarrier 62 63 ControlBarrier 64 64 63 111: 8(int) Load 10(iid) 112: 8(int) IAdd 111 62 113: 8(int) Load 10(iid) 114: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 113 44 115: 43(int) Load 114 116: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 112 44 Store 116 115 117: 8(int) Load 10(iid) 118: 8(int) IAdd 117 62 119: 8(int) Load 10(iid) 120: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 119 50 121: 43(int) Load 120 122: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 118 50 Store 122 121 123: 8(int) Load 10(iid) 124: 8(int) IAdd 123 62 125: 8(int) Load 10(iid) 126: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 125 55 127: 43(int) Load 126 128: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 124 55 Store 128 127 129: 8(int) Load 10(iid) 130: 8(int) IAdd 129 62 131: 8(int) Load 10(iid) 132: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 131 56 133: 89(bool) Load 132 134: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 130 56 Store 134 133 135: 8(int) Load 10(iid) 136: 8(int) IAdd 135 62 137: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 136 109 Store 137 44 MemoryBarrier 62 63 ControlBarrier 64 64 63 144: 143(ptr) AccessChain 140(gl_PrimitiveTriangleIndicesEXT) 44 Store 144 142 145: 8(int) Load 28(primitiveCount) 146: 8(int) ISub 145 62 148: 143(ptr) AccessChain 140(gl_PrimitiveTriangleIndicesEXT) 146 Store 148 147 149: 8(int) Load 18(gid) 150: 8(int) Load 18(gid) 151: 8(int) ISub 150 62 152: 143(ptr) AccessChain 140(gl_PrimitiveTriangleIndicesEXT) 151 153: 11(ivec3) Load 152 154: 143(ptr) AccessChain 140(gl_PrimitiveTriangleIndicesEXT) 149 Store 154 153 MemoryBarrier 62 63 ControlBarrier 64 64 63 Return FunctionEnd 6(testAdditionalBuiltins(): 2 Function None 3 7: Label 156(id): 155(ptr) Variable Function 160(viewIdx): 155(ptr) Variable Function 159: 43(int) Load 158(gl_DrawIDARB) Store 156(id) 159 162: 43(int) Load 161(gl_ViewIndex) Store 160(viewIdx) 162 Return FunctionEnd