From 7708d205cb186f2b95d8daa2d8e0c655488fc34a Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 28 Sep 2022 10:40:47 -0700 Subject: Fix gfx debug layer crashes. (#2416) Co-authored-by: Yong He --- tools/gfx/debug-layer/debug-shader-object.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'tools/gfx/debug-layer/debug-shader-object.cpp') diff --git a/tools/gfx/debug-layer/debug-shader-object.cpp b/tools/gfx/debug-layer/debug-shader-object.cpp index e6644a6f6..036e743ec 100644 --- a/tools/gfx/debug-layer/debug-shader-object.cpp +++ b/tools/gfx/debug-layer/debug-shader-object.cpp @@ -86,25 +86,25 @@ Result DebugShaderObject::getObject(ShaderOffset const& offset, IShaderObject** Result DebugShaderObject::setObject(ShaderOffset const& offset, IShaderObject* object) { SLANG_GFX_API_FUNC; - auto objectImpl = static_cast(object); + auto objectImpl = getDebugObj(object); m_objects[ShaderOffsetKey{offset}] = objectImpl; - return baseObject->setObject(offset, objectImpl->baseObject.get()); + return baseObject->setObject(offset, getInnerObj(object)); } Result DebugShaderObject::setResource(ShaderOffset const& offset, IResourceView* resourceView) { SLANG_GFX_API_FUNC; - auto viewImpl = static_cast(resourceView); + auto viewImpl = getDebugObj(resourceView); m_resources[ShaderOffsetKey{offset}] = viewImpl; - return baseObject->setResource(offset, viewImpl->baseObject.get()); + return baseObject->setResource(offset, getInnerObj(resourceView)); } Result DebugShaderObject::setSampler(ShaderOffset const& offset, ISamplerState* sampler) { SLANG_GFX_API_FUNC; - auto samplerImpl = static_cast(sampler); + auto samplerImpl = getDebugObj(sampler); m_samplers[ShaderOffsetKey{offset}] = samplerImpl; - return baseObject->setSampler(offset, samplerImpl->baseObject.get()); + return baseObject->setSampler(offset, getInnerObj(sampler)); } Result DebugShaderObject::setCombinedTextureSampler( @@ -113,12 +113,12 @@ Result DebugShaderObject::setCombinedTextureSampler( ISamplerState* sampler) { SLANG_GFX_API_FUNC; - auto samplerImpl = static_cast(sampler); + auto samplerImpl = getDebugObj(sampler); m_samplers[ShaderOffsetKey{offset}] = samplerImpl; - auto viewImpl = static_cast(textureView); + auto viewImpl = getDebugObj(textureView); m_resources[ShaderOffsetKey{offset}] = viewImpl; return baseObject->setCombinedTextureSampler( - offset, viewImpl->baseObject.get(), samplerImpl->baseObject.get()); + offset, getInnerObj(viewImpl), getInnerObj(sampler)); } Result DebugShaderObject::setSpecializationArgs( -- cgit v1.2.3