From 09054f7ae00aad0458de465a7f0b780a91c694dd Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 13 Oct 2022 14:07:26 -0700 Subject: Make `optimalClearValue` optional in `ITextureResource::Desc` (#2450) Co-authored-by: Yong He --- tools/gfx/d3d11/d3d11-device.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'tools/gfx/d3d11') diff --git a/tools/gfx/d3d11/d3d11-device.cpp b/tools/gfx/d3d11/d3d11-device.cpp index 969eb7d1b..fbc24c9ce 100644 --- a/tools/gfx/d3d11/d3d11-device.cpp +++ b/tools/gfx/d3d11/d3d11-device.cpp @@ -668,11 +668,13 @@ Result DeviceImpl::createTextureView(ITextureResource* texture, IResourceView::D viewImpl->m_type = ResourceViewImpl::Type::RTV; viewImpl->m_rtv = rtv; viewImpl->m_desc = desc; - - memcpy( - viewImpl->m_clearValue, - &resourceImpl->getDesc()->optimalClearValue.color, - sizeof(float) * 4); + if (resourceImpl->getDesc()->optimalClearValue) + { + memcpy( + viewImpl->m_clearValue, + &resourceImpl->getDesc()->optimalClearValue->color, + sizeof(float) * 4); + } returnComPtr(outView, viewImpl); return SLANG_OK; } @@ -686,7 +688,8 @@ Result DeviceImpl::createTextureView(ITextureResource* texture, IResourceView::D RefPtr viewImpl = new DepthStencilViewImpl(); viewImpl->m_type = ResourceViewImpl::Type::DSV; viewImpl->m_dsv = dsv; - viewImpl->m_clearValue = resourceImpl->getDesc()->optimalClearValue.depthStencil; + if (resourceImpl->getDesc()->optimalClearValue) + viewImpl->m_clearValue = resourceImpl->getDesc()->optimalClearValue->depthStencil; viewImpl->m_desc = desc; returnComPtr(outView, viewImpl); -- cgit v1.2.3