mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-07 14:25:44 +00:00
Incorrect command buffer used on Vulkan AS copy replay
This commit is contained in:
committed by
Baldur Karlsson
parent
83ac6d3697
commit
59cc12ff3f
@@ -7878,19 +7878,24 @@ bool WrappedVulkan::Serialise_vkCmdBuildAccelerationStructuresKHR(
|
||||
if(IsActiveReplaying(m_State))
|
||||
{
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
else
|
||||
return true;
|
||||
ObjDisp(commandBuffer)
|
||||
->CmdBuildAccelerationStructuresKHR(Unwrap(commandBuffer), infoCount, unwrappedInfos,
|
||||
tmpBuildRangeInfos.data());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjDisp(commandBuffer)
|
||||
->CmdBuildAccelerationStructuresKHR(Unwrap(commandBuffer), infoCount, unwrappedInfos,
|
||||
tmpBuildRangeInfos.data());
|
||||
|
||||
ObjDisp(commandBuffer)
|
||||
->CmdBuildAccelerationStructuresKHR(Unwrap(commandBuffer), infoCount, unwrappedInfos,
|
||||
tmpBuildRangeInfos.data());
|
||||
|
||||
AddEvent();
|
||||
ActionDescription action;
|
||||
action.flags = ActionFlags::BuildAccStruct;
|
||||
AddAction(action);
|
||||
AddEvent();
|
||||
ActionDescription action;
|
||||
action.flags = ActionFlags::BuildAccStruct;
|
||||
AddAction(action);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -7971,12 +7976,25 @@ bool WrappedVulkan::Serialise_vkCmdCopyAccelerationStructureKHR(
|
||||
unwrappedInfo.src = Unwrap(unwrappedInfo.src);
|
||||
unwrappedInfo.dst = Unwrap(unwrappedInfo.dst);
|
||||
|
||||
ObjDisp(commandBuffer)->CmdCopyAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo);
|
||||
m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer));
|
||||
|
||||
AddEvent();
|
||||
ActionDescription action;
|
||||
action.flags = ActionFlags::BuildAccStruct;
|
||||
AddAction(action);
|
||||
if(IsActiveReplaying(m_State))
|
||||
{
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
ObjDisp(commandBuffer)->CmdCopyAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjDisp(commandBuffer)->CmdCopyAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo);
|
||||
|
||||
AddEvent();
|
||||
ActionDescription action;
|
||||
action.flags = ActionFlags::BuildAccStruct;
|
||||
AddAction(action);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -8054,12 +8072,27 @@ bool WrappedVulkan::Serialise_vkCmdCopyMemoryToAccelerationStructureKHR(
|
||||
VkCopyMemoryToAccelerationStructureInfoKHR unwrappedInfo = Info;
|
||||
unwrappedInfo.dst = Unwrap(unwrappedInfo.dst);
|
||||
|
||||
ObjDisp(commandBuffer)->CmdCopyMemoryToAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo);
|
||||
m_LastCmdBufferID = GetResourceManager()->GetOriginalID(GetResID(commandBuffer));
|
||||
|
||||
AddEvent();
|
||||
ActionDescription action;
|
||||
action.flags = ActionFlags::BuildAccStruct;
|
||||
AddAction(action);
|
||||
if(IsActiveReplaying(m_State))
|
||||
{
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
ObjDisp(commandBuffer)
|
||||
->CmdCopyMemoryToAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjDisp(commandBuffer)
|
||||
->CmdCopyMemoryToAccelerationStructureKHR(Unwrap(commandBuffer), &unwrappedInfo);
|
||||
|
||||
AddEvent();
|
||||
ActionDescription action;
|
||||
action.flags = ActionFlags::BuildAccStruct;
|
||||
AddAction(action);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user