mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-08 08:40:55 +00:00
Fix indirection for looking up SSBOs for member patching
This commit is contained in:
@@ -1726,7 +1726,7 @@ void MakeShaderReflection(GLenum shadType, GLuint sepProg, ShaderReflection &ref
|
||||
// number of elements, and make all child byteOffset values relative to their parent
|
||||
for(size_t ssbo = 0; ssbo < ssbos.size(); ssbo++)
|
||||
{
|
||||
rdcarray<ShaderConstant> &ssboVars = rwresources[ssbo].variableType.members;
|
||||
rdcarray<ShaderConstant> &ssboVars = rwresources[ssbos[ssbo]].variableType.members;
|
||||
for(size_t rootMember = 0; rootMember + 1 < ssboVars.size(); rootMember++)
|
||||
{
|
||||
ShaderConstant &member = ssboVars[rootMember];
|
||||
|
||||
@@ -3782,7 +3782,7 @@ void main() {
|
||||
const ShaderConstant &submember = member.type.members[0];
|
||||
INFO("SSBO submember: " << submember.name.c_str());
|
||||
|
||||
CHECK(submember.byteOffset == 40);
|
||||
CHECK(submember.byteOffset == 0);
|
||||
CHECK(submember.type.members.empty());
|
||||
CHECK(submember.type.descriptor.type == VarType::Float);
|
||||
CHECK(submember.type.descriptor.rows == 1);
|
||||
@@ -3795,7 +3795,7 @@ void main() {
|
||||
const ShaderConstant &submember = member.type.members[1];
|
||||
INFO("SSBO submember: " << submember.name.c_str());
|
||||
|
||||
CHECK(submember.byteOffset == 44);
|
||||
CHECK(submember.byteOffset == 4);
|
||||
CHECK(submember.type.members.empty());
|
||||
CHECK(submember.type.descriptor.type == VarType::SInt);
|
||||
CHECK(submember.type.descriptor.rows == 1);
|
||||
@@ -3808,7 +3808,7 @@ void main() {
|
||||
const ShaderConstant &submember = member.type.members[2];
|
||||
INFO("SSBO submember: " << submember.name.c_str());
|
||||
|
||||
CHECK(submember.byteOffset == 48);
|
||||
CHECK(submember.byteOffset == 8);
|
||||
CHECK(submember.type.members.empty());
|
||||
CHECK(submember.type.descriptor.type == VarType::Float);
|
||||
CHECK(submember.type.descriptor.rows == 2);
|
||||
|
||||
Reference in New Issue
Block a user