From 42f49937ffa69c82e333e886952eed027e12340e Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 16 Aug 2022 17:11:54 -0700 Subject: Add gfx interface definition in Slang. (#2364) * Add gfx interface definition in Slang. - add gfx interface definitons in Slang. - fix slang compiler to correctly type-check `out` interface argument. - modify gfx interface to be fully COM compatible - add convenient ShaderProgram creation methods to gfx. * Fix compile errors and warnings. * Update project files * Fix cuda. * Properly implement queryInterface in command encoder impls. Co-authored-by: Yong He --- tools/gfx/debug-layer/debug-device.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'tools/gfx/debug-layer/debug-device.cpp') diff --git a/tools/gfx/debug-layer/debug-device.cpp b/tools/gfx/debug-layer/debug-device.cpp index aae7f9cea..356c875d4 100644 --- a/tools/gfx/debug-layer/debug-device.cpp +++ b/tools/gfx/debug-layer/debug-device.cpp @@ -448,10 +448,26 @@ Result DebugDevice::createProgram( { SLANG_GFX_API_FUNC; - RefPtr outObject = new DebugShaderProgram(desc); + RefPtr outObject = new DebugShaderProgram(); auto result = baseObject->createProgram(desc, outObject->baseObject.writeRef(), outDiagnostics); if (SLANG_FAILED(result)) return result; + outObject->m_slangProgram = desc.slangGlobalScope; + returnComPtr(outProgram, outObject); + return result; +} + +Result DebugDevice::createProgram2( + const IShaderProgram::CreateDesc2& desc, IShaderProgram** outProgram, ISlangBlob** outDiagnostics) +{ + SLANG_GFX_API_FUNC; + IShaderProgram::Desc desc1 = {}; + RefPtr outObject = new DebugShaderProgram(); + auto result = baseObject->createProgram2(desc, outObject->baseObject.writeRef(), outDiagnostics); + if (SLANG_FAILED(result)) + return result; + auto base = static_cast(outObject->baseObject.get()); + outObject->m_slangProgram = base->desc.slangGlobalScope; returnComPtr(outProgram, outObject); return result; } -- cgit v1.2.3