@@ -84,15 +84,15 @@ void main() {
8484
8585 Assert . That ( vertexShader . UniformProperties . Length , Is . EqualTo ( 1 ) ) ;
8686 ShaderUniformProperty cameraInfo = vertexShader . UniformProperties [ 0 ] ;
87- Assert . That ( cameraInfo . label . ToString ( ) , Is . EqualTo ( "cameraInfo" ) ) ;
87+ Assert . That ( cameraInfo . name . ToString ( ) , Is . EqualTo ( "cameraInfo" ) ) ;
8888 Assert . That ( cameraInfo . typeName . ToString ( ) , Is . EqualTo ( "CameraInfo" ) ) ;
8989 Assert . That ( cameraInfo . binding , Is . EqualTo ( 2 ) ) ;
9090 Assert . That ( cameraInfo . set , Is . EqualTo ( 0 ) ) ;
91- Assert . That ( vertexShader . GetMemberCount ( "cameraInfo" ) , Is . EqualTo ( 2 ) ) ;
91+ Assert . That ( vertexShader . GetUniformPropertyMemberCount ( "cameraInfo" ) , Is . EqualTo ( 2 ) ) ;
9292
93- ShaderUniformPropertyMember member = vertexShader . GetMember ( "cameraInfo" , 0 ) ;
93+ ShaderUniformPropertyMember member = vertexShader . GetUniformPropertyMember ( "cameraInfo" , 0 ) ;
9494 Assert . That ( member . name . ToString ( ) , Is . EqualTo ( "proj" ) ) ;
95- member = vertexShader . GetMember ( "cameraInfo" , 1 ) ;
95+ member = vertexShader . GetUniformPropertyMember ( "cameraInfo" , 1 ) ;
9696 Assert . That ( member . name . ToString ( ) , Is . EqualTo ( "view" ) ) ;
9797
9898 Assert . That ( fragmentShader . SamplerProperties . Length , Is . EqualTo ( 1 ) ) ;
@@ -132,6 +132,9 @@ public async Task ImportInstancedShader(CancellationToken cancellation)
132132
133133 layout (binding = 3, set = 3) readonly buffer LotsOfData {
134134 vec2 offsets[];
135+ vec4 rotation;
136+ vec3 position;
137+ vec3 scale;
135138 } lotsOfData;
136139
137140 layout(location = 0) out vec3 fColor;
@@ -159,21 +162,43 @@ void main()
159162 Assert . That ( storageBuffers . Length , Is . EqualTo ( 2 ) ) ;
160163
161164 ShaderStorageBuffer instanceData = storageBuffers [ 0 ] ;
162- Assert . That ( instanceData . label . ToString ( ) , Is . EqualTo ( "instanceData" ) ) ;
165+ Assert . That ( instanceData . name . ToString ( ) , Is . EqualTo ( "instanceData" ) ) ;
163166 Assert . That ( instanceData . typeName . ToString ( ) , Is . EqualTo ( "InstanceData" ) ) ;
164167 Assert . That ( instanceData . binding , Is . EqualTo ( 2 ) ) ;
165168 Assert . That ( instanceData . set , Is . EqualTo ( 1 ) ) ;
166169 Assert . That ( instanceData . byteLength , Is . EqualTo ( 8 ) ) ;
167170 Assert . That ( instanceData . flags , Is . EqualTo ( ShaderStorageBuffer . Flags . ReadWrite ) ) ;
168171
169172 ShaderStorageBuffer lotsOfData = storageBuffers [ 1 ] ;
170- Assert . That ( lotsOfData . label . ToString ( ) , Is . EqualTo ( "lotsOfData" ) ) ;
173+ Assert . That ( lotsOfData . name . ToString ( ) , Is . EqualTo ( "lotsOfData" ) ) ;
171174 Assert . That ( lotsOfData . typeName . ToString ( ) , Is . EqualTo ( "LotsOfData" ) ) ;
172175 Assert . That ( lotsOfData . binding , Is . EqualTo ( 3 ) ) ;
173176 Assert . That ( lotsOfData . set , Is . EqualTo ( 3 ) ) ;
174- Assert . That ( lotsOfData . byteLength , Is . EqualTo ( 8 ) ) ;
177+ Assert . That ( lotsOfData . byteLength , Is . EqualTo ( 48 ) ) ;
175178 //Assert.That(lotsOfData.flags, Is.EqualTo(ShaderStorageBuffer.Flags.ReadOnly)); //spvc isnt able to read the decorations for some reason
176179
180+ Assert . That ( vertexShader . GetStorageBufferMemberCount ( "lotsOfData" ) , Is . EqualTo ( 4 ) ) ;
181+ ShaderStorageBufferMember firstMember = vertexShader . GetStorageBufferMember ( "lotsOfData" , 0 ) ;
182+ Assert . That ( firstMember . name . ToString ( ) , Is . EqualTo ( "offsets" ) ) ;
183+ Assert . That ( firstMember . type , Is . EqualTo ( MetadataRegistry . GetType < Vector2 > ( ) ) ) ;
184+ Assert . That ( firstMember . offset , Is . EqualTo ( 0 ) ) ;
185+ //Assert.That(firstMember.flags.HasFlag(ShaderStorageBufferMember.Flags.Array), Is.True);
186+
187+ ShaderStorageBufferMember secondMember = vertexShader . GetStorageBufferMember ( "lotsOfData" , 1 ) ;
188+ Assert . That ( secondMember . name . ToString ( ) , Is . EqualTo ( "rotation" ) ) ;
189+ Assert . That ( secondMember . type , Is . EqualTo ( MetadataRegistry . GetType < Vector4 > ( ) ) ) ;
190+ Assert . That ( secondMember . offset , Is . EqualTo ( 8 ) ) ;
191+
192+ ShaderStorageBufferMember thirdMember = vertexShader . GetStorageBufferMember ( "lotsOfData" , 2 ) ;
193+ Assert . That ( thirdMember . name . ToString ( ) , Is . EqualTo ( "position" ) ) ;
194+ Assert . That ( thirdMember . type , Is . EqualTo ( MetadataRegistry . GetType < Vector3 > ( ) ) ) ;
195+ Assert . That ( thirdMember . offset , Is . EqualTo ( 24 ) ) ;
196+
197+ ShaderStorageBufferMember fourthMember = vertexShader . GetStorageBufferMember ( "lotsOfData" , 3 ) ;
198+ Assert . That ( fourthMember . name . ToString ( ) , Is . EqualTo ( "scale" ) ) ;
199+ Assert . That ( fourthMember . type , Is . EqualTo ( MetadataRegistry . GetType < Vector3 > ( ) ) ) ;
200+ Assert . That ( fourthMember . offset , Is . EqualTo ( 36 ) ) ;
201+
177202 Assert . That ( vertexShader . VertexInputAttributes . Length , Is . EqualTo ( 2 ) ) ;
178203 ShaderVertexInputAttribute first = vertexShader . VertexInputAttributes [ 0 ] ;
179204 Assert . That ( first . name . ToString ( ) , Is . EqualTo ( "aPos" ) ) ;
0 commit comments