mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-05 17:40:39 +00:00
Fix GL handling of matrix parameters to specify :col instead of :row
* In GL matrices are also split column-wise
This commit is contained in:
@@ -1513,7 +1513,7 @@ void main()
|
||||
CHECK(sig.channelUsedMask == 0x7);
|
||||
}
|
||||
|
||||
CHECK(refl.outputSignature[4].varName == "outmat:row0");
|
||||
CHECK(refl.outputSignature[4].varName == "outmat:col0");
|
||||
{
|
||||
const SigParameter &sig = refl.outputSignature[4];
|
||||
INFO("signature element: " << sig.varName.c_str());
|
||||
@@ -1526,7 +1526,7 @@ void main()
|
||||
CHECK(sig.channelUsedMask == 0x3);
|
||||
}
|
||||
|
||||
CHECK(refl.outputSignature[5].varName == "outmat:row1");
|
||||
CHECK(refl.outputSignature[5].varName == "outmat:col1");
|
||||
{
|
||||
const SigParameter &sig = refl.outputSignature[5];
|
||||
INFO("signature element: " << sig.varName.c_str());
|
||||
@@ -1539,7 +1539,7 @@ void main()
|
||||
CHECK(sig.channelUsedMask == 0x3);
|
||||
}
|
||||
|
||||
CHECK(refl.outputSignature[6].varName == "outmatarr[0]:row0");
|
||||
CHECK(refl.outputSignature[6].varName == "outmatarr[0]:col0");
|
||||
{
|
||||
const SigParameter &sig = refl.outputSignature[6];
|
||||
INFO("signature element: " << sig.varName.c_str());
|
||||
@@ -1552,7 +1552,7 @@ void main()
|
||||
CHECK(sig.channelUsedMask == 0x3);
|
||||
}
|
||||
|
||||
CHECK(refl.outputSignature[7].varName == "outmatarr[0]:row1");
|
||||
CHECK(refl.outputSignature[7].varName == "outmatarr[0]:col1");
|
||||
{
|
||||
const SigParameter &sig = refl.outputSignature[7];
|
||||
INFO("signature element: " << sig.varName.c_str());
|
||||
@@ -1565,7 +1565,7 @@ void main()
|
||||
CHECK(sig.channelUsedMask == 0x3);
|
||||
}
|
||||
|
||||
CHECK(refl.outputSignature[8].varName == "outmatarr[1]:row0");
|
||||
CHECK(refl.outputSignature[8].varName == "outmatarr[1]:col0");
|
||||
{
|
||||
const SigParameter &sig = refl.outputSignature[8];
|
||||
INFO("signature element: " << sig.varName.c_str());
|
||||
@@ -1578,7 +1578,7 @@ void main()
|
||||
CHECK(sig.channelUsedMask == 0x3);
|
||||
}
|
||||
|
||||
CHECK(refl.outputSignature[9].varName == "outmatarr[1]:row1");
|
||||
CHECK(refl.outputSignature[9].varName == "outmatarr[1]:col1");
|
||||
{
|
||||
const SigParameter &sig = refl.outputSignature[9];
|
||||
INFO("signature element: " << sig.varName.c_str());
|
||||
|
||||
@@ -1181,8 +1181,8 @@ bool GLResourceManager::Serialise_InitialState(SerialiserType &ser, ResourceId i
|
||||
{
|
||||
rdcstr name = sig.varName;
|
||||
|
||||
// look for :row added to split up matrix variables
|
||||
int32_t colon = name.find(":row");
|
||||
// look for :row or :col added to split up matrix variables
|
||||
int32_t colon = name.find(":");
|
||||
|
||||
// remove it, if present
|
||||
if(colon >= 0)
|
||||
|
||||
@@ -1104,9 +1104,9 @@ static void AddSigParameter(rdcarray<SigParameter> &sigs, uint32_t ®Index,
|
||||
s.regIndex += r;
|
||||
|
||||
if(arrayIdx >= 0)
|
||||
s.varName = StringFormat::Fmt("%s[%d]:row%d", nm, arrayIdx, r);
|
||||
s.varName = StringFormat::Fmt("%s[%d]:col%d", nm, arrayIdx, r);
|
||||
else
|
||||
s.varName = StringFormat::Fmt("%s:row%d", nm, r);
|
||||
s.varName = StringFormat::Fmt("%s:col%d", nm, r);
|
||||
|
||||
sigs.push_back(s);
|
||||
}
|
||||
@@ -2553,7 +2553,7 @@ void GetBindpointMapping(GLuint curProg, int shadIdx, const ShaderReflection *re
|
||||
int32_t matrixRow = 0;
|
||||
rdcstr varName = refl->inputSignature[i].varName;
|
||||
|
||||
int32_t offs = varName.find(":row");
|
||||
int32_t offs = varName.find(":col");
|
||||
if(offs >= 0)
|
||||
{
|
||||
matrixRow = varName[offs + 4] - '0';
|
||||
|
||||
Reference in New Issue
Block a user