Skip to content

Commit 9fa575d

Browse files
jaladreipsigcbot
authored andcommitted
Do not predicate raytracing-related stores with the discard mask
Do not predicate raytracing-related stores with the discard mask
1 parent 30c4ba4 commit 9fa575d

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

IGC/Compiler/CISACodeGen/EmitVISAPass.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19840,10 +19840,9 @@ void EmitPass::emitLSCVectorStore(Value *Ptr,
1984019840
{
1984119841
rawAddrVar = eOffset;
1984219842
}
19843-
// no need for discard predicate if we are writing to scratch - this is our
19844-
// internal memory, shader output remain the same, but we avoid problems
19845-
// when, for example, texture coordinates are spilled
19846-
if (resource.m_surfaceType != ESURFACE_SCRATCH)
19843+
// no need for discard predicate if we are writing to internal memory surfaces
19844+
// those include scratch or raytracing-related allocations
19845+
if (resource.m_surfaceType != ESURFACE_SCRATCH && !dontForceDmask)
1984719846
{
1984819847
setPredicateForDiscard(flag);
1984919848
}

0 commit comments

Comments
 (0)