On Mon, Sep 10, 2018 at 5:08 PM Ian Romanick <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. --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> > > 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