<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Thanks a lot Jason! As Iago said, we are pleased to had the
opportunity to work with you on this :-D</p>
<p>Sam<br>
</p>
<br>
<div class="moz-cite-prefix">On 08/03/18 00:08, Jason Ekstrand
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAOFGe94_t0p9nBPke-CQEVUjspFwiin3KfcuVNib_WoA5RGUoA@mail.gmail.com">
<div dir="ltr">
<div>
<div>
<div>Hi all,<br>
<br>
</div>
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.<br>
<br>
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.<br>
<br>
</div>
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.<br>
<br>
</div>
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.<br>
<div>
<div><br>
</div>
<div>Thanks for all your help and hard work,<br>
<br>
</div>
<div>--Jason Ekstrand<br>
<br>
<br>
</div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Mar 7, 2018 at 6:34 AM,
Jason Ekstrand <span dir="ltr"><<a
href="mailto:jason@jlekstrand.net" target="_blank"
moz-do-not-send="true">jason@jlekstrand.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">This
patch series adds full support for Vulkan 1.1 to the
Intel Linux<br>
Vulkan driver. As with the initial Vulkan 1.0 drop
two years ago, this<br>
driver is 100% Vulkan 1.1 conformant on all shipping
Intel hardware gen8<br>
and above. Unlike our initial Vulkan 1.0 drop two
years ago which was<br>
missing piles of features, the Vulkan 1.1
implementation is nearly feature-<br>
complete. With the exception of 16-bit shader I/O (we
have patches but<br>
they are awaiting better testing), every optional
feature which was added<br>
to core in Vulkan 1.1 and which can reasonably be
reasonably supported by<br>
shipping hardware has been implemented.<br>
<br>
The only significant feature implemented by this
series is subgroups. It<br>
is part of Vulkan 1.1 core but there is no
corresponding Vulkan extension.<br>
All of the other significant features in Vulkan 1.1
have already been<br>
ratified and released as extension and we have already
landed support for<br>
them.<br>
<br>
In order to actually advertise support for Vulkan 1.1,
we must be able to<br>
advertise VK_KHR_external_fence which requires the
SYNCOBJ_WAIT ioctl which<br>
landed in Linux 4.14. Users may need to update their
kernel before they<br>
will get full 1.1 support.<br>
<br>
There are also quite a few patches in here to the
entrypoints generator<br>
and some of the other generators to handle various
things required for<br>
reporting a Vulkan version higher than 1.0. In
particular, we need to<br>
handle name aliasing for entrypoints and enums.<br>
<br>
All of the patches in this series have already been
reviewed by people at<br>
Intel or Igalia. Unless there are any complaints, I
plan to land the<br>
patches this afternoon. Dave and Bas also have some
1.1 patches and we're<br>
going to have to work together to land them so that
neither driver breaks<br>
when we land the 1.1 XML.<br>
<br>
<br>
Iago Toral Quiroga (2):<br>
anv/device: GetDeviceQueue2 should only return
queues with matching<br>
flags<br>
anv/device: fail to initialize device if we have
queues with<br>
unsupported flags<br>
<br>
Jason Ekstrand (54):<br>
spirv: Add a vtn_constant_value helper<br>
spirv: Rework barriers<br>
vulkan: Rename multiview from KHX to KHR<br>
anv/entrypoints: Generalize the string map a bit<br>
anv/entrypoints_gen: A bit of refactoring<br>
anv/entrypoints_gen: Allow the string map to grow<br>
anv/entrypoints: Add an is_device_entrypoint helper<br>
anv/entrypoints: Allow an entrypoint to require
multiple extensions<br>
anv/entrypoints_gen: Add support for aliases in the
XML<br>
anv/extensions: Add support for multiple API
versions<br>
anv/entrypoints: Generate #ifdef guards from
platform attributes<br>
vulkan/enum_to_str: Add a add_value_from_xml helper
to VkEnum<br>
vulkan/enum_to_str: Add support for aliases and new
Vulkan versions<br>
vulkan: Update the XML and headers to 1.1.70<br>
spirv: Update the SPIR-V headers and json to 1.3.1<br>
anv: Add version 1.1.0 but leave it disabled<br>
Get rid of a bunch of KHR suffixes<br>
anv/entrypoints: Drop support for protect attributes<br>
anv: Support VkPhysicalDeviceShaderDrawPara<wbr>meterFeatures<br>
anv: Implement VK_KHR_maintenance3<br>
nir/spirv: Add support for device groups<br>
anv: Implement vkCmdDispatchBase<br>
anv: Trivially implement VK_KHR_device_group<br>
anv: Implement GetDeviceQueue2<br>
anv: Support querying for protected memory<br>
anv: Implement vkEnumerateInstanceVersion<br>
anv: Stop returning VK_ERROR_INCOMPATIBLE_DRIVER<br>
spirv: Handle the new OpModuleProcessed instruction<br>
nir: Add new SPIR-V ballot ALU intrinsics and
lowering<br>
compiler: Add two new system values for subgroups<br>
nir: Add new SPIR-V ballot intrinsics and lowering<br>
spirv: Add initial subgroup support<br>
i965/fs: Implement basic SPIR-V subgroup intrinsics<br>
spirv: Add subgroup ballot support<br>
nir: Generalize nir_intrinsic_vote_eq<br>
spirv: Add subgroup vote support<br>
nir/lower_subgroups: Add scalarizing for vote_eq<br>
i965/fs: Support nir_intrinsic_vote_feq<br>
nir: Add subgroup shuffle intrinsics and lowering<br>
spirv: Add subgroup shuffle support<br>
i965/fs: Add support for nir_intrinsic_shuffle<br>
nir: Add quad operations and lowering<br>
spirv: Add subgroup quad support<br>
nir: Add subgroup arithmetic reduction intrinsics<br>
nir: Add a helper for getting binop identities<br>
spirv: Add support for subgroup arithmetic<br>
intel/fs: Add a couple of simple helper opcodes<br>
intel/fs: Add a helper for emitting scan operations<br>
intel/fs: Implement reduce and scan opeprations<br>
intel/fs: Add support for subgroup quad operations<br>
anv: Add support for SPIR-V 1.3 subgroup operations<br>
anv: Enable Vulkan 1.1<br>
vulkan/util: Add a helper to get a version override<br>
anv: Support version overrides<br>
<br>
docs/envvars.html |
10 +<br>
include/vulkan/vk_platform.h |
28 -<br>
include/vulkan/vulkan.h |
7029 +-------------------<br>
include/vulkan/vulkan_<wbr>android.h
| 60 +<br>
include/vulkan/vulkan_core.h |
7293 +++++++++++++++++++++<br>
include/vulkan/vulkan_ios.h |
58 +<br>
include/vulkan/vulkan_macos.<wbr>h
| 58 +<br>
include/vulkan/vulkan_mir.h |
65 +<br>
include/vulkan/vulkan_vi.h |
58 +<br>
include/vulkan/vulkan_<wbr>wayland.h
| 65 +<br>
include/vulkan/vulkan_win32.<wbr>h
| 276 +<br>
include/vulkan/vulkan_xcb.h |
66 +<br>
include/vulkan/vulkan_xlib.h |
66 +<br>
include/vulkan/vulkan_xlib_ra<wbr>ndr.h
| 54 +<br>
include/vulkan/vulkan_xlib_xr<wbr>andr.h
| 54 +<br>
src/compiler/Makefile.<wbr>sources
| 1 +<br>
src/compiler/glsl/glsl_to_<wbr>nir.cpp
| 5 +-<br>
src/compiler/nir/meson.build |
1 +<br>
src/compiler/nir/nir.c |
76 +<br>
src/compiler/nir/nir.h |
18 +<br>
src/compiler/nir/nir_intrinsi<wbr>cs.h
| 62 +-<br>
src/compiler/nir/nir_lower_su<wbr>bgroups.c
| 203 +-<br>
src/compiler/nir/nir_lower_sy<wbr>stem_values.c
| 5 +<br>
src/compiler/nir/nir_opt_intr<wbr>insics.c
| 3 +-<br>
src/compiler/nir/nir_print.c |
5 +<br>
src/compiler/shader_enums.c |
3 +<br>
src/compiler/shader_enums.h |
11 +<br>
src/compiler/shader_info.h |
7 +<br>
src/compiler/spirv/spirv.<wbr>core.grammar.json
| 885 ++-<br>
src/compiler/spirv/spirv.h |
60 +-<br>
src/compiler/spirv/spirv_to_n<wbr>ir.c
| 199 +-<br>
src/compiler/spirv/vtn_privat<wbr>e.h
| 9 +<br>
src/compiler/spirv/vtn_subgro<wbr>up.c
| 379 ++<br>
src/compiler/spirv/vtn_variab<wbr>les.c
| 40 +<br>
src/intel/Makefile.sources |
1 +<br>
src/intel/compiler/brw_compil<wbr>er.c
| 1 +<br>
src/intel/compiler/brw_compil<wbr>er.h
| 11 +<br>
src/intel/compiler/brw_eu_def<wbr>ines.h
| 27 +<br>
src/intel/compiler/brw_fs.<wbr>cpp
| 35 +<br>
src/intel/compiler/brw_fs.h |
5 +<br>
src/intel/compiler/brw_fs_bui<wbr>lder.h
| 141 +<br>
src/intel/compiler/brw_fs_gen<wbr>erator.cpp
| 171 +<br>
src/intel/compiler/brw_fs_<wbr>nir.cpp
| 272 +-<br>
src/intel/compiler/brw_ir_fs.<wbr>h
| 7 +<br>
src/intel/compiler/brw_nir.c |
4 +-<br>
src/intel/compiler/brw_nir_lo<wbr>wer_cs_intrinsics.c
| 18 +<br>
src/intel/compiler/brw_reg.h |
8 +<br>
src/intel/compiler/brw_<wbr>shader.cpp
| 9 +<br>
src/intel/vulkan/anv_batch_ch<wbr>ain.c
| 2 +-<br>
src/intel/vulkan/anv_cmd_buff<wbr>er.c
| 19 +-<br>
src/intel/vulkan/anv_descript<wbr>or_set.c
| 63 +-<br>
src/intel/vulkan/anv_device.<wbr>c
| 303 +-<br>
src/intel/vulkan/anv_entrypoi<wbr>nts_gen.py
| 302 +-<br>
src/intel/vulkan/anv_extensio<wbr>ns.py
| 46 +-<br>
src/intel/vulkan/anv_extensio<wbr>ns_gen.py
| 26 +-<br>
src/intel/vulkan/anv_formats.<wbr>c
| 174 +-<br>
src/intel/vulkan/anv_image.c |
52 +-<br>
src/intel/vulkan/anv_nir.h |
3 +<br>
src/intel/vulkan/anv_nir_add_<wbr>base_work_group_id.c
| 93 +<br>
src/intel/vulkan/anv_nir_lowe<wbr>r_ycbcr_textures.c
| 20 +-<br>
src/intel/vulkan/anv_pass.c |
4 +-<br>
src/intel/vulkan/anv_<wbr>pipeline.c
| 9 +<br>
src/intel/vulkan/anv_private.<wbr>h
| 58 +-<br>
src/intel/vulkan/anv_queue.c |
78 +-<br>
src/intel/vulkan/anv_wsi.c |
22 +<br>
src/intel/vulkan/genX_cmd_buf<wbr>fer.c
| 59 +-<br>
src/intel/vulkan/genX_pipelin<wbr>e.c
| 2 +-<br>
src/intel/vulkan/genX_state.<wbr>c
| 6 +-<br>
src/intel/vulkan/meson.build |
1 +<br>
src/intel/vulkan/vk_format_in<wbr>fo.h
| 50 +-<br>
src/vulkan/registry/vk.xml |
3400 ++++++----<br>
src/vulkan/util/gen_enum_to_s<wbr>tr.py
| 49 +-<br>
src/vulkan/util/vk_util.c |
20 +<br>
src/vulkan/util/vk_util.h |
2 +<br>
74 files changed, 13667 insertions(+), 9118
deletions(-)<br>
create mode 100644 include/vulkan/vulkan_android.<wbr>h<br>
create mode 100644 include/vulkan/vulkan_core.h<br>
create mode 100644 include/vulkan/vulkan_ios.h<br>
create mode 100644 include/vulkan/vulkan_macos.h<br>
create mode 100644 include/vulkan/vulkan_mir.h<br>
create mode 100644 include/vulkan/vulkan_vi.h<br>
create mode 100644 include/vulkan/vulkan_wayland.<wbr>h<br>
create mode 100644 include/vulkan/vulkan_win32.h<br>
create mode 100644 include/vulkan/vulkan_xcb.h<br>
create mode 100644 include/vulkan/vulkan_xlib.h<br>
create mode 100644 include/vulkan/vulkan_xlib_ran<wbr>dr.h<br>
create mode 100644 include/vulkan/vulkan_xlib_xra<wbr>ndr.h<br>
create mode 100644 src/compiler/spirv/vtn_subgrou<wbr>p.c<br>
create mode 100644 src/intel/vulkan/anv_nir_add_b<wbr>ase_work_group_id.c<br>
<span class="m_2817364273613128043HOEnZb"><font
color="#888888"><br>
--<br>
2.5.0.400.gff86faf<br>
<br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>