[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