Graphics: Use debug regions inside render pass to fix an issue with OpenGL context switch
This commit is contained in:
parent
aa2021dc49
commit
3ad05614f9
|
|
@ -1114,9 +1114,9 @@ int main()
|
|||
|
||||
builder.TextureBarrier(Nz::PipelineStage::ColorOutput, Nz::PipelineStage::FragmentShader, Nz::MemoryAccess::ColorWrite, Nz::MemoryAccess::ShaderRead, Nz::TextureLayout::ColorOutput, Nz::TextureLayout::ColorInput, *bakedGraph.GetAttachmentTexture(backbuffer));
|
||||
|
||||
builder.BeginDebugRegion("Main window rendering", Nz::Color::Green);
|
||||
builder.BeginRenderPass(windowRT->GetFramebuffer(frame.GetFramebufferIndex()), windowRT->GetRenderPass(), windowRenderRect);
|
||||
{
|
||||
builder.BeginRenderPass(windowRT->GetFramebuffer(frame.GetFramebufferIndex()), windowRT->GetRenderPass(), windowRenderRect);
|
||||
builder.BeginDebugRegion("Main window rendering", Nz::Color::Green);
|
||||
{
|
||||
builder.SetScissor(Nz::Recti{ 0, 0, int(windowSize.x), int(windowSize.y) });
|
||||
builder.SetViewport(Nz::Recti{ 0, 0, int(windowSize.x), int(windowSize.y) });
|
||||
|
|
@ -1126,9 +1126,9 @@ int main()
|
|||
builder.BindVertexBuffer(0, *fullscreenVertexBuffer);
|
||||
builder.Draw(3);
|
||||
}
|
||||
builder.EndRenderPass();
|
||||
builder.EndDebugRegion();
|
||||
}
|
||||
builder.EndDebugRegion();
|
||||
builder.EndRenderPass();
|
||||
}, Nz::QueueType::Graphics);
|
||||
|
||||
frame.Present();
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@ namespace Nz
|
|||
builder.TextureBarrier(textureTransition.srcStageMask, textureTransition.dstStageMask, textureTransition.srcAccessMask, textureTransition.dstAccessMask, textureTransition.oldLayout, textureTransition.newLayout, *texture);
|
||||
}
|
||||
|
||||
builder.BeginRenderPass(*passData.framebuffer, *passData.renderPass, passData.renderRect);
|
||||
|
||||
if (!passData.name.empty())
|
||||
builder.BeginDebugRegion(passData.name, Nz::Color::Green);
|
||||
|
||||
builder.BeginRenderPass(*passData.framebuffer, *passData.renderPass, passData.renderRect);
|
||||
|
||||
bool first = true;
|
||||
for (auto& subpass : passData.subpasses)
|
||||
{
|
||||
|
|
@ -78,10 +78,10 @@ namespace Nz
|
|||
subpass.commandCallback(builder, passData.renderRect);
|
||||
}
|
||||
|
||||
builder.EndRenderPass();
|
||||
|
||||
if (!passData.name.empty())
|
||||
builder.EndDebugRegion();
|
||||
|
||||
builder.EndRenderPass();
|
||||
});
|
||||
|
||||
passData.forceCommandBufferRegeneration = false;
|
||||
|
|
|
|||
|
|
@ -348,9 +348,9 @@ namespace Nz
|
|||
clearValues[1].depth = 1.f;
|
||||
clearValues[1].stencil = 0;
|
||||
|
||||
builder.BeginDebugRegion("Main window rendering", Color::Green);
|
||||
builder.BeginRenderPass(renderTarget.GetFramebuffer(renderFrame.GetFramebufferIndex()), renderTarget.GetRenderPass(), renderRegion, { clearValues[0], clearValues[1] });
|
||||
{
|
||||
builder.BeginRenderPass(renderTarget.GetFramebuffer(renderFrame.GetFramebufferIndex()), renderTarget.GetRenderPass(), renderRegion, { clearValues[0], clearValues[1] });
|
||||
builder.BeginDebugRegion("Main window rendering", Color::Green);
|
||||
{
|
||||
builder.SetScissor(renderRegion);
|
||||
builder.SetViewport(renderRegion);
|
||||
|
|
@ -361,9 +361,9 @@ namespace Nz
|
|||
|
||||
builder.Draw(3);
|
||||
}
|
||||
builder.EndRenderPass();
|
||||
builder.EndDebugRegion();
|
||||
}
|
||||
builder.EndDebugRegion();
|
||||
builder.EndRenderPass();
|
||||
|
||||
}, QueueType::Graphics);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue