Skip to content

Commit f958535

Browse files
DeviceContextVk: use EndRenderScope command buffer method instead of EndRenderPass
1 parent bbbc402 commit f958535

File tree

1 file changed

+9
-20
lines changed

1 file changed

+9
-20
lines changed

Graphics/GraphicsEngineVulkan/src/DeviceContextVkImpl.cpp

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,8 +1057,7 @@ void DeviceContextVkImpl::PrepareForDispatchCompute()
10571057
EnsureVkCmdBuffer();
10581058

10591059
// Dispatch commands must be executed outside of render pass
1060-
if (m_CommandBuffer.GetState().RenderPass != VK_NULL_HANDLE)
1061-
m_CommandBuffer.EndRenderPass();
1060+
m_CommandBuffer.EndRenderScope();
10621061

10631062
auto& BindInfo = GetBindInfo(PIPELINE_TYPE_COMPUTE);
10641063
if (Uint32 CommitMask = BindInfo.GetCommitMask())
@@ -1192,8 +1191,7 @@ void DeviceContextVkImpl::ClearDepthStencil(ITextureView* pView
11921191
else
11931192
{
11941193
// End render pass to clear the buffer with vkCmdClearDepthStencilImage
1195-
if (m_CommandBuffer.GetState().RenderPass != VK_NULL_HANDLE)
1196-
m_CommandBuffer.EndRenderPass();
1194+
m_CommandBuffer.EndRenderScope();
11971195

11981196
auto* pTexture = pVkDSV->GetTexture();
11991197
auto* pTextureVk = ClassPtrCast<TextureVkImpl>(pTexture);
@@ -1312,8 +1310,7 @@ void DeviceContextVkImpl::ClearRenderTarget(ITextureView* pView, const void* RGB
13121310
VERIFY(m_pActiveRenderPass == nullptr, "This branch should never execute inside a render pass.");
13131311

13141312
// End current render pass and clear the image with vkCmdClearColorImage
1315-
if (m_CommandBuffer.GetState().RenderPass != VK_NULL_HANDLE)
1316-
m_CommandBuffer.EndRenderPass();
1313+
m_CommandBuffer.EndRenderScope();
13171314

13181315
auto* pTexture = pVkRTV->GetTexture();
13191316
auto* pTextureVk = ClassPtrCast<TextureVkImpl>(pTexture);
@@ -1442,10 +1439,7 @@ void DeviceContextVkImpl::Flush(Uint32 NumCommandLists,
14421439

14431440
if (m_State.NumCommands != 0)
14441441
{
1445-
if (m_CommandBuffer.GetState().RenderPass != VK_NULL_HANDLE)
1446-
{
1447-
m_CommandBuffer.EndRenderPass();
1448-
}
1442+
m_CommandBuffer.EndRenderScope();
14491443

14501444
#ifdef DILIGENT_DEVELOPMENT
14511445
DEV_CHECK_ERR(m_DvpDebugGroupCount == 0, "Not all debug groups have been ended");
@@ -1816,8 +1810,7 @@ void DeviceContextVkImpl::CommitRenderPassAndFramebuffer(bool VerifyStates)
18161810
const auto& CmdBufferState = m_CommandBuffer.GetState();
18171811
if (CmdBufferState.Framebuffer != m_vkFramebuffer)
18181812
{
1819-
if (CmdBufferState.RenderPass != VK_NULL_HANDLE)
1820-
m_CommandBuffer.EndRenderPass();
1813+
m_CommandBuffer.EndRenderScope();
18211814

18221815
if (m_vkFramebuffer != VK_NULL_HANDLE)
18231816
{
@@ -1936,8 +1929,8 @@ void DeviceContextVkImpl::ResetRenderTargets()
19361929
TDeviceContextBase::ResetRenderTargets();
19371930
m_vkRenderPass = VK_NULL_HANDLE;
19381931
m_vkFramebuffer = VK_NULL_HANDLE;
1939-
if (m_CommandBuffer.GetVkCmdBuffer() != VK_NULL_HANDLE && m_CommandBuffer.GetState().RenderPass != VK_NULL_HANDLE)
1940-
m_CommandBuffer.EndRenderPass();
1932+
if (m_CommandBuffer.GetVkCmdBuffer() != VK_NULL_HANDLE)
1933+
m_CommandBuffer.EndRenderScope();
19411934
m_State.ShadingRateIsSet = false;
19421935
}
19431936

@@ -2709,10 +2702,7 @@ void DeviceContextVkImpl::FinishCommandList(ICommandList** ppCommandList)
27092702
DEV_CHECK_ERR(IsDeferred(), "Only deferred context can record command list");
27102703
DEV_CHECK_ERR(m_pActiveRenderPass == nullptr, "Finishing command list inside an active render pass.");
27112704

2712-
if (m_CommandBuffer.GetState().RenderPass != VK_NULL_HANDLE)
2713-
{
2714-
m_CommandBuffer.EndRenderPass();
2715-
}
2705+
m_CommandBuffer.EndRenderScope();
27162706

27172707
auto vkCmdBuff = m_CommandBuffer.GetVkCmdBuffer();
27182708
auto err = vkEndCommandBuffer(vkCmdBuff);
@@ -2843,8 +2833,7 @@ void DeviceContextVkImpl::EndQuery(IQuery* pQuery)
28432833
"No query flag is set which indicates there was no matching BeginQuery call or there was an error while beginning the query.");
28442834
if (CmdBuffState.OutsidePassQueries & (1 << QueryType))
28452835
{
2846-
if (m_CommandBuffer.GetState().RenderPass)
2847-
m_CommandBuffer.EndRenderPass();
2836+
m_CommandBuffer.EndRenderScope();
28482837
}
28492838
else
28502839
{

0 commit comments

Comments
 (0)