File tree Expand file tree Collapse file tree 3 files changed +6
-7
lines changed Expand file tree Collapse file tree 3 files changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -192,9 +192,12 @@ void RayTracingLowering(RayDispatchShaderContext* pContext)
192
192
// multiple times.
193
193
mpm.add (createRayInfoCSEPass ());
194
194
}
195
+
195
196
// After this pass, all shaders with TraceRay() or CallShader() calls will
196
197
// be split into continuations at those call sites.
197
- mpm.add (createSplitAsyncPass ());
198
+ if (!pContext->doSyncDispatchRays ())
199
+ mpm.add (createSplitAsyncPass ());
200
+
198
201
if (IGC_IS_FLAG_DISABLED (DisablePromoteToScratch) &&
199
202
pContext->m_DriverInfo .supportsRTScratchSpace ())
200
203
{
Original file line number Diff line number Diff line change @@ -1791,9 +1791,6 @@ namespace IGC
1791
1791
1792
1792
bool RayDispatchShaderContext::requiresIndirectContinuationHandling () const
1793
1793
{
1794
- IGC_ASSERT_MESSAGE (modMD->rtInfo .NumContinuations != UINT_MAX,
1795
- " not computed yet!" );
1796
-
1797
1794
if (IGC_IS_FLAG_ENABLED (EnableInlinedContinuations) &&
1798
1795
canWholeProgramCompile ())
1799
1796
{
Original file line number Diff line number Diff line change @@ -228,9 +228,8 @@ namespace IGC
228
228
uint32_t RayQueryAllocSizeInBytes = 0 ;
229
229
230
230
// SplitAsyncPass sets the number of continuations that were generated.
231
- // This is heuristically used to determine whether we should inline
232
- // or indirectly BTD to the continuations.
233
- uint32_t NumContinuations = UINT_MAX;
231
+ // However, with sync DispatchRays SplitAsyncPass is not guaranteed to run.
232
+ uint32_t NumContinuations = 0 ;
234
233
235
234
// Track the address spaces and SSH offsets for indirect stateful
236
235
// accesses.
You can’t perform that action at this time.
0 commit comments