gallium: remove start_slot parameter from pipe_context::set_vertex_buffers
authorYogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Wed, 12 Apr 2023 05:43:18 +0000 (11:13 +0530)
committerMarge Bot <emma+marge@anholt.net>
Fri, 11 Aug 2023 06:37:22 +0000 (06:37 +0000)
commit973e6f3be095eb203671826e440392ba376afb36
treef03ca71ddee94b5dce3a028a4cde7333fb4fca3f
parente0da62c0e96ff963a77b527d702c471be402b88d
gallium: remove start_slot parameter from pipe_context::set_vertex_buffers

This patch removes start_slot from set_vertex_buffers() as suggested in
https://gitlab.freedesktop.org/mesa/mesa/-/issues/8142

compilation testing:
all gallium drivers, nine frontend compilation has been tested.
d3d10umd compilation has not been tested

driver, frontend testing:
only llvmpipe and radeonsi driver was tested running game

only the nine frontend changes are complex. All other changes are easy.
nine front end was using start slot and also using multi context.

nine frontend code changes:
In update_vertex_elements() and update_vertex_buffers(), the vertex
buffers or streams are ordered removing the holes. In update_vertex_elements()
the vertex_buffer_index is updated for pipe driver to match the ordered list.

v2: remove start_slot usage code from Marek (Marek Olšák)
v3: nine stream number holes mask code from Axel (Axel Davy)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> (except nine, which is Ab)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22436>
67 files changed:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/cso_cache/cso_context.h
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_context.h
src/gallium/auxiliary/driver_ddebug/dd_context.c
src/gallium/auxiliary/driver_noop/noop_state.c
src/gallium/auxiliary/driver_trace/tr_context.c
src/gallium/auxiliary/hud/hud_context.c
src/gallium/auxiliary/postprocess/pp_run.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/auxiliary/util/u_blitter.h
src/gallium/auxiliary/util/u_draw_quad.c
src/gallium/auxiliary/util/u_draw_quad.h
src/gallium/auxiliary/util/u_helpers.c
src/gallium/auxiliary/util/u_helpers.h
src/gallium/auxiliary/util/u_threaded_context.c
src/gallium/auxiliary/util/u_vbuf.c
src/gallium/auxiliary/util/u_vbuf.h
src/gallium/auxiliary/vl/vl_bicubic_filter.c
src/gallium/auxiliary/vl/vl_compositor_gfx.c
src/gallium/auxiliary/vl/vl_deint_filter.c
src/gallium/auxiliary/vl/vl_matrix_filter.c
src/gallium/auxiliary/vl/vl_median_filter.c
src/gallium/auxiliary/vl/vl_mpeg12_decoder.c
src/gallium/drivers/asahi/agx_state.c
src/gallium/drivers/crocus/crocus_state.c
src/gallium/drivers/d3d12/d3d12_context.cpp
src/gallium/drivers/etnaviv/etnaviv_state.c
src/gallium/drivers/freedreno/freedreno_blitter.c
src/gallium/drivers/freedreno/freedreno_state.c
src/gallium/drivers/i915/i915_state.c
src/gallium/drivers/iris/iris_state.c
src/gallium/drivers/lima/lima_state.c
src/gallium/drivers/llvmpipe/lp_state_vertex.c
src/gallium/drivers/nouveau/nv30/nv30_draw.c
src/gallium/drivers/nouveau/nv30/nv30_state.c
src/gallium/drivers/nouveau/nv50/nv50_state.c
src/gallium/drivers/nouveau/nvc0/nvc0_state.c
src/gallium/drivers/panfrost/pan_context.c
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r600/r600_pipe_common.c
src/gallium/drivers/r600/r600_state_common.c
src/gallium/drivers/radeonsi/si_state.c
src/gallium/drivers/softpipe/sp_state_vertex.c
src/gallium/drivers/svga/svga_pipe_vertex.c
src/gallium/drivers/svga/svga_swtnl_state.c
src/gallium/drivers/tegra/tegra_context.c
src/gallium/drivers/v3d/v3dx_state.c
src/gallium/drivers/vc4/vc4_state.c
src/gallium/drivers/virgl/virgl_context.c
src/gallium/drivers/zink/zink_context.c
src/gallium/frontends/d3d10umd/InputAssembly.cpp
src/gallium/frontends/lavapipe/lvp_execute.c
src/gallium/frontends/nine/device9.c
src/gallium/frontends/nine/device9.h
src/gallium/frontends/nine/nine_state.c
src/gallium/frontends/nine/nine_state.h
src/gallium/include/pipe/p_context.h
src/gallium/tests/trivial/quad-tex.c
src/gallium/tests/trivial/tri.c
src/gallium/tools/trace/dump_state.py
src/mesa/state_tracker/st_atom_array.cpp
src/mesa/state_tracker/st_cb_drawtex.c
src/mesa/state_tracker/st_draw.c
src/mesa/state_tracker/st_draw_feedback.c
src/mesa/state_tracker/st_pbo.c