If no pixel shader is bound, don't show shader output in pixel history

This commit is contained in:
baldurk
2016-07-25 18:27:19 +02:00
parent 20c81be074
commit 9bc7e99d83
5 changed files with 15 additions and 2 deletions
+1
View File
@@ -486,6 +486,7 @@ struct PixelModification
uint32_t eventID;
bool32 uavWrite;
bool32 unboundPS;
uint32_t fragIndex;
uint32_t primitiveID;
+3 -1
View File
@@ -1386,6 +1386,8 @@ void Serialiser::Serialise(const char *name, PixelModification &el)
Serialise("", el.eventID);
Serialise("", el.uavWrite);
Serialise("", el.unboundPS);
Serialise("", el.fragIndex);
Serialise("", el.primitiveID);
@@ -1408,7 +1410,7 @@ void Serialiser::Serialise(const char *name, PixelModification &el)
Serialise("", el.depthTestFailed);
Serialise("", el.stencilTestFailed);
SIZE_CHECK(PixelModification, 120);
SIZE_CHECK(PixelModification, 124);
}
#pragma endregion Data descriptors
+4
View File
@@ -5319,6 +5319,7 @@ vector<PixelModification> D3D11DebugManager::PixelHistory(vector<EventUsage> eve
mod.eventID = events[i].eventID;
mod.uavWrite = uavWrite;
mod.unboundPS = false;
mod.preMod.col.value_u[0] = (uint32_t)i;
@@ -6253,6 +6254,9 @@ vector<PixelModification> D3D11DebugManager::PixelHistory(vector<EventUsage> eve
m_pImmediateContext->PSGetShader(&curPS, curInst, &curNumInst);
m_pImmediateContext->PSSetShader(m_DebugRender.PrimitiveIDPS, NULL, 0);
if(curPS == NULL)
history[h].unboundPS = true;
m_WrappedDevice->ReplayLog(0, history[h].eventID, eReplay_OnlyDraw);
m_pImmediateContext->PSSetShader(curPS, curInst, curNumInst);
+1
View File
@@ -819,6 +819,7 @@ namespace renderdoc
public UInt32 eventID;
public bool uavWrite;
public bool unboundPS;
public UInt32 fragIndex;
public UInt32 primitiveID;
+6 -1
View File
@@ -294,9 +294,14 @@ namespace renderdocui.Windows
ResourceFormat fmt = new ResourceFormat(floatTex ? FormatComponentType.Float : texture.format.compType, 4, 4);
string shadOutVal = "Shader Out\n\n" + ModificationValueString(mod.shaderOut, fmt, depth);
string shadOutVal;
string postModVal = "Tex After\n\n" + ModificationValueString(mod.postMod, texture.format, depth);
if (mod.unboundPS)
shadOutVal = "No Pixel\nShader\nBound";
else
shadOutVal = "Shader Out\n\n" + ModificationValueString(mod.shaderOut, fmt, depth);
if (!mod.EventPassed() && hideFailedEventsToolStripMenuItem.Checked)
return null;