Only eliminate redundant buffer parent variable when it exists

* SSBOs declared without an instance name don't have this parent variable added.
This commit is contained in:
baldurk committed 2019-03-05 14:03:40 +00:00
1 parent 3d94de9923
commit 23c9e1b0ce
1 file changed
+5 -1
+5 -1
View File
@@ -1708,7 +1708,11 @@ void MakeShaderReflection(GLenum shadType, GLuint sepProg, ShaderReflection &ref
{
sort(members[ssbo]);
std::swap(rwresources[ssbos[ssbo]].variableType.members, members[ssbo][0].type.members);
if(rwresources[ssbos[ssbo]].name == members[ssbo][0].name &&
members[ssbo][0].type.descriptor.arrayByteStride == 0)
std::swap(rwresources[ssbos[ssbo]].variableType.members, members[ssbo][0].type.members);
else
std::swap(rwresources[ssbos[ssbo]].variableType.members, members[ssbo]);
}
// patch-up reflection data. For top-level arrays use the stride & rough size to calculate the