diff options
| author | Yong He <yonghe@outlook.com> | 2022-10-13 14:07:26 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-13 14:07:26 -0700 |
| commit | 09054f7ae00aad0458de465a7f0b780a91c694dd (patch) | |
| tree | 776f50b5ebe51ae7088d6990eaa5f6d84d8a6c2a /tools/gfx/vulkan | |
| parent | afa9f4b2786c92e72a563f316e074f62770630cb (diff) | |
Make `optimalClearValue` optional in `ITextureResource::Desc` (#2450)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/vulkan')
| -rw-r--r-- | tools/gfx/vulkan/vk-framebuffer.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/tools/gfx/vulkan/vk-framebuffer.cpp b/tools/gfx/vulkan/vk-framebuffer.cpp index 0cc2a7799..e3e28816e 100644 --- a/tools/gfx/vulkan/vk-framebuffer.cpp +++ b/tools/gfx/vulkan/vk-framebuffer.cpp @@ -164,20 +164,26 @@ Result FramebufferImpl::init(DeviceImpl* renderer, const IFramebuffer::Desc& des auto resourceView = static_cast<TextureResourceViewImpl*>(desc.renderTargetViews[i]); renderTargetViews[i] = resourceView; imageViews[i] = resourceView->m_view; - memcpy( - &m_clearValues[i], - &resourceView->m_texture->getDesc()->optimalClearValue.color, - sizeof(gfx::ColorClearValue)); + if (resourceView->m_texture->getDesc()->optimalClearValue) + { + memcpy( + &m_clearValues[i], + &resourceView->m_texture->getDesc()->optimalClearValue->color, + sizeof(gfx::ColorClearValue)); + } } if (dsv) { imageViews[desc.renderTargetCount] = dsv->m_view; depthStencilView = dsv; - memcpy( - &m_clearValues[desc.renderTargetCount], - &dsv->m_texture->getDesc()->optimalClearValue.depthStencil, - sizeof(gfx::DepthStencilClearValue)); + if (dsv->m_texture->getDesc()->optimalClearValue) + { + memcpy( + &m_clearValues[desc.renderTargetCount], + &dsv->m_texture->getDesc()->optimalClearValue->depthStencil, + sizeof(gfx::DepthStencilClearValue)); + } } // Create framebuffer. |
