[Mesa-dev] [PATCH 00/31] i965: Separate blorp from the rest of the driver

Jason Ekstrand jason at jlekstrand.net
Sat Aug 27 01:56:01 UTC 2016


On Thu, Aug 25, 2016 at 10:15 PM, Jason Ekstrand <jason at jlekstrand.net>
wrote:

> On Aug 25, 2016 9:41 PM, "Pohjolainen, Topi" <topi.pohjolainen at gmail.com>
> wrote:
> >
> > On Thu, Aug 25, 2016 at 02:34:37PM -0700, Jason Ekstrand wrote:
> > >    On Thu, Aug 25, 2016 at 1:10 AM, Pohjolainen, Topi
> > >    <[1]topi.pohjolainen at gmail.com> wrote:
> > >
> > >    On Fri, Aug 19, 2016 at 09:55:37AM -0700, Jason Ekstrand wrote:
> > >    > This little patch series is even more blorp code churn.  The end
> > >    objective
> > >    > is in patch 31 which pulls blorp into its own directory completely
> > >    separate
> > >    > from the i965 dri driver.
> > >    >
> > >    > Jason Ekstrand (31):
> > >    >Â  Â i965/blorp: Add a blorp_context struct and init/finish funcs
> > >    >Â  Â i965/blorp: Add an internal shader cache
> > >    >Â  Â i965/blorp/genX: Add helpers for allocating various bits of
> state
> > >    >Â  Â i965/blorp/genX: Pull emit_3dstate_multisample into a helper
> > >    >Â  Â i965/gen6: Refactor gen6_upload_urb
> > >    >Â  Â i965/blorp: Use gen6_upload_urb
> > >    >Â  Â i965/blorp/genX: Move emit_urb_config into another helper
> > >    >Â  Â i965/blorp: Add driver mocs settings to the context
> > >    >Â  Â i965/blorp: Pull emit_surface_state into genX_blorp_exec.c
> > >    >Â  Â i965/blorp: Use blorp_address in brw_blorp_surface instead of
> > >    >Â  Â  Â bo+offset
> > >    >Â  Â i965/blorp/genX: Add a blorp_surface_reloc helper
> > >    >Â  Â i965/blorp: Shorten binding table index enum names
> > >    >Â  Â i965/blorp: Use BT_INDEX enums for setting up the binding
> table
> > >    >Â  Â i965/blorp: Add a helper for allocating binding tables and
> > >    surface
> > >    >Â  Â  Â states
> > >    >Â  Â i965/blorp/exec: Refactor to use blorp_context and a void
> *batch
> > >    >Â  Â i965/blorp: Pull the guts of blorp_exec into a driver-agnostic
> > >    header
> > >    >Â  Â i965/blorp: Move the guts of brw_blorp_exec into
> > >    genX_blorp_exec.c
> > >    >Â  Â i965/blorp: Add an "exec" function pointer to blorp_context
> > >    >Â  Â i965/meta_util: Take an isl_device in get_fast_clear_rect
> > >    >Â  Â i965/blorp: Take a blorp_context in compile_nir_shader
> > >    >Â  Â i965/blorp: Get rid of brw_context
> > >    >Â  Â i965/blorp: Make blorp_addres::buffer a void*
> > >    >Â  Â i965/blorp: Add a fast_clear_op enum
> > >    >Â  Â i965: Move the hiz_op enum to blorp
> > >    >Â  Â i965/blorp: Get rid of most brw and mesa includes
> > >    >Â  Â i965: Roll brw_get_ccs_resolve_rect into blorp_ccs_resolve
> > >    >Â  Â i965: Move get_fast_clear_rect to blorp_clear.c
> > >    >Â  Â i965: Move the type_size function declartaions to brw_nir.h
> > >    >Â  Â i965/blorp: Use isl_format_get_depth_format for setting depth
> > >    formats
> > >    >Â  Â i965/blorp: Remove the remaining brw prefixes from the blorp.h
> > >    API
> > >    >Â  Â i965: Move blorp into src/intel/blorp
> > >
> > >      Patches 28-31 also look good to me and are:
> > >      Reviewed-by: Topi Pohjolainen <[2]topi.pohjolainen at intel.com>
> > >      We discussed a few things offline. Among other things we agreed to
> > >      add as a
> > >      follow-up a word or two about the low 12 bits of aux address in
> > >      patch 11
> > >      giving rational to the delta argument of blorp_surface_reloc(). In
> > >      any case
> > >      I think all patches are now reviewed.
> > >
> > >    I'm still missing a couple.  You can find everything here:
> > >    [3]https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=
> wip/blorp-vulkan
> > >    In particular, a review of the first patch to flatten makefiles
> would
> > >    be nice.
> >
> > Right, that wasn't in the series in the list and I missed it. It looks
> good
> > though:
> >
> > Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> >
> > In the patch split from the original series "i965/blorp: Remove some
> i965-isms
> > from genX_blorp_exec.h" you still have the wm_prog_data::inputs_read type
> > change left in the other patch. It doesn't effect compilation or produced
> > binary, and therefore:
> >
> > Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
>
Fixed and thanks.

> >
> > Then there is still left "i965/blorp: Use gen6_upload_urb" where I wasn't
> > 100% sure if the produced batch for gen6 remained the same as before.
> I'll
> > double check that.
> >
> > Did I miss any other?
>
There's another one in there "i965: Move type_size function declarations to
brw_nir.h" that I don't know if it ever landed on the list.

> Not that I know of off hand.
>
> One quick note (to myself as much as anyone): before this can land I need
> to go back and rework things a bit so that the shader upload API is a cache
> API.  Apparently, the i965 driver will, on occasion, drop all it's shaders
> on the floor and recompile them all.  When this happens, blorp needs to
> recompile too.  In order to handle this, we need to expose the shader
> caching API directly to the blorp interface rather than the simplified
> upload_shader function pointer.  The little cache I wrote will have to be
> part of the anv blorp implementation.
>
I'm about to send a patch for this out.  It replaces patch 1.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160826/ce7989b2/attachment.html>


More information about the mesa-dev mailing list