[Mesa-dev] [PATCH 0/3] Make use of VAO information in i965.

Mathias.Froehlich at gmx.net Mathias.Froehlich at gmx.net
Thu May 17 06:38:25 UTC 2018


From: Mathias Fröhlich <Mathias.Froehlich at gmx.net>

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



More information about the mesa-dev mailing list