summaryrefslogtreecommitdiffstats
path: root/tools/gfx/debug-layer.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-12-09 09:35:26 -0800
committerGitHub <noreply@github.com>2021-12-09 09:35:26 -0800
commit4ca37fea2829ad9c623b94d77bb0311f76ad0971 (patch)
treefcf3a469a9ca5b092a85de4650e6b7d2f8151777 /tools/gfx/debug-layer.cpp
parent6c08cd900c0a02140b6af9de97b05c0a955243a4 (diff)
gfx: Implement `claerResourceView`. (#2052)
Diffstat (limited to 'tools/gfx/debug-layer.cpp')
-rw-r--r--tools/gfx/debug-layer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/gfx/debug-layer.cpp b/tools/gfx/debug-layer.cpp
index c589662a0..d96af7069 100644
--- a/tools/gfx/debug-layer.cpp
+++ b/tools/gfx/debug-layer.cpp
@@ -1291,6 +1291,18 @@ void DebugResourceCommandEncoder::clearResourceView(
IResourceView* view, ClearValue* clearValue, ClearResourceViewFlags::Enum flags)
{
SLANG_GFX_API_FUNC;
+ switch (view->getViewDesc()->type)
+ {
+ case IResourceView::Type::DepthStencil:
+ case IResourceView::Type::RenderTarget:
+ case IResourceView::Type::UnorderedAccess:
+ break;
+ default:
+ GFX_DIAGNOSE_ERROR_FORMAT(
+ "Resource view %lld cannot be cleared. Only DepthStencil, "
+ "RenderTarget or UnorderedAccess views can be cleared.",
+ getDebugObj(view)->uid);
+ }
baseObject->clearResourceView(getInnerObj(view), clearValue, flags);
}