File tree Expand file tree Collapse file tree 1 file changed +6
-1
lines changed
IGC/AdaptorCommon/RayTracing Expand file tree Collapse file tree 1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -148,13 +148,18 @@ void RayTracingLowering(RayDispatchShaderContext* pContext)
148
148
// splitting. This may allow us to do less spill/fills to the RTStack.
149
149
// Will investigate further as we have more workloads.
150
150
mpm.add (CreateTraceRayInlineLoweringPass ());
151
+
151
152
// Eliminate any obvious dead stores from rayquery
152
153
mpm.add (createDeadStoreEliminationPass ());
154
+
153
155
// convert to global pointers first since all downstream passes will be
154
156
// doing operations to the RTStack which will involve A64 stateless
155
157
// operations. If we enable stateful SWStacks, then this will convert
156
158
// to the address space associated with the SWStack.
157
- mpm.add (createPrivateToGlobalPointerPass ());
159
+ // This pass is not needed when doing sync DispatchRays since there's no SWStack
160
+ if (!pContext->doSyncDispatchRays ())
161
+ mpm.add (createPrivateToGlobalPointerPass ());
162
+
158
163
// Inject BTD Stack ID release calls before every return in raygen shaders.
159
164
mpm.add (CreateStackIDRetirement ());
160
165
if (IGC_IS_FLAG_DISABLED (DisableEarlyRemat))
You can’t perform that action at this time.
0 commit comments