mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-11-13 09:20:13 +00:00
Unify Vulkan RenderState tracking in Loading & Replay: Cond Render APIs
- Serialise_vkCmdBeginConditionalRenderingEXT - Serialise_vkCmdEndConditionalRenderingEXT - Serialise_vkCmdBeginConditionalRendering2EXT
This commit is contained in:
1 parent
c076e5be52
commit
d33e041668
1 file changed
+25
-41
@@ -6981,25 +6981,19 @@ bool WrappedVulkan::Serialise_vkCmdBeginConditionalRenderingEXT(
|
||||
{
|
||||
m_LastCmdBufferID = GetResID(commandBuffer);
|
||||
|
||||
if(IsActiveReplaying(m_State))
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
bool loading = IsLoading(m_State);
|
||||
if(!loading)
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
|
||||
{
|
||||
VulkanRenderState &renderstate = GetCmdRenderState();
|
||||
renderstate.conditionalRendering.buffer = GetResID(BeginInfo.buffer);
|
||||
renderstate.conditionalRendering.offset = BeginInfo.offset;
|
||||
renderstate.conditionalRendering.flags = BeginInfo.flags;
|
||||
}
|
||||
|
||||
BeginInfo.buffer = Unwrap(BeginInfo.buffer);
|
||||
ObjDisp(commandBuffer)->CmdBeginConditionalRenderingEXT(Unwrap(commandBuffer), &BeginInfo);
|
||||
{
|
||||
VulkanRenderState &renderstate = GetCmdRenderState();
|
||||
renderstate.conditionalRendering.buffer = GetResID(BeginInfo.buffer);
|
||||
renderstate.conditionalRendering.offset = BeginInfo.offset;
|
||||
renderstate.conditionalRendering.flags = BeginInfo.flags;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
BeginInfo.buffer = Unwrap(BeginInfo.buffer);
|
||||
ObjDisp(commandBuffer)->CmdBeginConditionalRenderingEXT(Unwrap(commandBuffer), &BeginInfo);
|
||||
}
|
||||
@@ -7053,22 +7047,17 @@ bool WrappedVulkan::Serialise_vkCmdEndConditionalRenderingEXT(SerialiserType &se
|
||||
{
|
||||
m_LastCmdBufferID = GetResID(commandBuffer);
|
||||
|
||||
if(IsActiveReplaying(m_State))
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
bool loading = IsLoading(m_State);
|
||||
if(!loading)
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
|
||||
{
|
||||
VulkanRenderState &renderstate = GetCmdRenderState();
|
||||
renderstate.conditionalRendering.buffer = ResourceId();
|
||||
}
|
||||
|
||||
ObjDisp(commandBuffer)->CmdEndConditionalRenderingEXT(Unwrap(commandBuffer));
|
||||
{
|
||||
VulkanRenderState &renderstate = GetCmdRenderState();
|
||||
renderstate.conditionalRendering.buffer = ResourceId();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
ObjDisp(commandBuffer)->CmdEndConditionalRenderingEXT(Unwrap(commandBuffer));
|
||||
}
|
||||
}
|
||||
@@ -10120,24 +10109,19 @@ bool WrappedVulkan::Serialise_vkCmdBeginConditionalRendering2EXT(
|
||||
{
|
||||
m_LastCmdBufferID = GetResID(commandBuffer);
|
||||
|
||||
if(IsActiveReplaying(m_State))
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
if(InRerecordRange(m_LastCmdBufferID))
|
||||
{
|
||||
bool loading = IsLoading(m_State);
|
||||
if(!loading)
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
|
||||
{
|
||||
VulkanRenderState &renderstate = GetCmdRenderState();
|
||||
GetResIDFromAddr(BeginInfo.addressRange.address, renderstate.conditionalRendering.buffer,
|
||||
renderstate.conditionalRendering.offset);
|
||||
renderstate.conditionalRendering.flags = BeginInfo.flags;
|
||||
}
|
||||
|
||||
ObjDisp(commandBuffer)->CmdBeginConditionalRendering2EXT(Unwrap(commandBuffer), &BeginInfo);
|
||||
{
|
||||
VulkanRenderState &renderstate = GetCmdRenderState();
|
||||
GetResIDFromAddr(BeginInfo.addressRange.address, renderstate.conditionalRendering.buffer,
|
||||
renderstate.conditionalRendering.offset);
|
||||
renderstate.conditionalRendering.flags = BeginInfo.flags;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
ObjDisp(commandBuffer)->CmdBeginConditionalRendering2EXT(Unwrap(commandBuffer), &BeginInfo);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user