summaryrefslogtreecommitdiffstats
path: root/tools/gfx/debug-layer/debug-device.cpp
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2023-04-03 11:46:03 +0800
committerGitHub <noreply@github.com>2023-04-02 20:46:03 -0700
commit271ae7165915cf9910e2de0224159ea0fdd8ce72 (patch)
tree9b4db47ec7c4ee59af46ea2ccc1c1caa074d618d /tools/gfx/debug-layer/debug-device.cpp
parentd7ba60c993366b4aaf6ef8ee7d8eab940d61eac8 (diff)
Fix several silently failing tests (#2767)
* Add missing expected.txt for test * Diagnostics -> StdWriters in render test * Allow specifying several test prefixes to run `slang-test -- tests/foo tests/bar` * Squash warnings in some tests * Enable gfx debug layer in gfx test util Makes this issue present consistently: https://github.com/shader-slang/slang/issues/2766 * Allow DebugDevice to return interfaces instantiated by the debugged object * Check that we actaully have a shader cache for shader cache tests --------- Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tools/gfx/debug-layer/debug-device.cpp')
-rw-r--r--tools/gfx/debug-layer/debug-device.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/gfx/debug-layer/debug-device.cpp b/tools/gfx/debug-layer/debug-device.cpp
index 7790149b6..45374b64f 100644
--- a/tools/gfx/debug-layer/debug-device.cpp
+++ b/tools/gfx/debug-layer/debug-device.cpp
@@ -26,6 +26,20 @@ using namespace Slang;
namespace debug
{
+SlangResult DebugDevice::queryInterface(SlangUUID const& uuid, void** outObject) noexcept
+{
+ void* intf = getInterface(uuid);
+ if (intf)
+ {
+ addRef();
+ *outObject = intf;
+ return SLANG_OK;
+ }
+
+ // Fallback to trying to get the interface from the debugged object
+ return baseObject->queryInterface(uuid, outObject);
+}
+
Result DebugDevice::getNativeDeviceHandles(InteropHandles* outHandles)
{
return baseObject->getNativeDeviceHandles(outHandles);