[Autobackout][FunctionalRegression]Revert of change: 882201b325: Use Ray Query Return value in Compute Ray Tracing Extension

Modified intel_get_hit_candidate and intel_is_traversal_done functions.
This commit is contained in:
sys_igc
2025-08-14 23:33:27 +02:00
committed by igcbot
parent dcc6f77411
commit 587c7e9603
4 changed files with 0 additions and 40 deletions

View File

@ -38,6 +38,5 @@ BIF_FLAG_CONTROL(int, MaxHWThreadIDPerSubDevice)
BIF_FLAG_CONTROL(bool, UseAssumeInGetGlobalId)
BIF_FLAG_CONTROL(int, JointMatrixLoadStoreOpt)
BIF_FLAG_CONTROL(bool, UseOOBChecks)
BIF_FLAG_CONTROL(bool, IsRayQueryReturnOptimizationEnabled)
BIF_FLAG_CONTROL(bool, UseBindlessImage)
#endif // __BIF_FLAG_CONTROL_H__

View File

@ -375,23 +375,6 @@ intel_float4x3 intel_get_hit_object_to_world(
intel_candidate_type_t
intel_get_hit_candidate(intel_ray_query_t rayquery, intel_hit_type_t hit_type)
{
if (BIF_FLAG_CTRL_GET(IsRayQueryReturnOptimizationEnabled))
{
rtfence_t fence = __builtin_IB_intel_query_rt_fence(rayquery);
uintptr_t fenceInt = (uintptr_t)fence;
intel_candidate_type_t committedStatus = (fenceInt >> 1) & 0x3;
intel_candidate_type_t candidateType = (fenceInt>> 3) & 0x1;
if (hit_type == intel_hit_type_committed_hit)
{
return committedStatus - 1;
}
else if (hit_type == intel_hit_type_potential_hit)
{
return candidateType;
}
}
return MemHit_getLeafType(get_query_hit(rayquery, hit_type)) == NODE_TYPE_QUAD
? intel_candidate_type_triangle
: intel_candidate_type_procedural;
@ -463,16 +446,6 @@ int intel_get_ray_mask(intel_ray_query_t rayquery, uint bvh_level)
// a procedural leaf or a non-opaque triangle leaf, and requires shader processing.
bool intel_is_traversal_done(intel_ray_query_t rayquery)
{
if (BIF_FLAG_CTRL_GET(IsRayQueryReturnOptimizationEnabled))
{
rtfence_t fence = __builtin_IB_intel_query_rt_fence(rayquery);
uintptr_t fenceInt = (uintptr_t)fence;
bool proceedFurther = (fenceInt & 0x1) != 0;
return !proceedFurther;
}
bool isTraversalDone = MemHit_getDone(get_query_hit(rayquery, intel_hit_type_potential_hit));
return isTraversalDone;
}
@ -480,16 +453,6 @@ bool intel_is_traversal_done(intel_ray_query_t rayquery)
// if traversal is done one can test for the presence of a committed hit to either invoke miss or closest hit shader
bool intel_has_committed_hit(intel_ray_query_t rayquery)
{
if (BIF_FLAG_CTRL_GET(IsRayQueryReturnOptimizationEnabled))
{
rtfence_t fence = __builtin_IB_intel_query_rt_fence(rayquery);
uintptr_t fenceInt = (uintptr_t)fence;
intel_candidate_type_t committedStatus = (fenceInt >> 1) & 0x3;
return committedStatus != 0;
}
return MemHit_getValid(get_query_hit(rayquery, intel_hit_type_committed_hit));
}

View File

@ -97,7 +97,6 @@ void BIFFlagCtrlResolution::FillFlagCtrl() {
}
BIF_FLAG_CTRL_SET(UseOOBChecks, PtrCGC->platform.needsOutOfBoundsBuiltinChecks());
BIF_FLAG_CTRL_SET(IsRayQueryReturnOptimizationEnabled, PtrCGC->platform.isRayQueryReturnOptimizationEnabled());
// NOTE: No need to check for UseLegacyBindlessMode,
// as it's unrelated to images.

View File

@ -94,7 +94,6 @@ void GenXBIFFlagCtrlResolution::FillFlagCtrl() {
BIF_FLAG_CTRL_SET(UseNativeFP64GlobalAtomicAdd, false);
BIF_FLAG_CTRL_SET(MaxHWThreadIDPerSubDevice, 1);
BIF_FLAG_CTRL_SET(UseOOBChecks, false);
BIF_FLAG_CTRL_SET(IsRayQueryReturnOptimizationEnabled, false);
BIF_FLAG_CTRL_SET(UseBindlessImage, false);
}