From 7bfbeb79a75a04c3a7baa0e230a5bd4efa0976c4 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 22 Sep 2023 16:17:18 -0700 Subject: [PATCH] anv: Set COMPUTE_WALKER systolic mode enable flag Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/compiler/brw_compiler.h | 1 + src/intel/compiler/brw_fs_nir.cpp | 1 + src/intel/vulkan/genX_cmd_buffer.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h index bdc403c0d5a..55deba7e2f8 100644 --- a/src/intel/compiler/brw_compiler.h +++ b/src/intel/compiler/brw_compiler.h @@ -1343,6 +1343,7 @@ struct brw_cs_prog_data { bool uses_num_work_groups; bool uses_inline_data; bool uses_btd_stack_ids; + bool uses_systolic; struct { struct brw_push_const_block cross_thread; diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 1bf964a0c43..33f2a4046b2 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -4643,6 +4643,7 @@ fs_nir_emit_cs_intrinsic(nir_to_brw_state &ntb, } } + cs_prog_data->uses_systolic = true; break; } diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 428603fb712..71ba9f0a46c 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -5999,6 +5999,9 @@ emit_compute_walker(struct anv_cmd_buffer *cmd_buffer, .MessageSIMD = dispatch.simd_size / 16, .IndirectDataStartAddress = comp_state->push_data.offset, .IndirectDataLength = comp_state->push_data.alloc_size, +#if GFX_VERx10 == 125 + .SystolicModeEnable = prog_data->uses_systolic, +#endif .LocalXMaximum = prog_data->local_size[0] - 1, .LocalYMaximum = prog_data->local_size[1] - 1, .LocalZMaximum = prog_data->local_size[2] - 1,