Module: Mesa Branch: main Commit: 76725452239e9e7740c0edd6a5f3663ab897c343 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=76725452239e9e7740c0edd6a5f3663ab897c343
Author: Mike Blumenkrantz <[email protected]> Date: Fri Jun 30 17:15:09 2023 -0400 gallium: move vertex stride to CSO this simplifies code in most place and enables some optimizations in frontends Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24117> --- src/asahi/lib/agx_nir_lower_vbo.c | 2 +- src/asahi/lib/agx_nir_lower_vbo.h | 2 +- src/gallium/auxiliary/draw/draw_context.c | 2 + src/gallium/auxiliary/draw/draw_llvm.c | 23 +++-- src/gallium/auxiliary/draw/draw_llvm.h | 5 +- src/gallium/auxiliary/draw/draw_private.h | 1 + src/gallium/auxiliary/draw/draw_pt.c | 18 ++-- src/gallium/auxiliary/draw/draw_pt_fetch.c | 5 +- .../auxiliary/draw/draw_pt_fetch_shade_emit.c | 9 +- src/gallium/auxiliary/driver_trace/tr_dump_state.c | 2 +- src/gallium/auxiliary/hud/hud_context.c | 24 ++++-- src/gallium/auxiliary/hud/hud_private.h | 1 + src/gallium/auxiliary/postprocess/pp_program.c | 2 + src/gallium/auxiliary/util/u_blitter.c | 6 +- src/gallium/auxiliary/util/u_draw.c | 4 +- src/gallium/auxiliary/util/u_draw_quad.c | 2 - src/gallium/auxiliary/util/u_dump_state.c | 2 +- src/gallium/auxiliary/util/u_inlines.h | 2 - src/gallium/auxiliary/util/u_tests.c | 1 + src/gallium/auxiliary/util/u_threaded_context.c | 1 - src/gallium/auxiliary/util/u_vbuf.c | 99 ++++++++++++---------- src/gallium/auxiliary/util/u_vertex_state_cache.c | 1 - src/gallium/auxiliary/vl/vl_bicubic_filter.c | 1 + src/gallium/auxiliary/vl/vl_compositor.c | 4 +- src/gallium/auxiliary/vl/vl_compositor.h | 2 + src/gallium/auxiliary/vl/vl_compositor_gfx.c | 2 +- src/gallium/auxiliary/vl/vl_matrix_filter.c | 1 + src/gallium/auxiliary/vl/vl_median_filter.c | 1 + src/gallium/auxiliary/vl/vl_vertex_buffers.c | 12 ++- src/gallium/drivers/asahi/agx_state.c | 6 +- src/gallium/drivers/crocus/crocus_state.c | 6 +- src/gallium/drivers/d3d12/d3d12_context.cpp | 5 +- src/gallium/drivers/d3d12/d3d12_draw.cpp | 13 ++- src/gallium/drivers/d3d12/d3d12_pipeline_state.h | 4 +- src/gallium/drivers/etnaviv/etnaviv_emit.c | 27 +++--- src/gallium/drivers/etnaviv/etnaviv_internal.h | 2 +- src/gallium/drivers/etnaviv/etnaviv_state.c | 5 +- src/gallium/drivers/freedreno/a2xx/fd2_program.c | 2 +- src/gallium/drivers/freedreno/a3xx/fd3_emit.c | 2 +- src/gallium/drivers/freedreno/a4xx/fd4_emit.c | 2 +- src/gallium/drivers/freedreno/a5xx/fd5_emit.c | 2 +- src/gallium/drivers/freedreno/a6xx/fd6_context.cc | 9 +- src/gallium/drivers/freedreno/a6xx/fd6_emit.cc | 14 +-- src/gallium/drivers/freedreno/freedreno_context.c | 6 +- src/gallium/drivers/freedreno/freedreno_context.h | 1 + src/gallium/drivers/freedreno/freedreno_state.c | 6 +- src/gallium/drivers/iris/iris_state.c | 35 +++++++- src/gallium/drivers/lima/lima_draw.c | 4 +- src/gallium/drivers/nouveau/nv30/nv30_push.c | 4 +- src/gallium/drivers/nouveau/nv30/nv30_state.h | 1 + src/gallium/drivers/nouveau/nv30/nv30_vbo.c | 17 ++-- src/gallium/drivers/nouveau/nv50/nv50_push.c | 4 +- src/gallium/drivers/nouveau/nv50/nv50_state.c | 5 -- src/gallium/drivers/nouveau/nv50/nv50_stateobj.h | 2 + src/gallium/drivers/nouveau/nv50/nv50_vbo.c | 23 +++-- src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 5 -- src/gallium/drivers/nouveau/nvc0/nvc0_stateobj.h | 2 + src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 25 ++++-- .../drivers/nouveau/nvc0/nvc0_vbo_translate.c | 8 +- src/gallium/drivers/panfrost/pan_cmdstream.c | 14 +-- src/gallium/drivers/r300/r300_emit.c | 30 +++---- src/gallium/drivers/r300/r300_render.c | 8 +- src/gallium/drivers/r600/evergreen_compute.c | 1 - src/gallium/drivers/r600/evergreen_state.c | 5 +- src/gallium/drivers/r600/r600_asm.c | 3 + src/gallium/drivers/r600/r600_pipe.h | 1 + src/gallium/drivers/r600/r600_pipe_common.c | 1 - src/gallium/drivers/r600/r600_state.c | 4 +- src/gallium/drivers/r600/r600_state_common.c | 2 - src/gallium/drivers/radeonsi/si_state.c | 10 +-- src/gallium/drivers/radeonsi/si_state.h | 1 + src/gallium/drivers/radeonsi/si_state_draw.cpp | 11 +-- src/gallium/drivers/radeonsi/si_state_shaders.cpp | 2 +- src/gallium/drivers/svga/svga_context.h | 1 + src/gallium/drivers/svga/svga_draw.c | 4 +- src/gallium/drivers/svga/svga_pipe_vertex.c | 2 + src/gallium/drivers/svga/svga_state_vdecl.c | 8 +- src/gallium/drivers/svga/svga_swtnl_backend.c | 1 - src/gallium/drivers/v3d/v3dx_draw.c | 2 +- src/gallium/drivers/vc4/vc4_draw.c | 8 +- src/gallium/drivers/virgl/virgl_context.c | 4 +- src/gallium/drivers/virgl/virgl_context.h | 1 + src/gallium/drivers/virgl/virgl_encode.c | 2 +- src/gallium/drivers/virgl/virgl_encode.h | 1 + src/gallium/drivers/zink/zink_context.c | 5 +- src/gallium/drivers/zink/zink_draw.cpp | 11 +-- src/gallium/drivers/zink/zink_program_state.hpp | 4 +- src/gallium/drivers/zink/zink_state.c | 8 +- src/gallium/drivers/zink/zink_types.h | 1 + src/gallium/frontends/d3d10umd/Draw.cpp | 3 + src/gallium/frontends/d3d10umd/InputAssembly.cpp | 6 +- src/gallium/frontends/d3d10umd/State.h | 1 + src/gallium/frontends/lavapipe/lvp_execute.c | 22 +++-- src/gallium/frontends/nine/buffer9.c | 2 +- src/gallium/frontends/nine/device9.c | 16 ++-- src/gallium/frontends/nine/nine_csmt_helper.h | 11 ++- src/gallium/frontends/nine/nine_state.c | 26 ++++-- src/gallium/frontends/nine/nine_state.h | 5 +- src/gallium/frontends/nine/stateblock9.c | 4 +- src/gallium/frontends/xa/xa_renderer.c | 2 + src/gallium/include/pipe/p_state.h | 4 +- src/gallium/tests/trivial/quad-tex.c | 2 + src/gallium/tests/trivial/tri.c | 2 + src/mesa/main/varray.c | 7 +- src/mesa/state_tracker/st_atom_array.cpp | 15 ++-- src/mesa/state_tracker/st_cb_drawtex.c | 1 + src/mesa/state_tracker/st_context.c | 3 + src/mesa/state_tracker/st_draw.c | 2 - src/mesa/state_tracker/st_pbo.c | 3 +- 109 files changed, 448 insertions(+), 329 deletions(-) Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=76725452239e9e7740c0edd6a5f3663ab897c343
