From 75bfff34811ac581d023c156d0f778bae1763c2d Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 24 Mar 2023 15:04:15 +0000 Subject: [PATCH] Mark UAV writes appropriately in GL pixel history --- qrenderdoc/Windows/PixelHistoryView.cpp | 8 +++++--- renderdoc/driver/gl/gl_pixelhistory.cpp | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/qrenderdoc/Windows/PixelHistoryView.cpp b/qrenderdoc/Windows/PixelHistoryView.cpp index c381cb49a..64a7c2354 100644 --- a/qrenderdoc/Windows/PixelHistoryView.cpp +++ b/qrenderdoc/Windows/PixelHistoryView.cpp @@ -188,6 +188,7 @@ public: if(role == Qt::DisplayRole) { + QString uavName = IsD3D(m_Ctx.APIProps().pipelineType) ? lit("UAV") : lit("Storage"); // main text if(col == 0) { @@ -229,9 +230,10 @@ public: if(mods.front().directShaderWrite) { - ret += tr("EID %1\n%2\nBound as UAV or copy - potential modification") + ret += tr("EID %1\n%2\nBound as %3 or copy - potential modification") .arg(mods.front().eventId) - .arg(m_Ctx.GetEventBrowser()->GetEventName(action->eventId)); + .arg(m_Ctx.GetEventBrowser()->GetEventName(action->eventId)) + .arg(uavName); if(mods[0].preMod.col.uintValue == mods[0].postMod.col.uintValue) { @@ -262,7 +264,7 @@ public: if(mod.directShaderWrite) { - QString ret = tr("Potential UAV/Copy write"); + QString ret = tr("Potential %1/Copy write").arg(uavName); if(mod.preMod.col.uintValue[0] == mod.postMod.col.uintValue[0] && mod.preMod.col.uintValue[1] == mod.postMod.col.uintValue[1] && diff --git a/renderdoc/driver/gl/gl_pixelhistory.cpp b/renderdoc/driver/gl/gl_pixelhistory.cpp index 6ad156b4c..8a45d4a20 100644 --- a/renderdoc/driver/gl/gl_pixelhistory.cpp +++ b/renderdoc/driver/gl/gl_pixelhistory.cpp @@ -731,6 +731,7 @@ rdcarray QueryModifyingEvents(WrappedOpenGL *driver, GLPixelHistoryR PixelModification mod; RDCEraseEl(mod); mod.eventId = events[i].eventId; + mod.directShaderWrite = isDirectWrite(events[i].usage); history.push_back(mod); modEvents.push_back(events[i]);