On 09/10/2018 03:16 PM, Jason Ekstrand wrote: > On Mon, Sep 10, 2018 at 5:08 PM Ian Romanick <i...@freedesktop.org > <mailto:i...@freedesktop.org>> wrote: > > The first 3 patches and "anv: Bump the advertised patch version to 84" > should be safe to land at any time, right? > > > Yup. I meant to not make those RFC but failed at editing all of the > required patch files.
Ok. :) Those 4 are Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > --Jason > > > > 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 > <mailto:kenn...@whitecape.org>> > > Cc: Matt Turner <matts...@gmail.com <mailto:matts...@gmail.com>> > > Cc: Francisco Jerez <curroje...@riseup.net > <mailto:curroje...@riseup.net>> > > Cc: Timothy Arceri <tarc...@itsqueeze.com > <mailto:tarc...@itsqueeze.com>> > > Cc: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com > <mailto:caio.olive...@intel.com>> > > Cc: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl > <mailto: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