Explicitly note which modifications in pixel history are unavailable

This commit is contained in:
baldurk
2020-07-16 10:53:58 +01:00
parent 9042aeab39
commit 08a3d05e71
4 changed files with 23 additions and 0 deletions
+6
View File
@@ -476,6 +476,9 @@ private:
QBrush backgroundBrush(const ModificationValue &val) const
{
if(!val.IsValid())
return QBrush();
float rangesize = (m_Display.rangeMax - m_Display.rangeMin);
float r = val.col.floatValue[0];
@@ -521,6 +524,9 @@ private:
{
QString s;
if(!val.IsValid())
return tr("Unavailable");
int numComps = (int)(m_Tex->format.compCount);
if(forceComps > 0)
+9
View File
@@ -1770,6 +1770,15 @@ struct ModificationValue
DOCUMENT("The stencil output, or ``-1`` if not available.");
int32_t stencil;
DOCUMENT("Returns whether or not this modification value is valid.");
bool IsValid() const { return col.uintValue[0] != 0xdeadbeef || col.uintValue[1] != 0xdeadf00d; }
DOCUMENT("Sets this modification value to be invalid.");
void SetInvalid()
{
col.uintValue[0] = 0xdeadbeef;
col.uintValue[1] = 0xdeadf00d;
}
};
DECLARE_REFLECTION_STRUCT(ModificationValue);
@@ -3266,6 +3266,9 @@ rdcarray<PixelModification> VulkanReplay::PixelHistory(rdcarray<EventUsage> even
if(eventIndex == -1)
{
// There is no information, skip the event.
mod.preMod.SetInvalid();
mod.postMod.SetInvalid();
mod.shaderOut.SetInvalid();
h++;
continue;
}
+5
View File
@@ -218,6 +218,11 @@ class Iter_Test(rdtest.TestCase):
lastmod = None
continue
if not mod.shaderOut.IsValid():
rdtest.log.print("This hit's shader out is not valid, looking for one that valid....")
lastmod = None
continue
break
if target == pipe.GetDepthTarget().resourceId: