Skip to content

Commit 763e06f

Browse files
jaladreipsigcbot
authored andcommitted
Separate sync and async rt stacks in raytracing magic types
Separate sync and async rt stacks in raytracing magic types
1 parent 313e584 commit 763e06f

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

IGC/AdaptorCommon/RayTracing/RTBuilder.cpp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1643,10 +1643,12 @@ static const char* RaytracingTypesMDName = "igc.magic.raytracing.types";
16431643
// and add create a getter function below to retrieve it.
16441644
enum class RaytracingType
16451645
{
1646-
RTStack2Stateless = 0,
1647-
RTStack2Stateful = 1,
1648-
RayDispatchGlobalData = 2,
1649-
SWHotZone = 3,
1646+
AsyncRTStack2Stateless = 0,
1647+
AsyncRTStack2Stateful = 1,
1648+
RayDispatchGlobalData = 2,
1649+
SWHotZone = 3,
1650+
SyncRTStack2Stateless = 4,
1651+
SyncRTStack2Stateful = 5,
16501652
NUM_TYPES
16511653
};
16521654

@@ -1756,8 +1758,18 @@ Type* RTBuilder::getRTStack2PtrTy(
17561758
AddrSpace);
17571759
};
17581760

1759-
auto RTType = (Mode == RTBuilder::STATELESS) ?
1760-
RaytracingType::RTStack2Stateless : RaytracingType::RTStack2Stateful;
1761+
auto RTType = RaytracingType::NUM_TYPES;
1762+
1763+
if (async)
1764+
{
1765+
RTType = (Mode == RTBuilder::STATELESS) ?
1766+
RaytracingType::AsyncRTStack2Stateless : RaytracingType::AsyncRTStack2Stateful;
1767+
}
1768+
else
1769+
{
1770+
RTType = (Mode == RTBuilder::STATELESS) ?
1771+
RaytracingType::SyncRTStack2Stateless : RaytracingType::SyncRTStack2Stateful;
1772+
}
17611773

17621774
return lazyGetRTType(*Ctx.getModule(), RTType, addTy);
17631775
}

0 commit comments

Comments
 (0)