int ilo_render_get_launch_grid_len(const struct ilo_render *render, const struct ilo_state_vector *vec) { ILO_DEV_ASSERT(render->dev, 7, 7.5); return ilo_render_get_launch_grid_surface_states_len(render, vec) + ilo_render_get_launch_grid_dynamic_states_len(render, vec) + ilo_render_get_launch_grid_commands_len(render, vec); }
void ilo_render_emit_launch_grid_surface_states(struct ilo_render *render, const struct ilo_state_vector *vec, struct ilo_render_launch_grid_session *session) { const unsigned surface_used = ilo_builder_surface_used(render->builder); ILO_DEV_ASSERT(render->dev, 7, 7.5); /* idrt depends on the binding table */ assert(!session->idrt_size); gen6_emit_launch_grid_surface_view(render, vec, session); gen6_emit_launch_grid_surface_const(render, vec, session); gen6_emit_launch_grid_surface_cs_resource(render, vec, session); gen6_emit_launch_grid_surface_global(render, vec, session); gen6_emit_launch_grid_surface_binding_table(render, vec, session); assert(ilo_builder_surface_used(render->builder) <= surface_used + ilo_render_get_launch_grid_surface_states_len(render, vec)); }