mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-10-12 07:11:51 +00:00
Fix event debug messages not being associated with the correct EIDs
This commit is contained in:
2 files changed
+11
-19
No files matched your search
@@ -3952,16 +3952,12 @@ void WrappedVulkan::Serialise_DebugMessages(SerialiserType &ser)
|
||||
ProcessDebugMessage(msg);
|
||||
}
|
||||
|
||||
SERIALISE_ELEMENT(DebugMessages);
|
||||
SERIALISE_ELEMENT(DebugMessages).Hidden();
|
||||
|
||||
// if we're using debug messages from replay, discard any from the capture
|
||||
if(ser.IsReading() && IsLoading(m_State) && m_ReplayOptions.apiValidation)
|
||||
DebugMessages.clear();
|
||||
|
||||
// hide empty sets of messages.
|
||||
if(ser.IsReading() && DebugMessages.empty())
|
||||
ser.Hidden();
|
||||
|
||||
if(ser.IsReading() && IsLoading(m_State))
|
||||
{
|
||||
for(const DebugMessage &msg : DebugMessages)
|
||||
@@ -4107,16 +4103,7 @@ void WrappedVulkan::AddDebugMessage(DebugMessage msg)
|
||||
{
|
||||
if(IsLoading(m_State))
|
||||
{
|
||||
if(m_LastCmdBufferID != ResourceId())
|
||||
{
|
||||
msg.eventId = m_BakedCmdBufferInfo[m_LastCmdBufferID].curEventID;
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].debugMessages.push_back(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.eventId = m_RootEventID;
|
||||
m_RootEventMessages.push_back(msg);
|
||||
}
|
||||
m_EventMessages.push_back(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4916,9 +4903,15 @@ void WrappedVulkan::AddEvent()
|
||||
|
||||
apievent.chunkIndex = uint32_t(m_StructuredFile->chunks.size() - 1);
|
||||
|
||||
for(DebugMessage &msg : m_EventMessages)
|
||||
msg.eventId = apievent.eventId;
|
||||
|
||||
if(m_LastCmdBufferID != ResourceId())
|
||||
{
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].curEvents.push_back(apievent);
|
||||
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].debugMessages.append(m_EventMessages);
|
||||
m_EventMessages.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4926,9 +4919,8 @@ void WrappedVulkan::AddEvent()
|
||||
m_Events.resize(apievent.eventId + 1);
|
||||
m_Events[apievent.eventId] = apievent;
|
||||
|
||||
m_DebugMessages.append(m_RootEventMessages);
|
||||
|
||||
m_RootEventMessages.clear();
|
||||
m_DebugMessages.append(m_EventMessages);
|
||||
m_EventMessages.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -284,7 +284,7 @@ private:
|
||||
|
||||
// the messages retrieved for the current event (filled in Serialise_vk...() and read in
|
||||
// AddEvent())
|
||||
rdcarray<DebugMessage> m_RootEventMessages;
|
||||
rdcarray<DebugMessage> m_EventMessages;
|
||||
|
||||
// list of all debug messages by EID in the frame
|
||||
rdcarray<DebugMessage> m_DebugMessages;
|
||||
|
||||
Reference in new issue
Block a user