Generate separate stores for partially swizzled memory stores
[platform/upstream/glslang.git] / Test / baseResults / spv.meshShaderUserDefined.mesh.out
index c14e19c..01ee933 100644 (file)
@@ -1,15 +1,13 @@
 spv.meshShaderUserDefined.mesh
-error: SPIRV-Tools Validation Errors
-error: Invalid capability operand: 5266
 // Module Version 10000
-// Generated by (magic number): 80007
-// Id's are bound by 138
+// Generated by (magic number): 8000a
+// Id's are bound by 141
 
                               Capability MeshShadingNV
                               Extension  "SPV_NV_mesh_shader"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint MeshNV 4  "main" 11 17 34 101
+                              EntryPoint MeshNV 4  "main" 11 17 34 104
                               ExecutionMode 4 LocalSize 32 1 1
                               ExecutionMode 4 OutputVertices 81
                               ExecutionMode 4 OutputPrimitivesNV 32
@@ -29,11 +27,11 @@ error: Invalid capability operand: 5266
                               MemberName 30(myblock) 4  "m"
                               MemberName 30(myblock) 5  "mArr"
                               Name 34  "blk"
-                              Name 97  "myblock2"
-                              MemberName 97(myblock2) 0  "f"
-                              MemberName 97(myblock2) 1  "pos"
-                              MemberName 97(myblock2) 2  "m"
-                              Name 101  "blk2"
+                              Name 100  "myblock2"
+                              MemberName 100(myblock2) 0  "f"
+                              MemberName 100(myblock2) 1  "pos"
+                              MemberName 100(myblock2) 2  "m"
+                              Name 104  "blk2"
                               Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                               Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
                               MemberDecorate 30(myblock) 0 PerPrimitiveNV
@@ -44,9 +42,9 @@ error: Invalid capability operand: 5266
                               MemberDecorate 30(myblock) 5 PerPrimitiveNV
                               Decorate 30(myblock) Block
                               Decorate 34(blk) Location 0
-                              Decorate 97(myblock2) Block
-                              Decorate 101(blk2) Location 20
-                              Decorate 137 BuiltIn WorkgroupSize
+                              Decorate 100(myblock2) Block
+                              Decorate 104(blk2) Location 20
+                              Decorate 140 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -85,30 +83,30 @@ error: Invalid capability operand: 5266
               56:   23(fvec3) ConstantComposite 53 54 55
               57:             TypePointer Output 23(fvec3)
               63:     36(int) Constant 3
-              68:             TypePointer Output 24(fvec4)
-              74:     36(int) Constant 4
-              75:   20(float) Constant 1098907648
-              76:   24(fvec4) ConstantComposite 55 53 54 75
-              81:     36(int) Constant 5
-              84:      6(int) Constant 3
-              91:   20(float) Constant 1099431936
-              92:   20(float) Constant 1099956224
-              93:   20(float) Constant 1100480512
-              94:   23(fvec3) ConstantComposite 91 92 93
-              96:      6(int) Constant 264
-    97(myblock2):             TypeStruct 20(float) 24(fvec4) 26
-              98:      6(int) Constant 81
-              99:             TypeArray 97(myblock2) 98
-             100:             TypePointer Output 99
-       101(blk2):    100(ptr) Variable Output
-             107:   20(float) Constant 1101004800
-             111:   20(float) Constant 1101529088
-             112:   20(float) Constant 1102053376
-             113:   20(float) Constant 1102577664
-             114:   20(float) Constant 1103101952
-             115:   24(fvec4) ConstantComposite 111 112 113 114
-             127:   20(float) Constant 1105723392
-             137:    9(ivec3) ConstantComposite 31 42 42
+              72:      6(int) Constant 3
+              77:     36(int) Constant 4
+              78:   20(float) Constant 1098907648
+              79:   24(fvec4) ConstantComposite 55 53 54 78
+              80:             TypePointer Output 24(fvec4)
+              85:     36(int) Constant 5
+              94:   20(float) Constant 1099431936
+              95:   20(float) Constant 1099956224
+              96:   20(float) Constant 1100480512
+              97:   23(fvec3) ConstantComposite 94 95 96
+              99:      6(int) Constant 264
+   100(myblock2):             TypeStruct 20(float) 24(fvec4) 26
+             101:      6(int) Constant 81
+             102:             TypeArray 100(myblock2) 101
+             103:             TypePointer Output 102
+       104(blk2):    103(ptr) Variable Output
+             110:   20(float) Constant 1101004800
+             114:   20(float) Constant 1101529088
+             115:   20(float) Constant 1102053376
+             116:   20(float) Constant 1102577664
+             117:   20(float) Constant 1103101952
+             118:   24(fvec4) ConstantComposite 114 115 116 117
+             130:   20(float) Constant 1105723392
+             140:    9(ivec3) ConstantComposite 31 42 42
          4(main):           2 Function None 3
                5:             Label
           8(iid):      7(ptr) Variable Function
@@ -142,64 +140,69 @@ error: Invalid capability operand: 5266
               65:      6(int) UDiv 64 28
               66:     57(ptr) AccessChain 34(blk) 65 52
               67:   23(fvec3) Load 66
-              69:     68(ptr) AccessChain 34(blk) 62 63 44
-              70:   24(fvec4) Load 69
-              71:   24(fvec4) VectorShuffle 70 67 0 4 5 6
-                              Store 69 71
-              72:      6(int) Load 8(iid)
-              73:      6(int) UDiv 72 21
-              77:     68(ptr) AccessChain 34(blk) 73 74 52
-              78:   24(fvec4) Load 77
-              79:   24(fvec4) VectorShuffle 78 76 7 6 5 4
-                              Store 77 79
-              80:      6(int) Load 8(iid)
-              82:      6(int) Load 8(iid)
-              83:      6(int) UDiv 82 21
-              85:     39(ptr) AccessChain 34(blk) 83 74 52 84
-              86:   20(float) Load 85
-              87:     39(ptr) AccessChain 34(blk) 80 81 37 44 42
-                              Store 87 86
-              88:      6(int) Load 8(iid)
-              89:      6(int) IMul 88 21
-              90:      6(int) Load 16(gid)
-              95:     57(ptr) AccessChain 34(blk) 89 81 44 90
-                              Store 95 94
-                              MemoryBarrier 42 96
-                              ControlBarrier 28 28 96
-             102:      6(int) Load 8(iid)
-             103:      6(int) Load 8(iid)
-             104:      6(int) ISub 103 42
-             105:     39(ptr) AccessChain 101(blk2) 104 37
-             106:   20(float) Load 105
-             108:   20(float) FAdd 106 107
-             109:     39(ptr) AccessChain 101(blk2) 102 37
-                              Store 109 108
-             110:      6(int) Load 8(iid)
-             116:     68(ptr) AccessChain 101(blk2) 110 44
-                              Store 116 115
-             117:      6(int) Load 8(iid)
-             118:      6(int) IAdd 117 42
-             119:      6(int) Load 16(gid)
+              68:     39(ptr) AccessChain 34(blk) 62 63 44 42
+              69:   20(float) CompositeExtract 67 0
+                              Store 68 69
+              70:     39(ptr) AccessChain 34(blk) 62 63 44 28
+              71:   20(float) CompositeExtract 67 1
+                              Store 70 71
+              73:     39(ptr) AccessChain 34(blk) 62 63 44 72
+              74:   20(float) CompositeExtract 67 2
+                              Store 73 74
+              75:      6(int) Load 8(iid)
+              76:      6(int) UDiv 75 21
+              81:     80(ptr) AccessChain 34(blk) 76 77 52
+              82:   24(fvec4) Load 81
+              83:   24(fvec4) VectorShuffle 82 79 7 6 5 4
+                              Store 81 83
+              84:      6(int) Load 8(iid)
+              86:      6(int) Load 8(iid)
+              87:      6(int) UDiv 86 21
+              88:     39(ptr) AccessChain 34(blk) 87 77 52 72
+              89:   20(float) Load 88
+              90:     39(ptr) AccessChain 34(blk) 84 85 37 44 42
+                              Store 90 89
+              91:      6(int) Load 8(iid)
+              92:      6(int) IMul 91 21
+              93:      6(int) Load 16(gid)
+              98:     57(ptr) AccessChain 34(blk) 92 85 44 93
+                              Store 98 97
+                              MemoryBarrier 42 99
+                              ControlBarrier 28 28 99
+             105:      6(int) Load 8(iid)
+             106:      6(int) Load 8(iid)
+             107:      6(int) ISub 106 42
+             108:     39(ptr) AccessChain 104(blk2) 107 37
+             109:   20(float) Load 108
+             111:   20(float) FAdd 109 110
+             112:     39(ptr) AccessChain 104(blk2) 105 37
+                              Store 112 111
+             113:      6(int) Load 8(iid)
+             119:     80(ptr) AccessChain 104(blk2) 113 44
+                              Store 119 118
              120:      6(int) Load 8(iid)
-             121:     68(ptr) AccessChain 101(blk2) 120 44
-             122:   24(fvec4) Load 121
-             123:     68(ptr) AccessChain 101(blk2) 118 52 119
-                              Store 123 122
-             124:      6(int) Load 8(iid)
-             125:      6(int) IAdd 124 42
-             126:      6(int) Load 16(gid)
-             128:     39(ptr) AccessChain 101(blk2) 125 52 126 28
-                              Store 128 127
-             129:      6(int) Load 8(iid)
-             130:      6(int) IAdd 129 28
-             131:      6(int) Load 8(iid)
-             132:      6(int) IAdd 131 42
-             133:      6(int) Load 16(gid)
-             134:     68(ptr) AccessChain 101(blk2) 132 52 133
-             135:   24(fvec4) Load 134
-             136:     68(ptr) AccessChain 101(blk2) 130 52 63
-                              Store 136 135
-                              MemoryBarrier 42 96
-                              ControlBarrier 28 28 96
+             121:      6(int) IAdd 120 42
+             122:      6(int) Load 16(gid)
+             123:      6(int) Load 8(iid)
+             124:     80(ptr) AccessChain 104(blk2) 123 44
+             125:   24(fvec4) Load 124
+             126:     80(ptr) AccessChain 104(blk2) 121 52 122
+                              Store 126 125
+             127:      6(int) Load 8(iid)
+             128:      6(int) IAdd 127 42
+             129:      6(int) Load 16(gid)
+             131:     39(ptr) AccessChain 104(blk2) 128 52 129 28
+                              Store 131 130
+             132:      6(int) Load 8(iid)
+             133:      6(int) IAdd 132 28
+             134:      6(int) Load 8(iid)
+             135:      6(int) IAdd 134 42
+             136:      6(int) Load 16(gid)
+             137:     80(ptr) AccessChain 104(blk2) 135 52 136
+             138:   24(fvec4) Load 137
+             139:     80(ptr) AccessChain 104(blk2) 133 52 63
+                              Store 139 138
+                              MemoryBarrier 42 99
+                              ControlBarrier 28 28 99
                               Return
                               FunctionEnd