On August 29, 2017 3:00:51 PM Kenneth Graunke <kenn...@whitecape.org> wrote:

On Tuesday, August 1, 2017 3:48:29 PM PDT Jason Ekstrand wrote:
This little series changes things around so that, instead of passing MOCS
values into ISL, ISL knows how to set them itself.  This allows us to
centralize some of the decisions about how MOCS gets set for surfaces and
hopefully, if we ever do anything crazy in the future, we can share it
between GL and Vulkan.  Unfortunately, surfaces are not the only places
where MOCS is used.  It also shows up in vertex buffers, index buffers, and
streamout buffers.  However those are always set to the platform equivalent
of I915_MOCS_CACHED (and that's not all that liable to change) so they're
not particularly interesting.

If people like this approach, I'd like to Cc it to stable for 17.2 because
it has the side-effect of making Vulkan MOCS a bit more sane.

Jason Ekstrand (5):
  intel/isl: Set MOCS based on usage for surface states
  intel/blorp: Delete the MOCS plumbing
  i965: Stop passing MOCS information into ISL
  anv: Stop passing MOCS information into ISL
  intel/isl: Get rid of the mocs fields in fill/emit_info

 src/intel/blorp/blorp.h                          |  6 ---
 src/intel/blorp/blorp_genX_exec.h                | 37 +++++++++++------
 src/intel/isl/isl.h                              | 22 ----------
 src/intel/isl/isl_emit_depth_stencil.c           | 12 +++---
 src/intel/isl/isl_genX_mocs.h                    | 53 ++++++++++++++++++++++++
 src/intel/isl/isl_surface_state.c                |  9 ++--
 src/intel/vulkan/anv_blorp.c                     |  3 --
 src/intel/vulkan/anv_device.c                    |  1 -
 src/intel/vulkan/anv_image.c                     | 12 ++----
 src/intel/vulkan/anv_private.h                   |  2 -
 src/intel/vulkan/genX_cmd_buffer.c               | 13 ++----
 src/intel/vulkan/genX_state.c                    |  3 --
 src/mesa/drivers/dri/i965/brw_blorp.c            | 15 -------
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 26 ++----------
 14 files changed, 101 insertions(+), 113 deletions(-)
 create mode 100644 src/intel/isl/isl_genX_mocs.h



I guess this is okay.  I'm not crazy about it, mostly because the logic is
still spread out in a bunch of places.  If there was a vertex buffer usage
bit and we could handle that there, I think that would be nice, even if it
doesn't otherwise seem relevant to ISL.  *shrug*

Yeah, vertex buffers make this a bit awkward. I wish there were a better way than scattering things around more. I'm honestly not sure if this series improves the scattering or not.

Having ISL do this itself rather than passing in values makes sense.

Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to