From 6406523511037987d8b8ab881aea41389afd57eb Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 12 Aug 2021 13:14:15 -0700 Subject: Further implementation of SPIRV direct emit. (#1920) * Further implementation of SPIRV direct emit. This change implements: - Struct, Vector, Matrix and Unsized Array types. - Basic arithmetic opcodes, vector construct, swizzle etc. - getElementPtr, getElement, fieldAddress, extractField. - SPIRV target intrinsics with SPIRV asm code in stdlib. - RWStructuredBuffer and StructuredBuffer. - Pointer storage class propagation. - Control flow. * Fix. --- source/slang/slang-compiler.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'source/slang/slang-compiler.cpp') diff --git a/source/slang/slang-compiler.cpp b/source/slang/slang-compiler.cpp index d909a190c..028886c7e 100644 --- a/source/slang/slang-compiler.cpp +++ b/source/slang/slang-compiler.cpp @@ -1445,6 +1445,7 @@ namespace Slang if (target == CodeGenTarget::SPIRV && compileRequest->shouldEmitSPIRVDirectly) { List spirv; + targetReq->setDirectSPIRVEmitMode(); SLANG_RETURN_ON_FAIL(emitSPIRVForEntryPointsDirectly(compileRequest, entryPointIndices, targetReq, spirv)); auto spirvBlob = ListBlob::moveCreate(spirv); downstreamResult = new BlobDownstreamCompileResult(DownstreamDiagnostics(), spirvBlob); -- cgit v1.2.3