The first 3 patches and "anv: Bump the advertised patch version to 84"
should be safe to land at any time, right?

On 09/10/2018 11:04 AM, Jason Ekstrand wrote:
> This patch series adds support to the Intel Vulkan driver for the
> (currently provisional) VK_KHR_vulkan_memory_model extension.  The
> extension provides a few extra SPIR-V decorations along with some
> additional guarantees about memory transaction ordering that aim to make
> better analysis and use of concurrency possible in Vulkan.  In particular,
> it provides sufficient guarantees to allow for the creation and use of
> basic lock-free data structures in Vulkan shaders.
> 
> The current implementation does little more than rework the barrier code in
> the SPIR-V to NIR pass.  This is mostly because NIR currently does little
> to no optimization on external memory access.  As we begin to add more
> optimizations in this area, we will need to be careful to think about the
> Vulkan memory model to ensure that we continue to provide the right
> guarantees.  It also points out just how awkward our current handling of
> barriers is in NIR.
> 
> This series is sent out as an RFC at this point to make people aware of the
> extension and to get the discussion going on how we want to do things "for
> real".  Also, as can be seen from patch 6, there's still a little work
> needed in the Intel back-end compiler to properly support this. :-)
> 
> The series can be found on my gitlab:
> 
> https://gitlab.freedesktop.org/jekstrand/mesa/commits/wip/VK_KHR_vulkan_memory_model
> 
> Cc: Kenneth Graunke <kenn...@whitecape.org>
> Cc: Matt Turner <matts...@gmail.com>
> Cc: Francisco Jerez <curroje...@riseup.net>
> Cc: Timothy Arceri <tarc...@itsqueeze.com>
> Cc: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
> Cc: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
> 
> Jason Ekstrand (7):
>   vulkan: Update the XML and headers to 1.1.84
>   spirv: Update Json and headers from Khronos GitHub master
>   spirv/info: Add a memorymodel_to_string helper
>   spirv: Insert barriers to follow the Vulkan memory model
>   spirv: Add support for the Vulkan memory model
>   HACK: Disable the instruction scheduler
>   anv: Advertise support for VK_KHR_vulkan_memory_model
> 
>  include/vulkan/vulkan_core.h               | 139 +++++++++-
>  src/compiler/shader_info.h                 |   1 +
>  src/compiler/spirv/spirv.core.grammar.json |  95 ++++++-
>  src/compiler/spirv/spirv.h                 |  24 ++
>  src/compiler/spirv/spirv_info.h            |   1 +
>  src/compiler/spirv/spirv_info_c.py         |   1 +
>  src/compiler/spirv/spirv_to_nir.c          | 190 +++++++++-----
>  src/intel/compiler/brw_fs.cpp              |   4 +-
>  src/intel/vulkan/anv_device.c              |   7 +
>  src/intel/vulkan/anv_extensions.py         |   1 +
>  src/intel/vulkan/anv_pipeline.c            |   1 +
>  src/vulkan/registry/vk.xml                 | 280 ++++++++++++++++-----
>  12 files changed, 594 insertions(+), 150 deletions(-)
> 

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

Reply via email to