Module: Mesa Branch: main Commit: 7e00ec1c6f45b34844c8a49493910ad256a59bfd URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e00ec1c6f45b34844c8a49493910ad256a59bfd
Author: Samuel Pitoiset <[email protected]> Date: Thu Sep 21 14:01:34 2023 +0200 radv: declare shader_query_state for mesh/task shaders This will control whether mesh/task queries is enabled. Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25331> --- src/amd/vulkan/radv_shader_args.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_shader_args.c b/src/amd/vulkan/radv_shader_args.c index 81fe6ce0729..e754123a8c9 100644 --- a/src/amd/vulkan/radv_shader_args.c +++ b/src/amd/vulkan/radv_shader_args.c @@ -393,7 +393,9 @@ declare_shader_args(const struct radv_device *device, const struct radv_pipeline { const enum amd_gfx_level gfx_level = device->physical_device->rad_info.gfx_level; bool has_shader_query = info->has_prim_query || info->has_xfb_query || - (stage == MESA_SHADER_GEOMETRY && info->gs.has_pipeline_stat_query); + (stage == MESA_SHADER_GEOMETRY && info->gs.has_pipeline_stat_query) || + (stage == MESA_SHADER_MESH && info->ms.has_query) || + (stage == MESA_SHADER_TASK && info->cs.has_query); bool has_ngg_provoking_vtx = (stage == MESA_SHADER_VERTEX || stage == MESA_SHADER_GEOMETRY) && key->dynamic_provoking_vtx_mode; @@ -451,6 +453,10 @@ declare_shader_args(const struct radv_device *device, const struct radv_pipeline if (stage == MESA_SHADER_TASK) { add_ud_arg(args, 1, AC_ARG_INT, &args->ac.task_ring_entry, AC_UD_TASK_RING_ENTRY); + + if (has_shader_query) { + add_ud_arg(args, 1, AC_ARG_INT, &args->shader_query_state, AC_UD_SHADER_QUERY_STATE); + } } for (int i = 0; i < 3; i++) {
