intel/compiler/fs: Restore SIMD32 restriction for ray_queries on Xe2

In 96e0d979a7, the restriction was dropped because we don't compile a
SIMD8 program on Xe2. This change moves it to run_fs() so the
restriction will be added when compiling SIMD16 on Xe2.

Fixes: 96e0d979a7 ("intel/fs: Check fs_visitor instance before using it")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28191>
This commit is contained in:
Jordan Justen
2024-01-05 11:09:19 -08:00
committed by Marge Bot
parent 2ad4d5f8dd
commit 72d289b8d1

View File

@@ -3232,6 +3232,9 @@ fs_visitor::run_fs(bool allow_spilling, bool do_rep_send)
payload_ = new fs_thread_payload(*this, source_depth_to_render_target);
if (nir->info.ray_queries > 0)
limit_dispatch_width(16, "SIMD32 not supported with ray queries.\n");
if (do_rep_send) {
assert(dispatch_width == 16);
emit_repclear_shader();
@@ -3847,9 +3850,6 @@ brw_compile_fs(const struct brw_compiler *compiler,
" pixel shading.\n");
}
if (nir->info.ray_queries > 0 && v8)
v8->limit_dispatch_width(16, "SIMD32 with ray queries.\n");
if (!has_spilled &&
(!v8 || v8->max_dispatch_width >= 16) &&
(INTEL_SIMD(FS, 16) || params->use_rep_send)) {