i965: Use the VAOs binding information in array setup.
authorMathias Fröhlich <mathias.froehlich@web.de>
Sat, 20 Apr 2019 05:57:15 +0000 (07:57 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 10 Mar 2020 14:28:37 +0000 (14:28 +0000)
commitb684030c3a656ffdbc93581856034e0982db46fd
tree2b25140c5601c3349d4192e304054ea1c37eb8e1
parente1f2c84282bbcce9d7e94ac99d2ff1b3489f6e67
i965: Use the VAOs binding information in array setup.

The change basically reimplements array setup by walking
the gl_contex::Array._DrawVAO on a per binding sequence.
In this way we can make direct use of the application
provided minimum set of buffer objects and emit fewer relocs.

v2: Rebase onto:
    compiler: Move double_inputs to gl_program::DualSlotInputs
v3: Rebase onto introduction of gl_vertex_format
v4: Reorder and extend patch series.
v5: Split out two hunks into seperate patches.
v6: Avoid using GL* types.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/308>
src/mesa/drivers/dri/i965/brw_draw_upload.c