@@ -2139,21 +2139,24 @@ SlangResult emitSPIRVForEntryPointsDirectly(
2139
2139
2140
2140
SLANG_ASSERT (int (spirv.getCount ()) % 4 == 0 );
2141
2141
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 )
2149
2144
{
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 ());
2152
2150
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
+ }
2157
2160
}
2158
2161
2159
2162
if (!codeGenContext->shouldSkipSPIRVValidation ())
0 commit comments