Thanks a lot Jason! As Iago said, we are pleased to had the opportunity to work with you on this :-D
Sam On 08/03/18 00:08, Jason Ekstrand wrote: > Hi all, > > I just wanted to give a shout out and a huge "Thank You!" to all of > the people who made this release possible. There were a large number > of features packed into the 1.1 release and implementing it all was a > hugely collaborative effort. > > I want to specially thank our friends at Igalia. They implemented the > VK_KHR_16bit_storage extension which was initially 45 patches which > ended up going through multiple review cycles and getting expanded a > bit. Less visibly, however, they've also been hard at work on the > CTS. They've implemented quite a few tests for things such as > VK_KHR_16bit_storage, VK_KHR_image_format_list, and others I've > forgotten about. They also kept on top of the CTS as new tests were > being developed and did most of the triage and bug fixing work in > anv. I seriously don't know what we would have done without them. I > think it's fair to say that, while we may have managed a skeleton 1.1 > implementation, we wouldn't have been able to ship a full-featured 1.1 > without them! Also, I probably would have gone insane. > > I also want to thank Lionel Landwerlin on my team. He implemented a > bunch of the smaller features as well as > VK_KHR_sampler_ycbcr_conversion. He also did a large amount of code > review. > > Finally, I want to thank everyone else who was involved in helping > with the 1.1 effort in any way. We in Linux graphics have an awesome > community and I don't know what we'd do without you all. I tried to > include everyone I can think of who helped with the 1.1 effort in the > Cc. I'm sorry if I missed anyone. > > Thanks for all your help and hard work, > > --Jason Ekstrand > > > > On Wed, Mar 7, 2018 at 6:34 AM, Jason Ekstrand <[email protected] > <mailto:[email protected]>> wrote: > > This patch series adds full support for Vulkan 1.1 to the Intel Linux > Vulkan driver. As with the initial Vulkan 1.0 drop two years ago, > this > driver is 100% Vulkan 1.1 conformant on all shipping Intel > hardware gen8 > and above. Unlike our initial Vulkan 1.0 drop two years ago which was > missing piles of features, the Vulkan 1.1 implementation is nearly > feature- > complete. With the exception of 16-bit shader I/O (we have > patches but > they are awaiting better testing), every optional feature which > was added > to core in Vulkan 1.1 and which can reasonably be reasonably > supported by > shipping hardware has been implemented. > > The only significant feature implemented by this series is > subgroups. It > is part of Vulkan 1.1 core but there is no corresponding Vulkan > extension. > All of the other significant features in Vulkan 1.1 have already been > ratified and released as extension and we have already landed > support for > them. > > In order to actually advertise support for Vulkan 1.1, we must be > able to > advertise VK_KHR_external_fence which requires the SYNCOBJ_WAIT > ioctl which > landed in Linux 4.14. Users may need to update their kernel > before they > will get full 1.1 support. > > There are also quite a few patches in here to the entrypoints > generator > and some of the other generators to handle various things required for > reporting a Vulkan version higher than 1.0. In particular, we need to > handle name aliasing for entrypoints and enums. > > All of the patches in this series have already been reviewed by > people at > Intel or Igalia. Unless there are any complaints, I plan to land the > patches this afternoon. Dave and Bas also have some 1.1 patches > and we're > going to have to work together to land them so that neither driver > breaks > when we land the 1.1 XML. > > > Iago Toral Quiroga (2): > anv/device: GetDeviceQueue2 should only return queues with matching > flags > anv/device: fail to initialize device if we have queues with > unsupported flags > > Jason Ekstrand (54): > spirv: Add a vtn_constant_value helper > spirv: Rework barriers > vulkan: Rename multiview from KHX to KHR > anv/entrypoints: Generalize the string map a bit > anv/entrypoints_gen: A bit of refactoring > anv/entrypoints_gen: Allow the string map to grow > anv/entrypoints: Add an is_device_entrypoint helper > anv/entrypoints: Allow an entrypoint to require multiple extensions > anv/entrypoints_gen: Add support for aliases in the XML > anv/extensions: Add support for multiple API versions > anv/entrypoints: Generate #ifdef guards from platform attributes > vulkan/enum_to_str: Add a add_value_from_xml helper to VkEnum > vulkan/enum_to_str: Add support for aliases and new Vulkan versions > vulkan: Update the XML and headers to 1.1.70 > spirv: Update the SPIR-V headers and json to 1.3.1 > anv: Add version 1.1.0 but leave it disabled > Get rid of a bunch of KHR suffixes > anv/entrypoints: Drop support for protect attributes > anv: Support VkPhysicalDeviceShaderDrawParameterFeatures > anv: Implement VK_KHR_maintenance3 > nir/spirv: Add support for device groups > anv: Implement vkCmdDispatchBase > anv: Trivially implement VK_KHR_device_group > anv: Implement GetDeviceQueue2 > anv: Support querying for protected memory > anv: Implement vkEnumerateInstanceVersion > anv: Stop returning VK_ERROR_INCOMPATIBLE_DRIVER > spirv: Handle the new OpModuleProcessed instruction > nir: Add new SPIR-V ballot ALU intrinsics and lowering > compiler: Add two new system values for subgroups > nir: Add new SPIR-V ballot intrinsics and lowering > spirv: Add initial subgroup support > i965/fs: Implement basic SPIR-V subgroup intrinsics > spirv: Add subgroup ballot support > nir: Generalize nir_intrinsic_vote_eq > spirv: Add subgroup vote support > nir/lower_subgroups: Add scalarizing for vote_eq > i965/fs: Support nir_intrinsic_vote_feq > nir: Add subgroup shuffle intrinsics and lowering > spirv: Add subgroup shuffle support > i965/fs: Add support for nir_intrinsic_shuffle > nir: Add quad operations and lowering > spirv: Add subgroup quad support > nir: Add subgroup arithmetic reduction intrinsics > nir: Add a helper for getting binop identities > spirv: Add support for subgroup arithmetic > intel/fs: Add a couple of simple helper opcodes > intel/fs: Add a helper for emitting scan operations > intel/fs: Implement reduce and scan opeprations > intel/fs: Add support for subgroup quad operations > anv: Add support for SPIR-V 1.3 subgroup operations > anv: Enable Vulkan 1.1 > vulkan/util: Add a helper to get a version override > anv: Support version overrides > > docs/envvars.html | 10 + > include/vulkan/vk_platform.h | 28 - > include/vulkan/vulkan.h | 7029 > +------------------- > include/vulkan/vulkan_android.h | 60 + > include/vulkan/vulkan_core.h | 7293 > +++++++++++++++++++++ > include/vulkan/vulkan_ios.h | 58 + > include/vulkan/vulkan_macos.h | 58 + > include/vulkan/vulkan_mir.h | 65 + > include/vulkan/vulkan_vi.h | 58 + > include/vulkan/vulkan_wayland.h | 65 + > include/vulkan/vulkan_win32.h | 276 + > include/vulkan/vulkan_xcb.h | 66 + > include/vulkan/vulkan_xlib.h | 66 + > include/vulkan/vulkan_xlib_randr.h | 54 + > include/vulkan/vulkan_xlib_xrandr.h | 54 + > src/compiler/Makefile.sources | 1 + > src/compiler/glsl/glsl_to_nir.cpp | 5 +- > src/compiler/nir/meson.build | 1 + > src/compiler/nir/nir.c | 76 + > src/compiler/nir/nir.h | 18 + > src/compiler/nir/nir_intrinsics.h | 62 +- > src/compiler/nir/nir_lower_subgroups.c | 203 +- > src/compiler/nir/nir_lower_system_values.c | 5 + > src/compiler/nir/nir_opt_intrinsics.c | 3 +- > src/compiler/nir/nir_print.c | 5 + > src/compiler/shader_enums.c | 3 + > src/compiler/shader_enums.h | 11 + > src/compiler/shader_info.h | 7 + > src/compiler/spirv/spirv.core.grammar.json | 885 ++- > src/compiler/spirv/spirv.h | 60 +- > src/compiler/spirv/spirv_to_nir.c | 199 +- > src/compiler/spirv/vtn_private.h | 9 + > src/compiler/spirv/vtn_subgroup.c | 379 ++ > src/compiler/spirv/vtn_variables.c | 40 + > src/intel/Makefile.sources | 1 + > src/intel/compiler/brw_compiler.c | 1 + > src/intel/compiler/brw_compiler.h | 11 + > src/intel/compiler/brw_eu_defines.h | 27 + > src/intel/compiler/brw_fs.cpp | 35 + > src/intel/compiler/brw_fs.h | 5 + > src/intel/compiler/brw_fs_builder.h | 141 + > src/intel/compiler/brw_fs_generator.cpp | 171 + > src/intel/compiler/brw_fs_nir.cpp | 272 +- > src/intel/compiler/brw_ir_fs.h | 7 + > src/intel/compiler/brw_nir.c | 4 +- > src/intel/compiler/brw_nir_lower_cs_intrinsics.c | 18 + > src/intel/compiler/brw_reg.h | 8 + > src/intel/compiler/brw_shader.cpp | 9 + > src/intel/vulkan/anv_batch_chain.c | 2 +- > src/intel/vulkan/anv_cmd_buffer.c | 19 +- > src/intel/vulkan/anv_descriptor_set.c | 63 +- > src/intel/vulkan/anv_device.c | 303 +- > src/intel/vulkan/anv_entrypoints_gen.py | 302 +- > src/intel/vulkan/anv_extensions.py | 46 +- > src/intel/vulkan/anv_extensions_gen.py | 26 +- > src/intel/vulkan/anv_formats.c | 174 +- > src/intel/vulkan/anv_image.c | 52 +- > src/intel/vulkan/anv_nir.h | 3 + > src/intel/vulkan/anv_nir_add_base_work_group_id.c | 93 + > src/intel/vulkan/anv_nir_lower_ycbcr_textures.c | 20 +- > src/intel/vulkan/anv_pass.c | 4 +- > src/intel/vulkan/anv_pipeline.c | 9 + > src/intel/vulkan/anv_private.h | 58 +- > src/intel/vulkan/anv_queue.c | 78 +- > src/intel/vulkan/anv_wsi.c | 22 + > src/intel/vulkan/genX_cmd_buffer.c | 59 +- > src/intel/vulkan/genX_pipeline.c | 2 +- > src/intel/vulkan/genX_state.c | 6 +- > src/intel/vulkan/meson.build | 1 + > src/intel/vulkan/vk_format_info.h | 50 +- > src/vulkan/registry/vk.xml | 3400 ++++++---- > src/vulkan/util/gen_enum_to_str.py | 49 +- > src/vulkan/util/vk_util.c | 20 + > src/vulkan/util/vk_util.h | 2 + > 74 files changed, 13667 insertions(+), 9118 deletions(-) > create mode 100644 include/vulkan/vulkan_android.h > create mode 100644 include/vulkan/vulkan_core.h > create mode 100644 include/vulkan/vulkan_ios.h > create mode 100644 include/vulkan/vulkan_macos.h > create mode 100644 include/vulkan/vulkan_mir.h > create mode 100644 include/vulkan/vulkan_vi.h > create mode 100644 include/vulkan/vulkan_wayland.h > create mode 100644 include/vulkan/vulkan_win32.h > create mode 100644 include/vulkan/vulkan_xcb.h > create mode 100644 include/vulkan/vulkan_xlib.h > create mode 100644 include/vulkan/vulkan_xlib_randr.h > create mode 100644 include/vulkan/vulkan_xlib_xrandr.h > create mode 100644 src/compiler/spirv/vtn_subgroup.c > create mode 100644 src/intel/vulkan/anv_nir_add_base_work_group_id.c > > -- > 2.5.0.400.gff86faf > >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
