I keep saying I'm going to review this "tomorrow" but I really mean it this time! I would have today but I spent the whole day arguing the finer points of surface layout, HiZ, fast clears, and color compression with Chad. It was a fun day! :-)
--Jason On Jun 23, 2016 12:17 PM, "Topi Pohjolainen" <[email protected]> wrote: > In addition to the actual vertex coordinates blorp will get another > vertex input buffer providing the constants that are until now > provided as uniforms. This will remove the need to configure push > constants and their allocation in the pipeline. > > First three patches refactor the vertex data setup for blorp. The > existing logic in blorp already supports all gens (gen6-gen9). I > chose to change the core upload logic accordingly and simply use that > for blorp. > > Patches 5-8 pack the constants in blorp programs into vec4s. By > default compiler puts input variables two full hardware registers > apart. Having them in vec4s drops the need to repack them. > > Last four patches take actual advantage of the change by dropping > unnecessary pipeline reconfiguration. > > CC: Kenneth Graunke <[email protected]> > CC: Jason Ekstrand <[email protected]> > > Topi Pohjolainen (18): > i965/draw: Expose vertex buffer state setup > i965: Unify vertex buffer setup > i965/blorp: Split vertex data and element setup > i965/blorp: Use core vertex buffer state setup > i965/blorp: Rename push constants to inputs > i965/blorp: Share input slot between pixel kill and blend/scaled > i965/blorp: Load tranformation coordinates as vec4 > i965/blorp: Drop LOAD_UNIFORM macro > i965/blorp: Store input read mask > i965/blorp: Add support for flat input buffer > i965/blorp: Tell vertex fetcher about flat inputs > i965/blorp: Prepare for more than two vertex attributes > i965/blorp: Use flat inputs instead of uniforms > i965/blorp: Remove support for push constants > i965/urb: Allow blorp to record current settings > i965/blorp: Fix the size requirement for vertex elements > i965/blorp/gen7+: Stop trashing push constant allocation > i965/blorp/gen7+: Do not trigger push constant space reconfig > > src/mesa/drivers/dri/i965/brw_blorp.c | 18 +- > src/mesa/drivers/dri/i965/brw_blorp.h | 81 ++++++--- > src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 135 +++++++++------ > src/mesa/drivers/dri/i965/brw_blorp_clear.cpp | 15 +- > src/mesa/drivers/dri/i965/brw_context.h | 12 +- > src/mesa/drivers/dri/i965/brw_draw.h | 13 ++ > src/mesa/drivers/dri/i965/brw_draw_upload.c | 74 +++++--- > src/mesa/drivers/dri/i965/gen6_blorp.c | 240 > +++++++++++++------------- > src/mesa/drivers/dri/i965/gen7_blorp.c | 153 ++++------------ > src/mesa/drivers/dri/i965/gen7_urb.c | 93 +++++----- > src/mesa/drivers/dri/i965/gen8_blorp.c | 86 ++------- > src/mesa/drivers/dri/i965/gen8_draw_upload.c | 41 ++--- > 12 files changed, 448 insertions(+), 513 deletions(-) > > -- > 2.5.5 > >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
