hk: optimize out empty dispatches

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34638>
This commit is contained in:
Alyssa Rosenzweig 2025-04-21 12:20:27 -04:00 committed by Marge Bot
parent f6ee36a437
commit b916c38c76
2 changed files with 6 additions and 0 deletions

View file

@ -793,6 +793,9 @@ hk_dispatch_with_local_size(struct hk_cmd_buffer *cmd, struct hk_cs *cs,
struct hk_shader *s, struct agx_grid grid,
struct agx_workgroup local_size)
{
if (agx_is_shader_empty(&s->b))
return;
struct hk_device *dev = hk_cmd_buffer_device(cmd);
uint32_t usc = hk_upload_usc_words(cmd, s, s->only_linked);

View file

@ -87,6 +87,9 @@ static void
dispatch(struct hk_cmd_buffer *cmd, struct agx_grid grid)
{
struct hk_shader *s = hk_only_variant(cmd->state.cs.shader);
if (agx_is_shader_empty(&s->b))
return;
struct hk_cs *cs = hk_cmd_buffer_get_cs(cmd, true /* compute */);
if (!cs)
return;