Avoids a bunch of checks if we can.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19050>
cmd_buffer->state.gfx.vb_dirty &= ~vb_emit;
+ const bool any_dynamic_state_dirty =
+ vk_dynamic_graphics_state_any_dirty(dyn);
uint32_t descriptors_dirty = cmd_buffer->state.descriptors_dirty &
pipeline->active_stages;
if (!cmd_buffer->state.gfx.dirty && !descriptors_dirty &&
- !vk_dynamic_graphics_state_any_dirty(dyn) &&
+ !any_dynamic_state_dirty &&
!cmd_buffer->state.push_constants_dirty)
return;
}
}
- genX(cmd_buffer_flush_dynamic_state)(cmd_buffer);
+ if (any_dynamic_state_dirty || cmd_buffer->state.gfx.dirty)
+ genX(cmd_buffer_flush_dynamic_state)(cmd_buffer);
}
static void