mirror of
https://github.com/intel/intel-graphics-compiler.git
synced 2025-11-04 08:21:06 +08:00
[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:
@ -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__
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user