@@ -41,7 +41,6 @@ using namespace llvm;
4141using namespace RTStackFormat ;
4242using namespace IGC ;
4343
44-
4544namespace {
4645 class VAdapt
4746 {
@@ -872,11 +871,11 @@ Value* RTBuilder::getPrimitiveIndex(
872871 }
873872}
874873
875- Value * RTBuilder::getPrimitiveIndex (
874+ PHINode * RTBuilder::getPrimitiveIndex (
876875 RTBuilder::StackPointerVal* perLaneStackPtr, Value* leafType, bool Committed)
877876{
878- switch (getMemoryStyle ())
879- {
877+ switch (getMemoryStyle ())
878+ {
880879#define STYLE (X ) \
881880 case RTMemoryStyle::X: \
882881 return _getPrimitiveIndex_##X ( \
@@ -886,12 +885,11 @@ Value* RTBuilder::getPrimitiveIndex(
886885 VALUE_NAME (" primitiveIndex" ));
887886#include " RayTracingMemoryStyle.h"
888887#undef STYLE
889- }
890- IGC_ASSERT (0 );
891- return nullptr ;
888+ }
889+ IGC_ASSERT (0 );
890+ return {} ;
892891}
893892
894-
895893Value* RTBuilder::getGeometryIndex (
896894 RTBuilder::StackPointerVal* perLaneStackPtr,
897895 Instruction* I,
@@ -906,36 +904,37 @@ Value* RTBuilder::getGeometryIndex(
906904 auto [ValidBB, PN] =
907905 validateInstanceLeafPtr (perLaneStackPtr, I, (ShaderTy == CallableShaderTypeMD::ClosestHit));
908906 this ->SetInsertPoint (ValidBB->getTerminator ());
909- Value* validGeomIndex = getGeometryIndex (perLaneStackPtr, leafType, ShaderTy == CallableShaderTypeMD::ClosestHit );
907+ Value* validGeomIndex = getGeometryIndex (perLaneStackPtr, &*BB-> rbegin (), leafType, ShaderTy);
910908 PN->addIncoming (validGeomIndex, getUnsetPhiBlock (PN));
911909 this ->SetInsertPoint (I);
912910 return PN;
913911 }
914912 else
915913 {
916- return getGeometryIndex (perLaneStackPtr, leafType, ShaderTy == CallableShaderTypeMD::ClosestHit );
914+ return getGeometryIndex (perLaneStackPtr, I, leafType, ShaderTy);
917915 }
918916}
919917
920918Value* RTBuilder::getGeometryIndex (
921919 RTBuilder::StackPointerVal* perLaneStackPtr,
920+ Instruction* I,
922921 Value* leafType,
923- bool committed )
922+ IGC::CallableShaderTypeMD ShaderTy )
924923{
925- switch (getMemoryStyle ())
926- {
924+ switch (getMemoryStyle ())
925+ {
927926#define STYLE (X ) \
928927 case RTMemoryStyle::X: \
929928 return _getGeometryIndex_##X ( \
930929 perLaneStackPtr, \
931930 leafType, \
932- VAdapt{ *this , committed }, \
931+ VAdapt{ *this , ShaderTy == ClosestHit }, \
933932 VALUE_NAME (" geometryIndex" ));
934933#include " RayTracingMemoryStyle.h"
935934#undef STYLE
936- }
937- IGC_ASSERT (0 );
938- return nullptr ;
935+ }
936+ IGC_ASSERT (0 );
937+ return {} ;
939938}
940939
941940Value* RTBuilder::getInstanceContributionToHitGroupIndex (
0 commit comments