[PATCH] drm/xe/xe3: Disable null query for anyhit shader

Matt Roper matthew.d.roper at intel.com
Tue Jun 3 22:58:46 UTC 2025


On Mon, May 12, 2025 at 06:02:54PM +0530, Nitin Gote wrote:
> Set DIS_NULL_QUERY bit of RT_CTRL register to disable
> null query for anyhit shader for Xe3 IP.
> 
> Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>
> Reviewed-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
> Signed-off-by: Nitin Gote <nitin.r.gote at intel.com>
> ---
> Hi Matt and Gustavo,
> 
> On PTL, Default value of DIS_NULL_QUERY bit of RT_CTRL is '0' only.
> Last time, I have incorrectly read a value.
> So, this change is required as per request.
> 
> Parallely, I will request to update bspec properly with default
> value and also proper entry for tuning.
>  
> Changes in v2:
>   - Use xe3 IP and not ptl in commit title 
>     as this is  not platform specific.(Gustavo Sousa)
>   - Update a commit details properly (Matt)
> 
>  drivers/gpu/drm/xe/xe_tuning.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
> index 49ddbda7cdef..6f2f3428b12e 100644
> --- a/drivers/gpu/drm/xe/xe_tuning.c
> +++ b/drivers/gpu/drm/xe/xe_tuning.c
> @@ -98,6 +98,11 @@ static const struct xe_rtp_entry_sr engine_tunings[] = {
>  		       ENGINE_CLASS(RENDER)),
>  	  XE_RTP_ACTIONS(SET(SAMPLER_MODE, INDIRECT_STATE_BASE_ADDR_OVERRIDE))
>  	},
> +	{ XE_RTP_NAME("Tuning: Disable NULL query for Anyhit Shader"),
> +	  XE_RTP_RULES(GRAPHICS_VERSION_RANGE(3000, 3001),

I hear a bspec update is pending to document the default values
properly.  But is this truly specific to 30.00 and 30.01?  What about
the 30.03 that's in the process of being enabled right now?  If this is
general programming, then we should really just use
XE_RTP_END_VERSION_UNDEFINED as the upper bound for now; we can replace
that with a real end version if some future platform eventually flips
the default value (or eliminates this register completely).

I'm also still unclear on whether we also need to be doing this on the
Xe2 platforms too or not?  According to the note in the bspec, a value
of "0" for this bit isn't valid from Xe2 onward, so if Xe2 also has the
wrong hardware default, then wouldn't we need to handle it on those
platforms too?


Matt

> +		       FUNC(xe_rtp_match_first_render_or_compute)),
> +	  XE_RTP_ACTIONS(SET(RT_CTRL, DIS_NULL_QUERY))
> +	},
>  };
>  
>  static const struct xe_rtp_entry_sr lrc_tunings[] = {
> -- 
> 2.25.1
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation


More information about the Intel-xe mailing list