[Mesa-dev] [Mesa-stable] [PATCH 00/16] anv: Fix our 48-bit problems
Jason Ekstrand
jason at jlekstrand.net
Fri Jun 30 23:45:53 UTC 2017
I know this is rather late but....
On June 26, 2017 1:15:16 PM Andres Gomez <agomez at igalia.com> wrote:
> 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.
Yes
> * Patch 2/16 did not land. Is it in need of review or it has been
> superseded?
It wasn't needed in the final version that landed
> * Patches 3-15/16 were already cherry-picked in the 17.1.2 release.
Thanks
> * 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
It isn't needed at all. I sent it mostly as a proof of concept.
--Jason
> ...
>
> 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-dev
mailing list