|
@@ -123,7 +123,7 @@ namespace AZ
|
|
|
|
|
|
void SwapChainPass::BuildInternal()
|
|
void SwapChainPass::BuildInternal()
|
|
{
|
|
{
|
|
- if (m_windowContext->GetSwapChainsSize() == 0 || m_windowContext->GetSwapChain(m_viewType) == nullptr)
|
|
|
|
|
|
+ if (m_windowContext->GetSwapChainsSize() == 0 || m_windowContext->GetSwapChain(m_viewType) == nullptr || m_isMinimized)
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -163,7 +163,7 @@ namespace AZ
|
|
void SwapChainPass::FrameBeginInternal(FramePrepareParams params)
|
|
void SwapChainPass::FrameBeginInternal(FramePrepareParams params)
|
|
{
|
|
{
|
|
if (m_windowContext->GetSwapChainsSize() == 0 || m_windowContext->GetSwapChain(m_viewType) == nullptr ||
|
|
if (m_windowContext->GetSwapChainsSize() == 0 || m_windowContext->GetSwapChain(m_viewType) == nullptr ||
|
|
- m_windowContext->GetSwapChain(m_viewType)->GetImageCount() == 0)
|
|
|
|
|
|
+ m_windowContext->GetSwapChain(m_viewType)->GetImageCount() == 0 || m_isMinimized)
|
|
{
|
|
{
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -202,14 +202,32 @@ namespace AZ
|
|
|
|
|
|
void SwapChainPass::OnResolutionChanged([[maybe_unused]] uint32_t width, [[maybe_unused]] uint32_t height)
|
|
void SwapChainPass::OnResolutionChanged([[maybe_unused]] uint32_t width, [[maybe_unused]] uint32_t height)
|
|
{
|
|
{
|
|
|
|
+ if (m_isMinimized)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
QueueForBuildAndInitialization();
|
|
QueueForBuildAndInitialization();
|
|
}
|
|
}
|
|
|
|
|
|
void SwapChainPass::OnWindowResized([[maybe_unused]] uint32_t width, [[maybe_unused]] uint32_t height)
|
|
void SwapChainPass::OnWindowResized([[maybe_unused]] uint32_t width, [[maybe_unused]] uint32_t height)
|
|
{
|
|
{
|
|
|
|
+ if (m_isMinimized)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
QueueForBuildAndInitialization();
|
|
QueueForBuildAndInitialization();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ void SwapChainPass::OnWindowMinimized()
|
|
|
|
+ {
|
|
|
|
+ m_isMinimized = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ void SwapChainPass::OnWindowRestored()
|
|
|
|
+ {
|
|
|
|
+ m_isMinimized = false;
|
|
|
|
+ }
|
|
|
|
+
|
|
void SwapChainPass::ReadbackSwapChain(AZStd::shared_ptr<AttachmentReadback> readback)
|
|
void SwapChainPass::ReadbackSwapChain(AZStd::shared_ptr<AttachmentReadback> readback)
|
|
{
|
|
{
|
|
if (m_swapChainAttachment)
|
|
if (m_swapChainAttachment)
|