[Mesa-stable] [PATCH 00/16] anv: Fix our 48-bit problems
Andres Gomez
agomez at igalia.com
Mon Jun 26 20:15:00 UTC 2017
Jason, you CCed this whole series for stable. However:
* Patch 1/16 already landed, but without the -stable tag. Should it be
cherry-picked? It looks like yes.
* Patch 2/16 did not land. Is it in need of review or it has been
superseded?
* Patches 3-15/16 were already cherry-picked in the 17.1.2 release.
* Patch 16/16 has not landed yet. Is it in need of review or it has
been superseded? Not sure if we want to cherry-pick it in any case
...
Please, let us know when you can.
Thanks!
On Thu, 2017-05-18 at 14:00 -0700, Jason Ekstrand wrote:
> This patch series aims to fix the remaining 48-bit problems in the Vulkan
> driver. As such, the entire thing will be CC'd to stable before landing.
>
> The first 5 patches fix the driver to handle memory aliasing correctly.
> Vulkan allows you to bind multiple buffers or images to overlapping memory
> regions so long as you get your layout transitions correct. Up until now,
> we've been doing a memset at vkBindImageMemory time to initialize auxiliary
> surfaces which isn't valid in light of aliasing. Instead, these patches
> provide actual support for layout transitions from UNDEFINED to other
> layouts. This isn't actually a 48-bit issue but the other patches cause a
> change in the behavior of some CTS tests which makes them start failing due
> to memory aliasing problems.
>
> The next 10 patches refactor memory type setup and make us advertise 2
> heaps on platforms with a lot of memory. For justification, see the
> comment in patch 15.
>
> The last patch just extends the new pass added in patch 2 for gen7-8. It's
> fairly straightforward but completely untested. Hopefully it will help
> Nanley or someone else if they ever need it.
>
> Cc: "17.1" <mesa-stable at lists.freedesktop.org>
> Cc: Nanley Chery <nanley.g.chery at intel.com>
>
> Jason Ekstrand (16):
> isl: Make get_intratile_offset_el take the element size in bits
> intel/blorp: Add a CCS ambiguation pass
> anv: Handle color layout transitions from the UNINITIALIZED layout
> anv: Handle transitioning depth from UNDEFINED to other layouts
> anv/image: Get rid of the memset(aux, 0, sizeof(aux)) hack
> anv: Predicate 48bit support on gen >= 8
> anv: Set up memory types and heaps during physical device init
> anv: Determine the type of mapping based on type metadata
> anv: Add valid_bufer_usage to the memory type metadata
> anv: Set image memory types based on the type count
> anv: Stop setting BO flags in bo_init_new
> anv: Make supports_48bit_addresses a heap property
> anv: Refactor memory type setup
> anv: Advertise both 32-bit and 48-bit heaps when we have enough memory
> anv: Require vertex buffers to come from a 32-bit heap
> intel/blorp: Add gen7-8 support to ccs_ambiguate
>
> src/intel/blorp/blorp.h | 5 +
> src/intel/blorp/blorp_clear.c | 159 +++++++++++++++++++++++++-
> src/intel/isl/isl.c | 7 +-
> src/intel/isl/isl.h | 6 +-
> src/intel/vulkan/anv_allocator.c | 17 +--
> src/intel/vulkan/anv_blorp.c | 40 +++++++
> src/intel/vulkan/anv_device.c | 201 ++++++++++++++++++++++++---------
> src/intel/vulkan/anv_image.c | 40 ++-----
> src/intel/vulkan/anv_private.h | 33 +++++-
> src/intel/vulkan/anv_queue.c | 4 +-
> src/intel/vulkan/genX_cmd_buffer.c | 33 ++++--
> src/mesa/drivers/dri/i965/intel_blit.c | 2 +-
> 12 files changed, 428 insertions(+), 119 deletions(-)
>
--
Br,
Andres
More information about the mesa-stable
mailing list