summaryrefslogtreecommitdiffstats
path: root/tools/gfx/d3d11
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-10-13 14:07:26 -0700
committerGitHub <noreply@github.com>2022-10-13 14:07:26 -0700
commit09054f7ae00aad0458de465a7f0b780a91c694dd (patch)
tree776f50b5ebe51ae7088d6990eaa5f6d84d8a6c2a /tools/gfx/d3d11
parentafa9f4b2786c92e72a563f316e074f62770630cb (diff)
Make `optimalClearValue` optional in `ITextureResource::Desc` (#2450)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/d3d11')
-rw-r--r--tools/gfx/d3d11/d3d11-device.cpp15
1 files changed, 9 insertions, 6 deletions
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<DepthStencilViewImpl> 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);