Merge pull request #522 from steve-lunarg/glsl-binding-test
GLSL: Add IO map tests
This commit is contained in:
		
						commit
						f38978edb6
					
				
							
								
								
									
										228
									
								
								Test/baseResults/spv.glsl.register.autoassign.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								Test/baseResults/spv.glsl.register.autoassign.frag.out
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,228 @@
 | 
				
			|||||||
 | 
					spv.glsl.register.autoassign.frag
 | 
				
			||||||
 | 
					Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Linked fragment stage:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Module Version 10000
 | 
				
			||||||
 | 
					// Generated by (magic number): 80001
 | 
				
			||||||
 | 
					// Id's are bound by 142
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              Capability Shader
 | 
				
			||||||
 | 
					                              Capability Sampled1D
 | 
				
			||||||
 | 
					               1:             ExtInstImport  "GLSL.std.450"
 | 
				
			||||||
 | 
					                              MemoryModel Logical GLSL450
 | 
				
			||||||
 | 
					                              EntryPoint Fragment 4  "main" 137
 | 
				
			||||||
 | 
					                              ExecutionMode 4 OriginUpperLeft
 | 
				
			||||||
 | 
					                              Source GLSL 450
 | 
				
			||||||
 | 
					                              Name 4  "main"
 | 
				
			||||||
 | 
					                              Name 9  "Func1("
 | 
				
			||||||
 | 
					                              Name 11  "Func2("
 | 
				
			||||||
 | 
					                              Name 13  "Func2_unused("
 | 
				
			||||||
 | 
					                              Name 17  "g_tTex1"
 | 
				
			||||||
 | 
					                              Name 21  "g_sSamp1"
 | 
				
			||||||
 | 
					                              Name 27  "g_tTex2"
 | 
				
			||||||
 | 
					                              Name 29  "g_sSamp2"
 | 
				
			||||||
 | 
					                              Name 39  "g_tTex3"
 | 
				
			||||||
 | 
					                              Name 46  "g_sSamp3"
 | 
				
			||||||
 | 
					                              Name 64  "g_tTex4"
 | 
				
			||||||
 | 
					                              Name 69  "g_sSamp4"
 | 
				
			||||||
 | 
					                              Name 84  "g_tTex5"
 | 
				
			||||||
 | 
					                              Name 86  "g_sSamp5"
 | 
				
			||||||
 | 
					                              Name 93  "MyStruct_t"
 | 
				
			||||||
 | 
					                              MemberName 93(MyStruct_t) 0  "a"
 | 
				
			||||||
 | 
					                              MemberName 93(MyStruct_t) 1  "b"
 | 
				
			||||||
 | 
					                              MemberName 93(MyStruct_t) 2  "c"
 | 
				
			||||||
 | 
					                              Name 95  "myblock"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 0  "mystruct"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 1  "myvec4_a"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 2  "myvec4_b"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 3  "myint4_a"
 | 
				
			||||||
 | 
					                              Name 97  ""
 | 
				
			||||||
 | 
					                              Name 119  "g_tTex_unused1"
 | 
				
			||||||
 | 
					                              Name 121  "g_sSamp_unused1"
 | 
				
			||||||
 | 
					                              Name 126  "g_tTex_unused2"
 | 
				
			||||||
 | 
					                              Name 128  "g_sSamp_unused2"
 | 
				
			||||||
 | 
					                              Name 137  "FragColor"
 | 
				
			||||||
 | 
					                              Name 141  "g_tTex_unused3"
 | 
				
			||||||
 | 
					                              Decorate 17(g_tTex1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 17(g_tTex1) Binding 11
 | 
				
			||||||
 | 
					                              Decorate 21(g_sSamp1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 21(g_sSamp1) Binding 5
 | 
				
			||||||
 | 
					                              Decorate 27(g_tTex2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 27(g_tTex2) Binding 1
 | 
				
			||||||
 | 
					                              Decorate 29(g_sSamp2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 29(g_sSamp2) Binding 2
 | 
				
			||||||
 | 
					                              Decorate 39(g_tTex3) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 39(g_tTex3) Binding 13
 | 
				
			||||||
 | 
					                              Decorate 46(g_sSamp3) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 46(g_sSamp3) Binding 7
 | 
				
			||||||
 | 
					                              Decorate 64(g_tTex4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 64(g_tTex4) Binding 3
 | 
				
			||||||
 | 
					                              Decorate 69(g_sSamp4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 69(g_sSamp4) Binding 4
 | 
				
			||||||
 | 
					                              Decorate 84(g_tTex5) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 84(g_tTex5) Binding 6
 | 
				
			||||||
 | 
					                              Decorate 86(g_sSamp5) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 86(g_sSamp5) Binding 8
 | 
				
			||||||
 | 
					                              MemberDecorate 93(MyStruct_t) 0 Offset 0
 | 
				
			||||||
 | 
					                              MemberDecorate 93(MyStruct_t) 1 Offset 4
 | 
				
			||||||
 | 
					                              MemberDecorate 93(MyStruct_t) 2 Offset 16
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 0 Offset 0
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 1 Offset 32
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 2 Offset 48
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 3 Offset 64
 | 
				
			||||||
 | 
					                              Decorate 95(myblock) Block
 | 
				
			||||||
 | 
					                              Decorate 97 DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 97 Binding 19
 | 
				
			||||||
 | 
					                              Decorate 119(g_tTex_unused1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 119(g_tTex_unused1) Binding 10
 | 
				
			||||||
 | 
					                              Decorate 121(g_sSamp_unused1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 126(g_tTex_unused2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 126(g_tTex_unused2) Binding 12
 | 
				
			||||||
 | 
					                              Decorate 128(g_sSamp_unused2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 141(g_tTex_unused3) DescriptorSet 0
 | 
				
			||||||
 | 
					               2:             TypeVoid
 | 
				
			||||||
 | 
					               3:             TypeFunction 2
 | 
				
			||||||
 | 
					               6:             TypeFloat 32
 | 
				
			||||||
 | 
					               7:             TypeVector 6(float) 4
 | 
				
			||||||
 | 
					               8:             TypeFunction 7(fvec4)
 | 
				
			||||||
 | 
					              15:             TypeImage 6(float) 1D sampled format:Unknown
 | 
				
			||||||
 | 
					              16:             TypePointer UniformConstant 15
 | 
				
			||||||
 | 
					     17(g_tTex1):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              19:             TypeSampler
 | 
				
			||||||
 | 
					              20:             TypePointer UniformConstant 19
 | 
				
			||||||
 | 
					    21(g_sSamp1):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              23:             TypeSampledImage 15
 | 
				
			||||||
 | 
					              25:    6(float) Constant 1036831949
 | 
				
			||||||
 | 
					     27(g_tTex2):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					    29(g_sSamp2):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              32:    6(float) Constant 1045220557
 | 
				
			||||||
 | 
					              35:             TypeInt 32 0
 | 
				
			||||||
 | 
					              36:     35(int) Constant 2
 | 
				
			||||||
 | 
					              37:             TypeArray 15 36
 | 
				
			||||||
 | 
					              38:             TypePointer UniformConstant 37
 | 
				
			||||||
 | 
					     39(g_tTex3):     38(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              40:             TypeInt 32 1
 | 
				
			||||||
 | 
					              41:     40(int) Constant 0
 | 
				
			||||||
 | 
					              44:             TypeArray 19 36
 | 
				
			||||||
 | 
					              45:             TypePointer UniformConstant 44
 | 
				
			||||||
 | 
					    46(g_sSamp3):     45(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              50:    6(float) Constant 1050253722
 | 
				
			||||||
 | 
					              53:     40(int) Constant 1
 | 
				
			||||||
 | 
					              61:     35(int) Constant 3
 | 
				
			||||||
 | 
					              62:             TypeArray 15 61
 | 
				
			||||||
 | 
					              63:             TypePointer UniformConstant 62
 | 
				
			||||||
 | 
					     64(g_tTex4):     63(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              67:             TypeArray 19 61
 | 
				
			||||||
 | 
					              68:             TypePointer UniformConstant 67
 | 
				
			||||||
 | 
					    69(g_sSamp4):     68(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              73:    6(float) Constant 1053609165
 | 
				
			||||||
 | 
					              76:     40(int) Constant 2
 | 
				
			||||||
 | 
					     84(g_tTex5):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					    86(g_sSamp5):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              89:    6(float) Constant 1056964608
 | 
				
			||||||
 | 
					              92:             TypeVector 6(float) 3
 | 
				
			||||||
 | 
					  93(MyStruct_t):             TypeStruct 40(int) 6(float) 92(fvec3)
 | 
				
			||||||
 | 
					              94:             TypeVector 40(int) 4
 | 
				
			||||||
 | 
					     95(myblock):             TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4)
 | 
				
			||||||
 | 
					              96:             TypePointer Uniform 95(myblock)
 | 
				
			||||||
 | 
					              97:     96(ptr) Variable Uniform
 | 
				
			||||||
 | 
					              98:     35(int) Constant 1
 | 
				
			||||||
 | 
					              99:             TypePointer Uniform 6(float)
 | 
				
			||||||
 | 
					119(g_tTex_unused1):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					121(g_sSamp_unused1):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             124:    6(float) Constant 1066192077
 | 
				
			||||||
 | 
					126(g_tTex_unused2):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					128(g_sSamp_unused2):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             131:    6(float) Constant 1067030938
 | 
				
			||||||
 | 
					             136:             TypePointer Output 7(fvec4)
 | 
				
			||||||
 | 
					  137(FragColor):    136(ptr) Variable Output
 | 
				
			||||||
 | 
					141(g_tTex_unused3):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					         4(main):           2 Function None 3
 | 
				
			||||||
 | 
					               5:             Label
 | 
				
			||||||
 | 
					             138:    7(fvec4) FunctionCall 9(Func1()
 | 
				
			||||||
 | 
					             139:    7(fvec4) FunctionCall 11(Func2()
 | 
				
			||||||
 | 
					             140:    7(fvec4) FAdd 138 139
 | 
				
			||||||
 | 
					                              Store 137(FragColor) 140
 | 
				
			||||||
 | 
					                              Return
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
 | 
					       9(Func1():    7(fvec4) Function None 8
 | 
				
			||||||
 | 
					              10:             Label
 | 
				
			||||||
 | 
					              18:          15 Load 17(g_tTex1)
 | 
				
			||||||
 | 
					              22:          19 Load 21(g_sSamp1)
 | 
				
			||||||
 | 
					              24:          23 SampledImage 18 22
 | 
				
			||||||
 | 
					              26:    7(fvec4) ImageSampleImplicitLod 24 25
 | 
				
			||||||
 | 
					              28:          15 Load 27(g_tTex2)
 | 
				
			||||||
 | 
					              30:          19 Load 29(g_sSamp2)
 | 
				
			||||||
 | 
					              31:          23 SampledImage 28 30
 | 
				
			||||||
 | 
					              33:    7(fvec4) ImageSampleImplicitLod 31 32
 | 
				
			||||||
 | 
					              34:    7(fvec4) FAdd 26 33
 | 
				
			||||||
 | 
					              42:     16(ptr) AccessChain 39(g_tTex3) 41
 | 
				
			||||||
 | 
					              43:          15 Load 42
 | 
				
			||||||
 | 
					              47:     20(ptr) AccessChain 46(g_sSamp3) 41
 | 
				
			||||||
 | 
					              48:          19 Load 47
 | 
				
			||||||
 | 
					              49:          23 SampledImage 43 48
 | 
				
			||||||
 | 
					              51:    7(fvec4) ImageSampleImplicitLod 49 50
 | 
				
			||||||
 | 
					              52:    7(fvec4) FAdd 34 51
 | 
				
			||||||
 | 
					              54:     16(ptr) AccessChain 39(g_tTex3) 53
 | 
				
			||||||
 | 
					              55:          15 Load 54
 | 
				
			||||||
 | 
					              56:     20(ptr) AccessChain 46(g_sSamp3) 53
 | 
				
			||||||
 | 
					              57:          19 Load 56
 | 
				
			||||||
 | 
					              58:          23 SampledImage 55 57
 | 
				
			||||||
 | 
					              59:    7(fvec4) ImageSampleImplicitLod 58 50
 | 
				
			||||||
 | 
					              60:    7(fvec4) FAdd 52 59
 | 
				
			||||||
 | 
					              65:     16(ptr) AccessChain 64(g_tTex4) 53
 | 
				
			||||||
 | 
					              66:          15 Load 65
 | 
				
			||||||
 | 
					              70:     20(ptr) AccessChain 69(g_sSamp4) 53
 | 
				
			||||||
 | 
					              71:          19 Load 70
 | 
				
			||||||
 | 
					              72:          23 SampledImage 66 71
 | 
				
			||||||
 | 
					              74:    7(fvec4) ImageSampleImplicitLod 72 73
 | 
				
			||||||
 | 
					              75:    7(fvec4) FAdd 60 74
 | 
				
			||||||
 | 
					              77:     16(ptr) AccessChain 64(g_tTex4) 76
 | 
				
			||||||
 | 
					              78:          15 Load 77
 | 
				
			||||||
 | 
					              79:     20(ptr) AccessChain 69(g_sSamp4) 76
 | 
				
			||||||
 | 
					              80:          19 Load 79
 | 
				
			||||||
 | 
					              81:          23 SampledImage 78 80
 | 
				
			||||||
 | 
					              82:    7(fvec4) ImageSampleImplicitLod 81 73
 | 
				
			||||||
 | 
					              83:    7(fvec4) FAdd 75 82
 | 
				
			||||||
 | 
					              85:          15 Load 84(g_tTex5)
 | 
				
			||||||
 | 
					              87:          19 Load 86(g_sSamp5)
 | 
				
			||||||
 | 
					              88:          23 SampledImage 85 87
 | 
				
			||||||
 | 
					              90:    7(fvec4) ImageSampleImplicitLod 88 89
 | 
				
			||||||
 | 
					              91:    7(fvec4) FAdd 83 90
 | 
				
			||||||
 | 
					             100:     99(ptr) AccessChain 97 41 76 98
 | 
				
			||||||
 | 
					             101:    6(float) Load 100
 | 
				
			||||||
 | 
					             102:    7(fvec4) CompositeConstruct 101 101 101 101
 | 
				
			||||||
 | 
					             103:    7(fvec4) FAdd 91 102
 | 
				
			||||||
 | 
					                              ReturnValue 103
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
 | 
					      11(Func2():    7(fvec4) Function None 8
 | 
				
			||||||
 | 
					              12:             Label
 | 
				
			||||||
 | 
					             106:          15 Load 17(g_tTex1)
 | 
				
			||||||
 | 
					             107:          19 Load 21(g_sSamp1)
 | 
				
			||||||
 | 
					             108:          23 SampledImage 106 107
 | 
				
			||||||
 | 
					             109:    7(fvec4) ImageSampleImplicitLod 108 25
 | 
				
			||||||
 | 
					             110:     16(ptr) AccessChain 39(g_tTex3) 53
 | 
				
			||||||
 | 
					             111:          15 Load 110
 | 
				
			||||||
 | 
					             112:     20(ptr) AccessChain 46(g_sSamp3) 53
 | 
				
			||||||
 | 
					             113:          19 Load 112
 | 
				
			||||||
 | 
					             114:          23 SampledImage 111 113
 | 
				
			||||||
 | 
					             115:    7(fvec4) ImageSampleImplicitLod 114 50
 | 
				
			||||||
 | 
					             116:    7(fvec4) FAdd 109 115
 | 
				
			||||||
 | 
					                              ReturnValue 116
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
 | 
					13(Func2_unused():    7(fvec4) Function None 8
 | 
				
			||||||
 | 
					              14:             Label
 | 
				
			||||||
 | 
					             120:          15 Load 119(g_tTex_unused1)
 | 
				
			||||||
 | 
					             122:          19 Load 121(g_sSamp_unused1)
 | 
				
			||||||
 | 
					             123:          23 SampledImage 120 122
 | 
				
			||||||
 | 
					             125:    7(fvec4) ImageSampleImplicitLod 123 124
 | 
				
			||||||
 | 
					             127:          15 Load 126(g_tTex_unused2)
 | 
				
			||||||
 | 
					             129:          19 Load 128(g_sSamp_unused2)
 | 
				
			||||||
 | 
					             130:          23 SampledImage 127 129
 | 
				
			||||||
 | 
					             132:    7(fvec4) ImageSampleImplicitLod 130 131
 | 
				
			||||||
 | 
					             133:    7(fvec4) FAdd 125 132
 | 
				
			||||||
 | 
					                              ReturnValue 133
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
							
								
								
									
										222
									
								
								Test/baseResults/spv.glsl.register.noautoassign.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								Test/baseResults/spv.glsl.register.noautoassign.frag.out
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,222 @@
 | 
				
			|||||||
 | 
					spv.glsl.register.noautoassign.frag
 | 
				
			||||||
 | 
					Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Linked fragment stage:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Module Version 10000
 | 
				
			||||||
 | 
					// Generated by (magic number): 80001
 | 
				
			||||||
 | 
					// Id's are bound by 142
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                              Capability Shader
 | 
				
			||||||
 | 
					                              Capability Sampled1D
 | 
				
			||||||
 | 
					               1:             ExtInstImport  "GLSL.std.450"
 | 
				
			||||||
 | 
					                              MemoryModel Logical GLSL450
 | 
				
			||||||
 | 
					                              EntryPoint Fragment 4  "main" 137
 | 
				
			||||||
 | 
					                              ExecutionMode 4 OriginUpperLeft
 | 
				
			||||||
 | 
					                              Source GLSL 450
 | 
				
			||||||
 | 
					                              Name 4  "main"
 | 
				
			||||||
 | 
					                              Name 9  "Func1("
 | 
				
			||||||
 | 
					                              Name 11  "Func2("
 | 
				
			||||||
 | 
					                              Name 13  "Func2_unused("
 | 
				
			||||||
 | 
					                              Name 17  "g_tTex1"
 | 
				
			||||||
 | 
					                              Name 21  "g_sSamp1"
 | 
				
			||||||
 | 
					                              Name 27  "g_tTex2"
 | 
				
			||||||
 | 
					                              Name 29  "g_sSamp2"
 | 
				
			||||||
 | 
					                              Name 39  "g_tTex3"
 | 
				
			||||||
 | 
					                              Name 46  "g_sSamp3"
 | 
				
			||||||
 | 
					                              Name 64  "g_tTex4"
 | 
				
			||||||
 | 
					                              Name 69  "g_sSamp4"
 | 
				
			||||||
 | 
					                              Name 84  "g_tTex5"
 | 
				
			||||||
 | 
					                              Name 86  "g_sSamp5"
 | 
				
			||||||
 | 
					                              Name 93  "MyStruct_t"
 | 
				
			||||||
 | 
					                              MemberName 93(MyStruct_t) 0  "a"
 | 
				
			||||||
 | 
					                              MemberName 93(MyStruct_t) 1  "b"
 | 
				
			||||||
 | 
					                              MemberName 93(MyStruct_t) 2  "c"
 | 
				
			||||||
 | 
					                              Name 95  "myblock"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 0  "mystruct"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 1  "myvec4_a"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 2  "myvec4_b"
 | 
				
			||||||
 | 
					                              MemberName 95(myblock) 3  "myint4_a"
 | 
				
			||||||
 | 
					                              Name 97  ""
 | 
				
			||||||
 | 
					                              Name 119  "g_tTex_unused1"
 | 
				
			||||||
 | 
					                              Name 121  "g_sSamp_unused1"
 | 
				
			||||||
 | 
					                              Name 126  "g_tTex_unused2"
 | 
				
			||||||
 | 
					                              Name 128  "g_sSamp_unused2"
 | 
				
			||||||
 | 
					                              Name 137  "FragColor"
 | 
				
			||||||
 | 
					                              Name 141  "g_tTex_unused3"
 | 
				
			||||||
 | 
					                              Decorate 17(g_tTex1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 17(g_tTex1) Binding 11
 | 
				
			||||||
 | 
					                              Decorate 21(g_sSamp1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 21(g_sSamp1) Binding 5
 | 
				
			||||||
 | 
					                              Decorate 27(g_tTex2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 29(g_sSamp2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 39(g_tTex3) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 39(g_tTex3) Binding 13
 | 
				
			||||||
 | 
					                              Decorate 46(g_sSamp3) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 46(g_sSamp3) Binding 7
 | 
				
			||||||
 | 
					                              Decorate 64(g_tTex4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 69(g_sSamp4) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 84(g_tTex5) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 86(g_sSamp5) DescriptorSet 0
 | 
				
			||||||
 | 
					                              MemberDecorate 93(MyStruct_t) 0 Offset 0
 | 
				
			||||||
 | 
					                              MemberDecorate 93(MyStruct_t) 1 Offset 4
 | 
				
			||||||
 | 
					                              MemberDecorate 93(MyStruct_t) 2 Offset 16
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 0 Offset 0
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 1 Offset 32
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 2 Offset 48
 | 
				
			||||||
 | 
					                              MemberDecorate 95(myblock) 3 Offset 64
 | 
				
			||||||
 | 
					                              Decorate 95(myblock) Block
 | 
				
			||||||
 | 
					                              Decorate 97 DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 97 Binding 19
 | 
				
			||||||
 | 
					                              Decorate 119(g_tTex_unused1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 119(g_tTex_unused1) Binding 10
 | 
				
			||||||
 | 
					                              Decorate 121(g_sSamp_unused1) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 126(g_tTex_unused2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 126(g_tTex_unused2) Binding 12
 | 
				
			||||||
 | 
					                              Decorate 128(g_sSamp_unused2) DescriptorSet 0
 | 
				
			||||||
 | 
					                              Decorate 141(g_tTex_unused3) DescriptorSet 0
 | 
				
			||||||
 | 
					               2:             TypeVoid
 | 
				
			||||||
 | 
					               3:             TypeFunction 2
 | 
				
			||||||
 | 
					               6:             TypeFloat 32
 | 
				
			||||||
 | 
					               7:             TypeVector 6(float) 4
 | 
				
			||||||
 | 
					               8:             TypeFunction 7(fvec4)
 | 
				
			||||||
 | 
					              15:             TypeImage 6(float) 1D sampled format:Unknown
 | 
				
			||||||
 | 
					              16:             TypePointer UniformConstant 15
 | 
				
			||||||
 | 
					     17(g_tTex1):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              19:             TypeSampler
 | 
				
			||||||
 | 
					              20:             TypePointer UniformConstant 19
 | 
				
			||||||
 | 
					    21(g_sSamp1):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              23:             TypeSampledImage 15
 | 
				
			||||||
 | 
					              25:    6(float) Constant 1036831949
 | 
				
			||||||
 | 
					     27(g_tTex2):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					    29(g_sSamp2):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              32:    6(float) Constant 1045220557
 | 
				
			||||||
 | 
					              35:             TypeInt 32 0
 | 
				
			||||||
 | 
					              36:     35(int) Constant 2
 | 
				
			||||||
 | 
					              37:             TypeArray 15 36
 | 
				
			||||||
 | 
					              38:             TypePointer UniformConstant 37
 | 
				
			||||||
 | 
					     39(g_tTex3):     38(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              40:             TypeInt 32 1
 | 
				
			||||||
 | 
					              41:     40(int) Constant 0
 | 
				
			||||||
 | 
					              44:             TypeArray 19 36
 | 
				
			||||||
 | 
					              45:             TypePointer UniformConstant 44
 | 
				
			||||||
 | 
					    46(g_sSamp3):     45(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              50:    6(float) Constant 1050253722
 | 
				
			||||||
 | 
					              53:     40(int) Constant 1
 | 
				
			||||||
 | 
					              61:     35(int) Constant 3
 | 
				
			||||||
 | 
					              62:             TypeArray 15 61
 | 
				
			||||||
 | 
					              63:             TypePointer UniformConstant 62
 | 
				
			||||||
 | 
					     64(g_tTex4):     63(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              67:             TypeArray 19 61
 | 
				
			||||||
 | 
					              68:             TypePointer UniformConstant 67
 | 
				
			||||||
 | 
					    69(g_sSamp4):     68(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              73:    6(float) Constant 1053609165
 | 
				
			||||||
 | 
					              76:     40(int) Constant 2
 | 
				
			||||||
 | 
					     84(g_tTex5):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					    86(g_sSamp5):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					              89:    6(float) Constant 1056964608
 | 
				
			||||||
 | 
					              92:             TypeVector 6(float) 3
 | 
				
			||||||
 | 
					  93(MyStruct_t):             TypeStruct 40(int) 6(float) 92(fvec3)
 | 
				
			||||||
 | 
					              94:             TypeVector 40(int) 4
 | 
				
			||||||
 | 
					     95(myblock):             TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4)
 | 
				
			||||||
 | 
					              96:             TypePointer Uniform 95(myblock)
 | 
				
			||||||
 | 
					              97:     96(ptr) Variable Uniform
 | 
				
			||||||
 | 
					              98:     35(int) Constant 1
 | 
				
			||||||
 | 
					              99:             TypePointer Uniform 6(float)
 | 
				
			||||||
 | 
					119(g_tTex_unused1):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					121(g_sSamp_unused1):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             124:    6(float) Constant 1066192077
 | 
				
			||||||
 | 
					126(g_tTex_unused2):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					128(g_sSamp_unused2):     20(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					             131:    6(float) Constant 1067030938
 | 
				
			||||||
 | 
					             136:             TypePointer Output 7(fvec4)
 | 
				
			||||||
 | 
					  137(FragColor):    136(ptr) Variable Output
 | 
				
			||||||
 | 
					141(g_tTex_unused3):     16(ptr) Variable UniformConstant
 | 
				
			||||||
 | 
					         4(main):           2 Function None 3
 | 
				
			||||||
 | 
					               5:             Label
 | 
				
			||||||
 | 
					             138:    7(fvec4) FunctionCall 9(Func1()
 | 
				
			||||||
 | 
					             139:    7(fvec4) FunctionCall 11(Func2()
 | 
				
			||||||
 | 
					             140:    7(fvec4) FAdd 138 139
 | 
				
			||||||
 | 
					                              Store 137(FragColor) 140
 | 
				
			||||||
 | 
					                              Return
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
 | 
					       9(Func1():    7(fvec4) Function None 8
 | 
				
			||||||
 | 
					              10:             Label
 | 
				
			||||||
 | 
					              18:          15 Load 17(g_tTex1)
 | 
				
			||||||
 | 
					              22:          19 Load 21(g_sSamp1)
 | 
				
			||||||
 | 
					              24:          23 SampledImage 18 22
 | 
				
			||||||
 | 
					              26:    7(fvec4) ImageSampleImplicitLod 24 25
 | 
				
			||||||
 | 
					              28:          15 Load 27(g_tTex2)
 | 
				
			||||||
 | 
					              30:          19 Load 29(g_sSamp2)
 | 
				
			||||||
 | 
					              31:          23 SampledImage 28 30
 | 
				
			||||||
 | 
					              33:    7(fvec4) ImageSampleImplicitLod 31 32
 | 
				
			||||||
 | 
					              34:    7(fvec4) FAdd 26 33
 | 
				
			||||||
 | 
					              42:     16(ptr) AccessChain 39(g_tTex3) 41
 | 
				
			||||||
 | 
					              43:          15 Load 42
 | 
				
			||||||
 | 
					              47:     20(ptr) AccessChain 46(g_sSamp3) 41
 | 
				
			||||||
 | 
					              48:          19 Load 47
 | 
				
			||||||
 | 
					              49:          23 SampledImage 43 48
 | 
				
			||||||
 | 
					              51:    7(fvec4) ImageSampleImplicitLod 49 50
 | 
				
			||||||
 | 
					              52:    7(fvec4) FAdd 34 51
 | 
				
			||||||
 | 
					              54:     16(ptr) AccessChain 39(g_tTex3) 53
 | 
				
			||||||
 | 
					              55:          15 Load 54
 | 
				
			||||||
 | 
					              56:     20(ptr) AccessChain 46(g_sSamp3) 53
 | 
				
			||||||
 | 
					              57:          19 Load 56
 | 
				
			||||||
 | 
					              58:          23 SampledImage 55 57
 | 
				
			||||||
 | 
					              59:    7(fvec4) ImageSampleImplicitLod 58 50
 | 
				
			||||||
 | 
					              60:    7(fvec4) FAdd 52 59
 | 
				
			||||||
 | 
					              65:     16(ptr) AccessChain 64(g_tTex4) 53
 | 
				
			||||||
 | 
					              66:          15 Load 65
 | 
				
			||||||
 | 
					              70:     20(ptr) AccessChain 69(g_sSamp4) 53
 | 
				
			||||||
 | 
					              71:          19 Load 70
 | 
				
			||||||
 | 
					              72:          23 SampledImage 66 71
 | 
				
			||||||
 | 
					              74:    7(fvec4) ImageSampleImplicitLod 72 73
 | 
				
			||||||
 | 
					              75:    7(fvec4) FAdd 60 74
 | 
				
			||||||
 | 
					              77:     16(ptr) AccessChain 64(g_tTex4) 76
 | 
				
			||||||
 | 
					              78:          15 Load 77
 | 
				
			||||||
 | 
					              79:     20(ptr) AccessChain 69(g_sSamp4) 76
 | 
				
			||||||
 | 
					              80:          19 Load 79
 | 
				
			||||||
 | 
					              81:          23 SampledImage 78 80
 | 
				
			||||||
 | 
					              82:    7(fvec4) ImageSampleImplicitLod 81 73
 | 
				
			||||||
 | 
					              83:    7(fvec4) FAdd 75 82
 | 
				
			||||||
 | 
					              85:          15 Load 84(g_tTex5)
 | 
				
			||||||
 | 
					              87:          19 Load 86(g_sSamp5)
 | 
				
			||||||
 | 
					              88:          23 SampledImage 85 87
 | 
				
			||||||
 | 
					              90:    7(fvec4) ImageSampleImplicitLod 88 89
 | 
				
			||||||
 | 
					              91:    7(fvec4) FAdd 83 90
 | 
				
			||||||
 | 
					             100:     99(ptr) AccessChain 97 41 76 98
 | 
				
			||||||
 | 
					             101:    6(float) Load 100
 | 
				
			||||||
 | 
					             102:    7(fvec4) CompositeConstruct 101 101 101 101
 | 
				
			||||||
 | 
					             103:    7(fvec4) FAdd 91 102
 | 
				
			||||||
 | 
					                              ReturnValue 103
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
 | 
					      11(Func2():    7(fvec4) Function None 8
 | 
				
			||||||
 | 
					              12:             Label
 | 
				
			||||||
 | 
					             106:          15 Load 17(g_tTex1)
 | 
				
			||||||
 | 
					             107:          19 Load 21(g_sSamp1)
 | 
				
			||||||
 | 
					             108:          23 SampledImage 106 107
 | 
				
			||||||
 | 
					             109:    7(fvec4) ImageSampleImplicitLod 108 25
 | 
				
			||||||
 | 
					             110:     16(ptr) AccessChain 39(g_tTex3) 53
 | 
				
			||||||
 | 
					             111:          15 Load 110
 | 
				
			||||||
 | 
					             112:     20(ptr) AccessChain 46(g_sSamp3) 53
 | 
				
			||||||
 | 
					             113:          19 Load 112
 | 
				
			||||||
 | 
					             114:          23 SampledImage 111 113
 | 
				
			||||||
 | 
					             115:    7(fvec4) ImageSampleImplicitLod 114 50
 | 
				
			||||||
 | 
					             116:    7(fvec4) FAdd 109 115
 | 
				
			||||||
 | 
					                              ReturnValue 116
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
 | 
					13(Func2_unused():    7(fvec4) Function None 8
 | 
				
			||||||
 | 
					              14:             Label
 | 
				
			||||||
 | 
					             120:          15 Load 119(g_tTex_unused1)
 | 
				
			||||||
 | 
					             122:          19 Load 121(g_sSamp_unused1)
 | 
				
			||||||
 | 
					             123:          23 SampledImage 120 122
 | 
				
			||||||
 | 
					             125:    7(fvec4) ImageSampleImplicitLod 123 124
 | 
				
			||||||
 | 
					             127:          15 Load 126(g_tTex_unused2)
 | 
				
			||||||
 | 
					             129:          19 Load 128(g_sSamp_unused2)
 | 
				
			||||||
 | 
					             130:          23 SampledImage 127 129
 | 
				
			||||||
 | 
					             132:    7(fvec4) ImageSampleImplicitLod 130 131
 | 
				
			||||||
 | 
					             133:    7(fvec4) FAdd 125 132
 | 
				
			||||||
 | 
					                              ReturnValue 133
 | 
				
			||||||
 | 
					                              FunctionEnd
 | 
				
			||||||
							
								
								
									
										68
									
								
								Test/spv.glsl.register.autoassign.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								Test/spv.glsl.register.autoassign.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					#version 450
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=0) sampler       g_sSamp1;
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp2;
 | 
				
			||||||
 | 
					uniform layout(binding=2) sampler       g_sSamp3[2];
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp4[3];
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp_unused1;
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp_unused2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=1) texture1D          g_tTex1;
 | 
				
			||||||
 | 
					uniform texture1D  g_tTex2;
 | 
				
			||||||
 | 
					uniform layout(binding=3) texture1D          g_tTex3[2];
 | 
				
			||||||
 | 
					uniform texture1D          g_tTex4[3];
 | 
				
			||||||
 | 
					uniform texture1D          g_tTex5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=0)  texture1D          g_tTex_unused1;
 | 
				
			||||||
 | 
					uniform layout(binding=2)  texture1D          g_tTex_unused2;
 | 
				
			||||||
 | 
					uniform texture1D          g_tTex_unused3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct MyStruct_t {
 | 
				
			||||||
 | 
					    int a;
 | 
				
			||||||
 | 
					    float b;
 | 
				
			||||||
 | 
					    vec3 c;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=4) myblock {
 | 
				
			||||||
 | 
					    MyStruct_t mystruct;
 | 
				
			||||||
 | 
					    vec4 myvec4_a;
 | 
				
			||||||
 | 
					    vec4 myvec4_b;
 | 
				
			||||||
 | 
					    ivec4 myint4_a;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vec4 Func1()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex1, g_sSamp1), 0.1) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex2, g_sSamp2), 0.2) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex3[0], g_sSamp3[0]), 0.3) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex3[1], g_sSamp3[1]), 0.3) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex4[1], g_sSamp4[1]), 0.4) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex4[2], g_sSamp4[2]), 0.4) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex5, g_sSamp5), 0.5) +
 | 
				
			||||||
 | 
					        mystruct.c[1];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vec4 Func2()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex1, g_sSamp1), 0.1) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex3[1], g_sSamp3[1]), 0.3);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Not called from entry point:
 | 
				
			||||||
 | 
					vec4 Func2_unused()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex_unused1, g_sSamp_unused1), 1.1) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex_unused2, g_sSamp_unused2), 1.2);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					out vec4 FragColor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    FragColor = Func1() + Func2();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										68
									
								
								Test/spv.glsl.register.noautoassign.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								Test/spv.glsl.register.noautoassign.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					#version 450
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=0) sampler       g_sSamp1;
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp2;
 | 
				
			||||||
 | 
					uniform layout(binding=2) sampler       g_sSamp3[2];
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp4[3];
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp_unused1;
 | 
				
			||||||
 | 
					uniform sampler       g_sSamp_unused2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=1) texture1D          g_tTex1;
 | 
				
			||||||
 | 
					uniform texture1D  g_tTex2;
 | 
				
			||||||
 | 
					uniform layout(binding=3) texture1D          g_tTex3[2];
 | 
				
			||||||
 | 
					uniform texture1D          g_tTex4[3];
 | 
				
			||||||
 | 
					uniform texture1D          g_tTex5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=0)  texture1D          g_tTex_unused1;
 | 
				
			||||||
 | 
					uniform layout(binding=2)  texture1D          g_tTex_unused2;
 | 
				
			||||||
 | 
					uniform texture1D          g_tTex_unused3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct MyStruct_t {
 | 
				
			||||||
 | 
					    int a;
 | 
				
			||||||
 | 
					    float b;
 | 
				
			||||||
 | 
					    vec3 c;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uniform layout(binding=4) myblock {
 | 
				
			||||||
 | 
					    MyStruct_t mystruct;
 | 
				
			||||||
 | 
					    vec4 myvec4_a;
 | 
				
			||||||
 | 
					    vec4 myvec4_b;
 | 
				
			||||||
 | 
					    ivec4 myint4_a;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vec4 Func1()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex1, g_sSamp1), 0.1) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex2, g_sSamp2), 0.2) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex3[0], g_sSamp3[0]), 0.3) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex3[1], g_sSamp3[1]), 0.3) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex4[1], g_sSamp4[1]), 0.4) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex4[2], g_sSamp4[2]), 0.4) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex5, g_sSamp5), 0.5) +
 | 
				
			||||||
 | 
					        mystruct.c[1];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vec4 Func2()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex1, g_sSamp1), 0.1) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex3[1], g_sSamp3[1]), 0.3);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Not called from entry point:
 | 
				
			||||||
 | 
					vec4 Func2_unused()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex_unused1, g_sSamp_unused1), 1.1) +
 | 
				
			||||||
 | 
					        texture(sampler1D(g_tTex_unused2, g_sSamp_unused2), 1.2);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					out vec4 FragColor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    FragColor = Func1() + Func2();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
//
 | 
					 //
 | 
				
			||||||
// Copyright (C) 2016 Google, Inc.
 | 
					// Copyright (C) 2016 Google, Inc.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// All rights reserved.
 | 
					// All rights reserved.
 | 
				
			||||||
@ -65,7 +65,8 @@ using CompileOpenGLToSpirvTest = GlslangTest<::testing::TestWithParam<std::strin
 | 
				
			|||||||
using VulkanSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
 | 
					using VulkanSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
 | 
				
			||||||
using OpenGLSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
 | 
					using OpenGLSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
 | 
				
			||||||
using VulkanAstSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
 | 
					using VulkanAstSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
 | 
				
			||||||
using HlslSemantics = GlslangTest<::testing::TestWithParam<IoMapData>>;
 | 
					using HlslIoMap = GlslangTest<::testing::TestWithParam<IoMapData>>;
 | 
				
			||||||
 | 
					using GlslIoMap = GlslangTest<::testing::TestWithParam<IoMapData>>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Compiling GLSL to SPIR-V under Vulkan semantics. Expected to successfully
 | 
					// Compiling GLSL to SPIR-V under Vulkan semantics. Expected to successfully
 | 
				
			||||||
// generate SPIR-V.
 | 
					// generate SPIR-V.
 | 
				
			||||||
@ -112,7 +113,7 @@ TEST_P(VulkanAstSemantics, FromFile)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// HLSL-level Vulkan semantics tests.
 | 
					// HLSL-level Vulkan semantics tests.
 | 
				
			||||||
TEST_P(HlslSemantics, FromFile)
 | 
					TEST_P(HlslIoMap, FromFile)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    loadFileCompileIoMapAndCheck(GLSLANG_TEST_DIRECTORY, GetParam().fileName,
 | 
					    loadFileCompileIoMapAndCheck(GLSLANG_TEST_DIRECTORY, GetParam().fileName,
 | 
				
			||||||
                                 Source::HLSL, Semantics::Vulkan,
 | 
					                                 Source::HLSL, Semantics::Vulkan,
 | 
				
			||||||
@ -124,6 +125,19 @@ TEST_P(HlslSemantics, FromFile)
 | 
				
			|||||||
                                 GetParam().flattenUniforms);
 | 
					                                 GetParam().flattenUniforms);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GLSL-level Vulkan semantics tests.
 | 
				
			||||||
 | 
					TEST_P(GlslIoMap, FromFile)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    loadFileCompileIoMapAndCheck(GLSLANG_TEST_DIRECTORY, GetParam().fileName,
 | 
				
			||||||
 | 
					                                 Source::GLSL, Semantics::Vulkan,
 | 
				
			||||||
 | 
					                                 Target::Spv, GetParam().entryPoint,
 | 
				
			||||||
 | 
					                                 GetParam().baseSamplerBinding,
 | 
				
			||||||
 | 
					                                 GetParam().baseTextureBinding,
 | 
				
			||||||
 | 
					                                 GetParam().baseUboBinding,
 | 
				
			||||||
 | 
					                                 GetParam().autoMapBindings,
 | 
				
			||||||
 | 
					                                 GetParam().flattenUniforms);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// clang-format off
 | 
					// clang-format off
 | 
				
			||||||
INSTANTIATE_TEST_CASE_P(
 | 
					INSTANTIATE_TEST_CASE_P(
 | 
				
			||||||
    Glsl, CompileVulkanToSpirvTest,
 | 
					    Glsl, CompileVulkanToSpirvTest,
 | 
				
			||||||
@ -251,7 +265,7 @@ INSTANTIATE_TEST_CASE_P(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// clang-format off
 | 
					// clang-format off
 | 
				
			||||||
INSTANTIATE_TEST_CASE_P(
 | 
					INSTANTIATE_TEST_CASE_P(
 | 
				
			||||||
    Hlsl, HlslSemantics,
 | 
					    Hlsl, HlslIoMap,
 | 
				
			||||||
    ::testing::ValuesIn(std::vector<IoMapData>{
 | 
					    ::testing::ValuesIn(std::vector<IoMapData>{
 | 
				
			||||||
        { "spv.register.autoassign.frag", "main_ep", 5, 10, 15, true, false },
 | 
					        { "spv.register.autoassign.frag", "main_ep", 5, 10, 15, true, false },
 | 
				
			||||||
        { "spv.register.noautoassign.frag", "main_ep", 5, 10, 15, false, false },
 | 
					        { "spv.register.noautoassign.frag", "main_ep", 5, 10, 15, false, false },
 | 
				
			||||||
@ -260,6 +274,16 @@ INSTANTIATE_TEST_CASE_P(
 | 
				
			|||||||
    FileNameAsCustomTestSuffixIoMap
 | 
					    FileNameAsCustomTestSuffixIoMap
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// clang-format off
 | 
				
			||||||
 | 
					INSTANTIATE_TEST_CASE_P(
 | 
				
			||||||
 | 
					    Hlsl, GlslIoMap,
 | 
				
			||||||
 | 
					    ::testing::ValuesIn(std::vector<IoMapData>{
 | 
				
			||||||
 | 
					        { "spv.glsl.register.autoassign.frag", "main", 5, 10, 15, true, false },
 | 
				
			||||||
 | 
					        { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 15, false, false },
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    FileNameAsCustomTestSuffixIoMap
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// clang-format off
 | 
					// clang-format off
 | 
				
			||||||
INSTANTIATE_TEST_CASE_P(
 | 
					INSTANTIATE_TEST_CASE_P(
 | 
				
			||||||
    Glsl, CompileOpenGLToSpirvTest,
 | 
					    Glsl, CompileOpenGLToSpirvTest,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user