From e6c9625e0f0d5d9703451fd2ebb8b206d210009c Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 28 Feb 2022 18:09:27 -0800 Subject: Use GLSL scalar layout for constant buffers. (#2147) --- tools/gfx/debug-layer.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'tools/gfx/debug-layer.cpp') diff --git a/tools/gfx/debug-layer.cpp b/tools/gfx/debug-layer.cpp index 0926c5273..ec51dbee3 100644 --- a/tools/gfx/debug-layer.cpp +++ b/tools/gfx/debug-layer.cpp @@ -669,6 +669,42 @@ Result DebugDevice::createMutableRootShaderObject( return result; } +Result DebugDevice::createShaderObjectFromTypeLayout( + slang::TypeLayoutReflection* typeLayout, IShaderObject** outShaderObject) +{ + SLANG_GFX_API_FUNC; + + RefPtr outObject = new DebugShaderObject(); + auto result = baseObject->createShaderObjectFromTypeLayout(typeLayout, outObject->baseObject.writeRef()); + auto type = typeLayout->getType(); + auto typeName = type->getName(); + outObject->m_typeName = typeName; + outObject->m_device = this; + outObject->m_slangType = type; + if (SLANG_FAILED(result)) + return result; + returnComPtr(outShaderObject, outObject); + return result; +} + +Result DebugDevice::createMutableShaderObjectFromTypeLayout( + slang::TypeLayoutReflection* typeLayout, IShaderObject** outShaderObject) +{ + SLANG_GFX_API_FUNC; + RefPtr outObject = new DebugShaderObject(); + auto result = baseObject->createMutableShaderObjectFromTypeLayout( + typeLayout, outObject->baseObject.writeRef()); + if (SLANG_FAILED(result)) + return result; + auto type = typeLayout->getType(); + auto typeName = type->getName(); + outObject->m_typeName = typeName; + outObject->m_device = this; + outObject->m_slangType = type; + returnComPtr(outShaderObject, outObject); + return result; +} + Result DebugDevice::createProgram( const IShaderProgram::Desc& desc, IShaderProgram** outProgram, ISlangBlob** outDiagnostics) { -- cgit v1.2.3