From: Mathias Fröhlich <[email protected]> Hi all,
This change finally makes use of the binding/attribute information now present in the VAO. The big part is basically a rewrite of brw_draw_upload in a way that traverses in an outer loop the bindings and for each binding the attached arrays. By this way the driver emits as few buffers as the VAO allows. For an application that already configures the VAO with a minimal set of buffers, this information is now routed through from the application down into the backend and the hardware. There is a preparatory patch for the rewrite that I could factor out. And there is the first in the series that remove the last VERT_ATTRIB_MAX long loop in the fast draw path. I did, up to now, not find a sensible way to split the big blob into smaller nicer to review chunks. Nevertheless, the patchset run through intels CI system without failures. Please review Thanks best Mathias Mathias Fröhlich (3): i965: Move down genX_upload_sbe in profiles. i965: Split merge_inputs and clear_buffers. i965: Use the VAOs binding information in array setup. src/intel/compiler/brw_compiler.h | 7 + src/intel/compiler/brw_fs.cpp | 23 ++ src/intel/compiler/brw_fs.h | 2 + src/intel/compiler/brw_fs_visitor.cpp | 1 + src/mesa/drivers/dri/i965/brw_context.h | 1 - src/mesa/drivers/dri/i965/brw_draw.c | 37 +-- src/mesa/drivers/dri/i965/brw_draw_upload.c | 386 +++++++++++++------------- src/mesa/drivers/dri/i965/genX_state_upload.c | 7 +- 8 files changed, 250 insertions(+), 214 deletions(-) -- 2.14.3 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
