<div dir="ltr"><div><div>Everything is now reviewed.  I've also sent two additional patches blorp which, when placed prior to the anv patches, make the series regression-free and they've been reviewed by Topi.<br><br></div>Nanley, if you don't mind, I would still like your review on the "use blorp to implement vkFoo" patches.  They're a complete replacement of the old blit2d or direct meta entrypoints and it's entirely possible that I've missed things.  You know the dirty little details of those APIs better than about anyone else (including myself) so I'll feel much more comfortable if you've looked over it.<br><br></div>--Jason<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 31, 2016 at 2:22 PM, Jason Ekstrand <span dir="ltr"><<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This little (hah!) series does a bit more blorp reworking and then converts<br>
most of the Vulkan driver to using blorp for its blit and copy operations.<br>
<br>
As it currently stands, it adds a few cts "regresssions" which are really<br>
because the CTS makes assumptions about rounding in scaled blit operations<br>
that aren't quite valid.<br>
<br>
This series also doesn't 100% remove vulkan meta.  As it stands, blorp<br>
can't do depth/stencil clears so those are left in meta.  Support could be<br>
added to blorp (and we could use it from GL) but that's a bit more work and<br>
I wanted to get this sent out earlier rather than later.<br>
<br>
For review, I would recommend that Topi review the first 19 or so and<br>
Nanley review patch 26+.  For 20-25, I'm not sure.  Kristian may be the<br>
best one to review since he understands it all but Jordan or Nanley could<br>
take a crack at it too.<br>
<br>
Cc: Topi Pohjolainen <<a href="mailto:topi.pohjolainen@intel.com">topi.pohjolainen@intel.com</a>><br>
Cc: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
Cc: Nanley Chery <<a href="mailto:nanley.g.chery@intel.com">nanley.g.chery@intel.com</a>><br>
Cc: Chad Versace <<a href="mailto:chad@kiwitree.net">chad@kiwitree.net</a>><br>
Cc: Kristian Høgsberg <<a href="mailto:krh@bitplanet.net">krh@bitplanet.net</a>><br>
<br>
Jason Ekstrand (33):<br>
  intel/isl: Add an isl_swizzle structure and use it for isl_view<br>
    swizzles<br>
  intel/blorp: Take an isl_swizzle instead of a SWIZZLE<br>
  intel/blorp: Take a destination swizzle in blorp_blit<br>
  intel/blorp: Don't assume R8_UINT in convert_to_single_slice<br>
  intel/blorp: Use the surface format for computing offsets<br>
  intel/blorp: Fix the early return condition in convert_to_single_slice<br>
  intel/isl: Fix an assert in get_intratile_offset_sa<br>
  intel/blorp: Handle 3D surfaces in convert_to_single_slice<br>
  intel/isl: Add a helper for getting the size of an interleaved pixel<br>
  intel/blorp: Use isl_get_interleaved_msaa_px_<wbr>size_sa<br>
  intel/blorp: Use fake_interleaved_msaa in retile_w_to_y<br>
  intel/blorp: Stop using the X/YOffset field of RENDER_SURFACE_STATE<br>
  intel/blorp: Pull the guts of blorp_blit into a helper<br>
  intel/blorp: Add an entrypoint for doing bit-for-bit copies<br>
  intel/blorp: Add support for RGB destinations in copies<br>
  intel/blorp: Add support for clearing R9G9B9E5 surfaces<br>
  intel/blorp: Make color_write_disable const and optional<br>
  intel/blorp: Add a swizzle parameter to blorp_clear<br>
  intel/blorp: Rework alloc_binding_table<br>
  intel/blorp: Use #defines for all __gen_ helpers<br>
  anv/pipeline: Roll compute_urb_partition into emit_urb_setup<br>
  anv: Generalize emit_urb_setup<br>
  intel/anv: Use #defines for all __gen_ helpers<br>
  anv: Add initial blorp support<br>
  anv: Make image_get_surface_for_aspect_<wbr>mask const<br>
  anv: Use blorp to implement VkBlitImage<br>
  anv: Use blorp for CopyImageToBuffer<br>
  anv: Use blorp for CopyBufferToImage<br>
  anv: Use blorp for CopyImage<br>
  anv: Use blorp for CopyBuffer and UpdateBuffer<br>
  anv: Delete meta_blit2d<br>
  anv: Use blorp for ClearColorImage<br>
  anv: Use blorp for doing MSAA resolves<br>
<br>
 src/intel/blorp/blorp.c                          |    7 +-<br>
 src/intel/blorp/blorp.h                          |   19 +-<br>
 src/intel/blorp/blorp_blit.c                     |  570 +++++---<br>
 src/intel/blorp/blorp_clear.c                    |   24 +-<br>
 src/intel/blorp/blorp_genX_<wbr>exec.h                |   25 +-<br>
 src/intel/blorp/blorp_priv.h                     |   26 +-<br>
 src/intel/isl/isl.c                              |   22 +-<br>
 src/intel/isl/isl.h                              |   23 +-<br>
 src/intel/isl/isl_surface_<wbr>state.c                |    8 +-<br>
 src/intel/vulkan/Makefile.am                     |    1 +<br>
 src/intel/vulkan/Makefile.<wbr>sources                |    9 +-<br>
 src/intel/vulkan/anv_blorp.c                     |  846 ++++++++++++<br>
 src/intel/vulkan/anv_device.c                    |    4 +<br>
 src/intel/vulkan/anv_formats.c                   |    9 +-<br>
 src/intel/vulkan/anv_genX.h                      |    9 +<br>
 src/intel/vulkan/anv_image.c                     |   27 +-<br>
 src/intel/vulkan/anv_meta.c                      |   21 -<br>
 src/intel/vulkan/anv_meta.h                      |   44 -<br>
 src/intel/vulkan/anv_meta_<wbr>blit.c                 |  739 -----------<br>
 src/intel/vulkan/anv_meta_<wbr>blit2d.c               | 1544 ----------------------<br>
 src/intel/vulkan/anv_meta_<wbr>clear.c                |   21 -<br>
 src/intel/vulkan/anv_meta_<wbr>copy.c                 |  479 -------<br>
 src/intel/vulkan/anv_meta_<wbr>resolve.c              |  870 ------------<br>
 src/intel/vulkan/anv_pipeline.<wbr>c                  |  142 --<br>
 src/intel/vulkan/anv_private.h                   |   33 +-<br>
 src/intel/vulkan/genX_blorp_<wbr>exec.c               |  259 ++++<br>
 src/intel/vulkan/genX_<wbr>pipeline_util.h            |  173 ++-<br>
 src/mesa/drivers/dri/i965/brw_<wbr>blorp.c            |   32 +-<br>
 src/mesa/drivers/dri/i965/brw_<wbr>wm_surface_state.c |   31 +-<br>
 src/mesa/drivers/dri/i965/<wbr>genX_blorp_exec.c      |   11 +-<br>
 30 files changed, 1873 insertions(+), 4155 deletions(-)<br>
 create mode 100644 src/intel/vulkan/anv_blorp.c<br>
 delete mode 100644 src/intel/vulkan/anv_meta_<wbr>blit.c<br>
 delete mode 100644 src/intel/vulkan/anv_meta_<wbr>blit2d.c<br>
 delete mode 100644 src/intel/vulkan/anv_meta_<wbr>copy.c<br>
 delete mode 100644 src/intel/vulkan/anv_meta_<wbr>resolve.c<br>
 create mode 100644 src/intel/vulkan/genX_blorp_<wbr>exec.c<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
2.5.0.400.gff86faf<br>
<br>
</font></span></blockquote></div><br></div>