Skip to content

Commit 1f9543a

Browse files
committed
Fix bug
1 parent 7199102 commit 1f9543a

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

source/slang/slang-emit.cpp

+16-13
Original file line numberDiff line numberDiff line change
@@ -2139,21 +2139,24 @@ SlangResult emitSPIRVForEntryPointsDirectly(
21392139

21402140
SLANG_ASSERT(int(spirv.getCount()) % 4 == 0);
21412141
SLANG_ASSERT(spirvFiles.size() == spirvSizes.size());
2142-
SlangResult linkresult = compiler->link(
2143-
(const uint32_t**)spirvFiles.data(),
2144-
(const uint32_t*)spirvSizes.data(),
2145-
(uint32_t)spirvFiles.size(),
2146-
linkedArtifact.writeRef());
2147-
2148-
if (linkresult != SLANG_OK)
2142+
2143+
if (spirvFiles.size() > 1)
21492144
{
2150-
return SLANG_FAIL;
2151-
}
2145+
SlangResult linkresult = compiler->link(
2146+
(const uint32_t**)spirvFiles.data(),
2147+
(const uint32_t*)spirvSizes.data(),
2148+
(uint32_t)spirvFiles.size(),
2149+
linkedArtifact.writeRef());
21522150

2153-
ComPtr<ISlangBlob> blob;
2154-
linkedArtifact->loadBlob(ArtifactKeep::No, blob.writeRef());
2155-
2156-
artifact = _Move(linkedArtifact);
2151+
if (linkresult != SLANG_OK)
2152+
{
2153+
return SLANG_FAIL;
2154+
}
2155+
2156+
ComPtr<ISlangBlob> blob;
2157+
linkedArtifact->loadBlob(ArtifactKeep::No, blob.writeRef());
2158+
artifact = _Move(linkedArtifact);
2159+
}
21572160
}
21582161

21592162
if (!codeGenContext->shouldSkipSPIRVValidation())

0 commit comments

Comments
 (0)