forked from KhronosGroup/Vulkan-Docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog.txt
9350 lines (7798 loc) · 429 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Copyright 2016-2021 The Khronos Group Inc.
SPDX-License-Identifier: CC-BY-4.0
Update Log for the Vulkan-Docs repository on Github. Updates are in reverse
chronological order starting with the latest public release.
This summarizes the periodic public updates, not individual commits. Updates
on Github are done as single large patches at the release point, collecting
together the resolution of many Khronos internal issues, along with any
public pull requests that have been accepted.
-----------------------------------------------------
Change log for August 29, 2021 Vulkan 1.2.190 spec update:
* Update release number to 190 for this update.
* Released a few days in advance of the usual Tuesday spec updates due to
holiday meeting schedule.
Github Issues:
* Make treatment of empty etext:Vk*FlagBits types consistent in `vk.xml`
(public issue 1601 and merge request 1609)
Internal Issues:
* Add more descriptive language for transforms in the
<<ray-intersection-candidate-determination, Ray Intersection Candidate
Determination>> section (internal issue 2709).
* Update `-validate` logic in registry scripts to validate the `limittype`
attribute presence and values where required (internal issue 2606).
* Update common validity statements for access masks to allow shader
pipeline bits to be use with ename:VK_ACCELERATION_STRUCTURE_READ_BIT
(internal issue 2782).
* Fix typo in the description of code:CullDistancePerViewNV (internal
merge request 4769).
* Various fixes and simplifications for
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> valid
usage statements:
** Flatten markup for VK_KHR_shader_subgroup_extended_types valid usage
statements (internal issue 1598)
** Flatten markup for VK_EXT_shader_atomic_float valid usage statements
(internal issue 1598).
** Remove asciidoctor conditional check for
`VK_KHR_storage_buffer_storage_class`, not needed because the SPIR-V
specification is unified and `spirv-val` will throw an error if trying
to use code:StorageBuffer without the proper extension / version being
set (internal merge request 4779).
New Extensions:
* `<<VK_KHR_shader_integer_dot_product>>`
* `<<VK_EXT_primitive_topology_list_restart>>`
-----------------------------------------------------
Change log for August 17, 2021 Vulkan 1.2.189 spec update:
* Update release number to 189 for this update.
Github Issues:
* Add parent check valid usage statements to flink:vkUpdateDescriptors
(public issue 1581).
* Document the feature requirement for separate depth/stencil layouts in
the <<resources-image-layouts, Image Layouts>> section (public issue
1583).
* Revert a valid usage statement constraining
slink:VkMemoryAllocateInfo::pname:allocationSize (public issue 1595).
* Remove misleading reference to `z` from the description of image
coordinates for slink:VkSamplerCreateInfo::pname:unnormalizedCoordinates
(public issue 1602).
* Fix typo in <<fxvertex-input-extraction>> section (public pull request
1604).
* Fix comment in example for `<<VK_EXT_debug_utils>>` appendix to
correctly reference pname:objectHandle, not ptext:object (public pull
request 1606).
* Revert `vk_platform.h` path change in `vk.xml` from public pull request
1538, which was causing build issues for some projects. We will revisit
this in the future but did not want to put a problematic change into the
next SDK update (public pull request 1610).
Internal Issues:
* Use `hexapdf` for PDF optimization, rather than Ghostscript. This
improves overall PDF generation time about 15-20%, and final PDF size by
about 1/3 (internal issue 2422).
* Improve contrast for better accessibility of HTML outputs, based on
feedback from the ANDI tool. This includes updating the specification
CSS in `config/khronos.css`, switching to the rouge source code
highlighter instead of coderay, and overriding some of the rouge theme
CSS (internal issue 2784).
* Clarify that transforms are consumed only if transformData is non-null
for slink:VkAccelerationStructureBuildRangeInfoKHR.txt (internal issue
2787).
* Make spec language describing bitmasks consistent as 'Bits which can: be
set' (internal merge request 4762).
* Support `optional` attribute in the valid usage statement generator for
union types (internal merge request 4772).
-----------------------------------------------------
Change log for August 10, 2021 Vulkan 1.2.188 spec update:
* Update release number to 188 for this update.
Github Issues:
* Add missing `optional="true"` attributes to pname:pNext members. Enable
`scripts/xml_consistency.py` in CI, and add check for this case (public
pull request 1597).
* Add missing markup (setting `refpage` attributes where they were needed
for commonvalidity statements) to fix some broken valid usage ID link
names (public issue 1598).
* Update valid usage statement 02650 to use "`potential format features`"
consistently with other recent changes (discussion on public
Vulkan-ValidationLayers pull request 3139).
Internal Issues:
* Clarify the role of <<ray-traversal-culling-face, face winding>> in the
context of ray intersection candidate determination and alias
ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to
ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, corresponding
to the clarifications (internal issue 2780).
* Add valid usage statement for flink:vkCmdBeginTransformFeedbackEXT
requiring a valid graphics pipeline be bound (internal issue 2785).
* Use the term <<acceleration-structure-def, "`constructed`">> to refer to
an acceleration structure that was previously built or created by
copying or deserialization of a built acceleration structure (internal
merge request 4727).
* Add explicit valid usage statements to flink:vkWaitForPresentKHR and
slink:VkPresentInfoKHR requiring the corresponding features be enabled
(internal merge request 4754).
* Remove extraneous trailing periods from some valid usage statements
(internal merge request 4759).
New Extensions:
* `<<VK_EXT_load_store_op_none>>`
-----------------------------------------------------
Change log for August 3, 2021 Vulkan 1.2.187 spec update:
* Update release number to 187 for this update.
Github Issues:
* Add glossary terms for "`pipeline ray tracing instructions`" and "`ray
tracing commands`" (public issue 1578).
* Limit the code:OpTypeImage code:Unknown format restriction to storage
images in the <<spirvenv-module-validation-runtime, Runtime SPIR-V
Validation>> section (public issue 1588).
* Fix slink:VkRect2D::pname:extent in a few places where it was
misreferenced as pname:offset (public pull request 1590).
Internal Issues:
* Clarify that depth values outside the range [0,1] become undefined
following the depthClamp stage of the pipeline, by rearranging the
<<fragops-depth, Depth Test>> section and adding a new "`Depth Clamping
and Range Adjustment`" subsection (internal issues 2445, 2753).
* Clarify valid usage statement 01843 for slink:VkDeviceQueueInfo2 to
match similar statement for flink:vkGetDeviceQueue, and split off part
of it into a new VU statement (internal issue 2645).
* Fix a few enumerant and member names in the provisional video extensions
to comply with the spec style guidelinse (internal issue 2710).
* Update the descriptions of flink:vkCmdDrawMultiEXT and
flink:vkCmdDrawMultiIndexedEXT to clarify how they are equivalent to
calling underlying drawing commands multiple times with different
parameters (internal issue 2757).
* Renumber VUIDs which duplicated the numeric portion of another
non-common VUID, and add a duplicate number detection test to CI to
prevent recurrences (internal issue 2764).
* Make code:SubgroupSize command scope uniform in compute dispatches
(internal issue 2773).
* Expand the list of valid image layouts for
<<attachment-type-imagelayout, input attachments>>,
<<descriptorsets-sampleimage, sampled images>>, and
<<descriptorsets-combinedimagesampler, combined image samplers>> to
include DEPTH_READ_ONLY_OPTIMAL and STENCIL_READ_ONLY_OPTIMAL (internal
issue 2774).
* Remove `flowRoot` SVG elements from a few recent image updates, as they
are not supported by the current PDF toolchain (internal issue 2778).
* Update to asciidoctor-chunker 1.0.4, adding support for `aria-label`
accessibility tags on the chunked specification forward/back section
navigation arrows (internal issue 2784).
* Clean up description of flink:vkCmdClearAttachments and remove redundant
information (internal merge request 4717).
* Add a description of each of the
flink:vkCmdWriteAccelerationStructuresPropertiesKHR::pname:queryPool
query types (internal merge request 4728).
* Add new valid usage statement to slink:VkMemoryAllocateInfo when
allocating a memory object larger than the reported limit (internal
merge request 4737).
* Add missing description of pname:layerCount member of
slink:VkFramebufferAttachmentImageInfo (internal merge request 4744).
-----------------------------------------------------
Change log for July 27, 2021 Vulkan 1.2.186 spec update:
* Update release number to 186 for this update.
Github Issues:
* Reduce size and increase clarity of some SVG images for the provisional
video extensions (public issue 1537).
* Use a consistent description of pname:stride as "`byte stride`" rather
than "`distance in bytes`" in a few places (public issue 1575)
* Clarify the equivalence of flink:vkQueueWaitIdle to
fence submission (public issue 1579).
* Fix XML capabilities for new code:*Float*Atomic* SPIR-V capabilities to
require slink:VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT rather than
slink:VkPhysicalDeviceShaderAtomicFloatFeaturesEXT (public pull request
1587, although fixed internally first).
Internal Issues:
* Refactor asciidoctor conditionals imbedded within valid usage statements
so they are extracted properly to `validusage.json`, and add a CI check
to prevent this happening in the future (internal issues 1529, 2439).
* Clarify that dynamic vertex buffer object stride of 0 is allowed in
valid usage statement for flink:vkCmdBindVertexBuffers2EXT
(internal issue 2742)
* Add valid usage statement to
ftext:vkGetPhysicalDeviceSurfaceCapabilities{KHR,2EXT,2KHR},
ftext:vkGetPhysicalDeviceSurfacePresentModes{KHR,2EXT}, and
ftext:vkGetDeviceGroupSurfacePresentModes{KHR,2EXT} requiring surface /
device compatibility (internal issue 2744).
* Clarify the requirements on code:OpTypeImage for input attachments in
the <<spirvenv-module-validation, Validation Rules within a Module>> and
<<interfaces-inputattachment, Fragment Input Attachment Interface>>
sections (internal issue 2752)
* Clarify that stipple parameters are ignored when line stipple is
disabled in slink:VkPipelineRasterizationLineStateCreateInfoEXT
(internal issue 2763)
* Improve wording for the shader interface code:Location limit in the
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
section (internal merge request 4693)
-----------------------------------------------------
Change log for July 20, 2021 Vulkan 1.2.185 spec update:
* Update release number to 185 for this update.
* Going forward we will probably be moving the default day for spec
updates to Tuesday (Pacific time) rather than Monday.
Github Issues:
* Clarify that only *device* extensions are required to be specified in
valid usage statement for flink:vkCreateDevice (public issue 1567).
* Fix extension dependencies for `<<VK_EXT_calibrated_timestamps>>` to
include `<<VK_KHR_get_physical_device_properties2>>` (public issue
1568).
* Conditionalize xref to VkPhysicalDeviceSubgroupProperties in
`<<VK_KHR_spirv_1_4>>` appendix so it does not show up in a 1.0 spec
build (public issue 1574).
* Relax portability usage of the identity swizzle in
slink:VkImageViewCreateInfo valid usage statement 04465 (public
KhronosGroup/Vulkan-Portability issue 27).
Internal Issues:
* Document in the <<extendingvulkan-extensions-extensiondependencies,
Extension Dependencies>> section that instance extensions do not have
dependencies on device extensions, and add a similar requirement to the
description of the `requires` attribute of extension tags in the
registry schema document (internal issue 2387).
* Fix `optional` attribute in XML for
flink:vkCmdBindVertexBuffers2EXT::pname:pBuffers (internal issue 2574).
* Remove redundant valid usage statements from flink:vkCmdPipelineBarrier,
flink:vkCmdSetEvent, and flink:vkCmdResetEvent. Add missing VUs for
slink:VkSubpassDependency and slink:VkSubpassDependency2 (internal issue
2583).
* Clarify that
ename:VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
must be supported in pname:bufferFeatures (internal issue 2686).
* Clarify that a valid function pointer pname:fp returned from
flink:vkGetInstanceProcAddr must not be `NULL` (internal issue 2720).
* Relax code:Flat, code:NoPerspective, code:Sample, and code:Centroid
storage class restriction in the
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
section (internal issue 2721).
* Clarify forward progress behavior of flink:vkAcquireNextImageKHR and
flink:vkQueuePresentKHR (internal issue 2729).
* Remove duplicated language describing queue submission in the
<<fundamentals-execmodel, Execution Model>> and
<<fundamentals-queueoperation, Queue Operation>> sections (internal
issue 2736).
* Describe the new pipeline stage
ename:VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI in several sections
of the <<synchronization>> chapter where it was missing (internal issue
2745).
* Improve formatting in the <<limits>> chapter, add support for the
missing optionally: normative word macro, and replace most use of
(non-normative) "`optionally`" with normative "`can:`". Update style
guide to add more contractions and remove contractions from the spec.
add a better description of the pname:shaderDrawParameters feature
(internal merge requests 4699, 4708).
* Fix name of parameter
flink:vkGetMemoryRemoteAddressNV::pname:pMemoryGetRemoteAddressInfo to
follow Vulkan conventions (internal merge request 4704).
* Minor fixes for the <<resources-image-views-compatibility, image view
compatibility table>> and related minor spec language fixes elsewhere
(internal merge request 4709).
New Extensions:
* `<<VK_EXT_shader_atomic_float2>>`
* `<<VK_HUAWEI_invocation_mask>>`
* `<<VK_KHR_present_id>>`
* `<<VK_KHR_present_wait>>`
Miscellany:
* Happy Lunar Landing Day!
-----------------------------------------------------
Change log for July 5, 2021 Vulkan 1.2.184 spec update:
* Update release number to 184 for this update.
Github Issues:
* Make description of
slink:VkSparseImageMemoryRequirements::pname:formatProperties.imageGranularity
consistent by replacing the nested structure descriptions with a simple
description of pname:formatProperties (public issue 1444).
* Update `<<VK_HUAWEI_subpass_shading>>` extension to rename
flink:vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to
flink:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI and give it a
dispatchable slink:VkDevice parameter (public issue 1564).
* Fix labelling of "`Resource`" reference block in pipeline block
diagrams (public issue 1582).
Internal Issues:
* Replace the old <<resources-image-views-compatibility>> table with a
simplified image type / image view type compatibility table, and move
the parameter compatibility portions of the table into explicit valid
usage statements (internal issue 2586).
* Define the slink:VkPipelinCacheHeaderVersionOne structure in `vk.xml`
instead of the previous "`Layout for pipeline cache header version one`"
table (internal merge request 4011).
* Make the `requires` attribute of the `spirvcapability` XML tag required
when specifying a structure, even if what's required is
`"VK_VERSION_1_0"`, to address a problem in the generated table from
these tags (internal merge request 4689).
New Extensions:
* `<<VK_NV_extermal_memory_rdma>>`
-----------------------------------------------------
Change log for June 28, 2021 Vulkan 1.2.183 spec update:
* Update release number to 183 for this update.
Github Issues:
* Rewrite and simplify the <<interfaces-iointerfaces-matching, Interface
Matching>> section. Clarify that results are undefined if the size of a
vector mismatches (public issue 666; internal issues 1269, 2059, 2323).
* Remove inappropriate `const` from `void *pNext` members of
`returnedonly` structures in `vk.xml` (public issue 1482, internal issue
2644).
* Add a NOTE to the <<interfaces, Shader Interfaces>> chapter that SPIR-V
execution model keywords with extension suffixes will always be present
in spec builds, even in a build not supporting any extensions, since
these keywords appear in the unified SPIR-V specification without such
qualifiers (public issue 1483, internal issue 2621).
* Modify `vk.xml` to include the Vulkan platform header via the path
`vulkan/vk_platform.h` rather than just `vk_platform.h`
(public pull request 1538).
* Add length annotations for slink:VkCuLaunchInfoNVX (public issue 1548).
* Describe slink:VkSubpassDescription::pname:pDepthStencilAttachment
correctly as a pointer to a structure, not a pointer to an array of
structures (public issue 1561).
* Fix `structextends` attribute of
slink:VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, declare its
pname:pNext member correctly, and fix some typos in the related
extension language (public issue 1565, internal issue 2724).
Internal Issues:
* Add explicit valid usage statements for
flink:vkCmdClearColorImage::slink:VkClearColorValue and
slink:VkRenderPassBeginInfo::slink:VkClearValue (internal issue 2490).
* Change the term "`vertex processing {shader} stage`" to
"`pre-rasterization shader stage`" throughout the specification, link to
a single definition, and add "`pre-rasterization`" to the glossary
(internal issue 2634).
* Add an `<implicitexternsync>` constraint for
flink:vkResetCommandBuffers::pname:pool (internal issue 2646).
* Fix typo `vkCmdResetEvent` -> `vkResetEvent` in flink:vkResetEvent valid
usage statements (internal issue 2651).
* Fix wording of scope dependencies for slink:VkMemoryBarrier2KHR,
slink:VkBufferMemoryBarrier2KHR, and slink:VkImageMemoryBarrier2KHR
members pname:srcAccessMask and pname:dstAccessMask (internal issue
2654).
* Require support for pname:shaderInt64 in the <<features-requirements,
Feature Requirements>> section when pname:atomicInt64 features are
supported (internal issue 2660).
* Clarify ray tracing valid usage statements for cases where a parameter
refers to an acceleration structure that must have been built (internal
issue 2715).
* Add a NOTE clarifying shader record buffer uniformity in the
<<shader-binding-table, Shader Binding Table>> section (internal issue
2719).
* Minor clarifications and typo fixes to `<<VK_HUAWEI_subpass_shading>>`
(internal issue 2722).
* Add missing <spirvextension> entry in `vk.xml` to enable
`SPV_KHR_subgroup_uniform_control_flow`
(internal issue 2733).
* Move SPIR-V valid usage statement from the
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
section to <<spirvenv-module-validation-standalone]] Standalone SPIR-V
Validation>> (internal merge request 4637).
* Add a new <<spirvenv-image-signedness, Signedness of SPIR-V Image
Accesses>> section to allow the use of unsigned Sampled Types with
code:SignExtend and signed code:Format decorations (internal merge
request 4638).
* Add missing slink:VkDeviceCreateInfo to `structextends` attribute of
slink:VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT (internal merge
request 4652).
* Remove nonexistent pname:minFragmentSize from the <<limits-minmax, Limit
Requirements>> table (internal merge request 4655).
* Fix markup typo for `<<VK_NV_fragment_shader_barycentric>>` ifdef
(internal merge request 4663).
-----------------------------------------------------
Change log for June 21, 2021 Vulkan 1.2.182 spec update:
* Update release number to 182 for this update.
Github Issues:
* Add XML attributes & schema updates to link untyped Vulkan object handle
values to corresponding object types (public issue 1536).
Internal Issues:
* Automatically generate links to extension proposal documents from
extension appendices (internal issue 2713).
* Clean up wording of flink:vkCmdWriteTimestamp and
flink:vkCmdWriteTimestamp2KHR (internal issue 2425).
* Fix hpp-compile CI stage after recent changes to Vulkan-Headers
repository which generate additional header files.
New Extensions:
* `<<VK_EXT_acquire_drm_display>>` (public pull request 1529).
* `<<VK_EXT_multi_draw>>`
* `<<VK_EXT_physical_device_drm>>` (public pull request 1356).
* `<<VK_HUAWEI_subpass_shading>>`
* `<<VK_NV_ray_tracing_motion_blur>>`
-----------------------------------------------------
Change log for June 14, 2021 Vulkan 1.2.181 spec update:
* Update release number to 181 for this update.
Github Issues:
* Add stub slink:VkPipelineLayoutCreateFlagBits <enum> type in `vk.xml` to
reduce spurious warnings from XML processing scripts that don't respect
the `supported="disabled"` attribute, and update the registry schema
documentation to make more clear that `extension` tags with this
attribute should not be processed (public issue 1549).
Internal Issues:
* Clarify implicit conversions between the vertex input attribute
description format and the shader vertex attribute input type in the
<<fxvertex-attrib-location, Attribute Location and Component
Assignment>> and <<fxvertex-input-extraction>> sections (internal issue
902).
* Add text about the <<interfaces-alignment-requirements, base alignment
of empty structures>> (internal issue 2174).
* Clarify the use of rasterization order <<primrast-order,
"`operations`">> (internal merge request 4582).
* Allow any pipeline barrier command for queue transfers in the
<<synchronization-queue-transfers, Queue Family Ownership Transfer>>
section (internal merge request 4596).
* Remove potentially confusing reference to
ename:VK_ERROR_INVALID_SHADER_NV in the description of
flink:vkCreateShaderModule (internal merge request 4602).
* Improve visibility of instance creation callbacks by migrating some
language from the `<<VK_EXT_debug_report>>` and `<<VK_EXT_debug_utils>>`
appendix examples to the description of slink:VkInstanceCreateInfo
(internal merge request 4614).
* Fix markup for sparse image atomic requirements in the
<<features-requirements, Feature Requirements>> section and for
slink:VkDeviceCreateInfo valid usage statements (internal merge request
4618).
* Correct the definition of
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
to constrain pname:chromaFilter, not pname:minFilter / pname:magFilter
(internal merge request 4623).
* Add level 3 headings in <<pipelines-cache, Pipeline Cache>> section
(internal merge request 4627).
* Clarify flink:vkCmdCopyAccelerationStructureKHR to add details on the
copy command itself, as well as the etext:CLONE and etext:COMPACT copy
modes (internal merge request 4631).
* Remove `<mask>` tags from some SVG images in the provisional video
extensions. These tags are not supported by components of the PDF
toolchain. Removing them removes many warnings from the PDF build and is
a workaround for editing the SVGs to use alternate constructs for the
intended purpose, although it also make these images in the HTML output
show the same artifacts as the PDF output.
-----------------------------------------------------
Change log for June 7, 2021 Vulkan 1.2.180 spec update:
* Update release number to 180 for this update.
Github Issues:
* Add more details about zero shader group handles and draw linkage to
etext:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL* flags (public issue 1487).
* Clarify that semaphore operations don't do work in a specific pipeline
stage in slink:VkSemaphoreSubmitInfoKHR::pname:stageMask (public issue
1501).
* Fix markup in shared valid usage statements 03766 / 03767 (public issue
1528).
Internal Issues:
* Grammatical improvements for various ray tracing sections. Add statement
that AABB intersections may be false-positives (internal issue 2597).
* Disambiguate ASTC HDR block error handling in
<<appendix-compressedtex-astc, ASTC Compressed Image Formats>> and the
following "`ASTC decode mode`" section (internal issue 2603).
* Fix some holes in `<<VK_EXT_vertex_input_dynamic_state>>`, including
adding some missing common draw validity statements; an interaction
with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT; an interaction
with code:nullDescriptor to flink:vkCmdBindVertexBuffers2EXT; and
language to
slink:VkGraphicsPipelineCreateInfo::pname:pVertexInputState (internal
issue 2637, 2684).
* Make elink:VkAccessFlagBits and elink:VkAccessFlagBits2KHR descriptions
consistent and reorganize them in matching order (internal issue 2650).
* Add slink:VkSpecializationInfo::pname:pMapEntries valid usage
statement requiring the pname:constantID values be unique (internal
issue 2668).
* Clarify <<[[queries-wait-bit-not-set, the cases in which
flink:vkGetQueryPoolResults returns VK_NOT_READY>> (internal issue
2676).
* Add spec language and refpages for API constants. With this change all
APIs should be defined in the spec (internal issue 2698).
* Move some restrictions in the <<interfaces, Shader Interfaces>> chapter
into the <<spirvenv-module-validation-standalone, Standalone SPIR-V
Validation>> section (internal merge request 4537).
* Add missing member descriptions to slink:VkSurfaceCapabilities2EXT
(internal merge request 4544).
* Update glossary definition of "`Aspect`" to accomodate copy commands
which can operate on multiple aspects (internal merge request 4586).
* Add ename:VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHING_EXT
enum to provide a standard way to disable caching of shader validation
results (internal merge request 4589).
* Remove the `pipeline` attribute from `vk.xml`, and the corresponding
"`Pipeline Types`" column from the generated command properties tables.
The `queues` attribute should be used instead (internal merge request
4594).
* Fix typos and improve consistency in the provisional video extension
language (internal merge request 4598).
* Use "`implementation-dependent`" spelling consistently, and update the
style guide to match (internal merge request 4611).
* Update <<ray-intersection-candidate-determination, ray tracing
intersection equation>> for triangles to match other API. This cannot be
distinguished in practice (internal vk-gl-cts issue 2846).
New Extensions:
* `<<VK_KHR_shader_subgroup_uniform_control_flow>>`
* `<<VK_EXT_global_priority_query>>`
-----------------------------------------------------
Change log for May 24, 2021 Vulkan 1.2.179 spec update:
* Update release number to 179 for this update.
Github Issues:
* Require that the queried
slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT::pname:minImportedHostPointerAlignment
is a power of two (public issue 1442).
* Fix direction of enum aliasing for fragment shading rate extensions,
so NV tokens don't show up in a KHR-only specification build
(public issue 1482).
* Split the new <<fundamentals-validusage, Valid Usage>> section off from
its previous location within the <<fundamentals-errors, Errors>> section
(public pull request 1503).
* Correct some typos in stage parameter names (public pull request 1507).
* Fix minor markup issues (public pull request 1508).
* Add missiong `optional` attribute to
flink:vkGetPhysicalDeviceVideoFormatPropertiesKHR::pname:pVideoFormatPropertyCount
in `vk.xml` (public pull request 1514).
* Add additional header dependecies for external code:Std* types in the
provisional video extensions (public pull request 1515).
* Tagged slink:VkCuModuleCreateInfoNVX::pname:pName as
`len="null-terminated"` in `vk.xml` (public issue 1526).
* Fix `:anchor-prefix:` markup showing up in spec outputs due to
overzealous whitespace removal (public issue 1530).
* Protect use of `__cplusplus` macro in a preprocessor test in the headers
(public Vulkan-Headers issue 4).
Internal Issues:
* Rephrase the language describing lifetime of EDID query results for
slink:VkDisplayPropertiesKHR to be more precise (internal issue 695).
* Clarify descriptor pool size aggregation behavior for
slink:VkDescriptorPoolCreateInfo.txt (internal issue 2577).
* Make valid usage statements for slink:VkImportMemoryFdInfoKHR and
slink:VkMemoryGetFdInfoKHR properly enforce the relationship between
pname:fd and pname:handleType (internal issue 2607).
* Add missing common, non-indirect shared valid usage statements for
flink:vkCmdDispatchBase (internal issue 2625).
* Call out precision of pname:subPixelPrecisionBits clearly in the
<<vertexpostproc-viewport, Controlling the Viewport>> section (internal
issue 2635)
* Do not allow code:RayPayloadKHR on any-hit shaders in the
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
section (internal issue 2640).
* Simplify specification language for sname:VkMemoryDedicatedRequirements
(internal issue 2661).
* Remove `optional="true"` attributes from XML for
slink:VkSurfaceCapabilities* members pname:supportedTransforms,
pname:supportedCompositeAlpha, and pname:supportedUsageFlags, matching
descriptions in the specification (internal issue 2666).
* Add a concurrent deferred host operation example to the
`<<VK_KHR_deferred_host_operations>>` appendix (internal issue 2677).
* Add a NOTE to slink:VkAccelerationStructureCompatibilityKHR encouraging
host-cachable memory for host acceleration structure builds (internal
issue 2682).
* Remove redundant language in basetype:VkSampleMask duplicating valid
usage statements for slink:VkGraphicsPipelineCreateInfo (internal issue
2624).
* Allow `<<VK_EXT_shader_image_atomic_int64>>` to enable the
code:shaderImageInt64Atomics SPIR-V feature in `vk.xml` (internal SPIR-V
issue 644).
* Add valid usage statement to fname:vkCmdWriteTimestamp* for the
pname:query index in pname:queryPool (internal merge request 4528).
* Add valid usage statements to flink:vkQueueSubmit2KHR for pname:fence
(internal merge request 4530).
* Add *GlCompute* to the disallowed *Output* storage classes in shared valid
usage statement 04644 for ray tracing functionality (internal merge
request 4532).
* Remove redundant code:Patch decoration shared valid usage statement 04671
(internal merge request 4530).
* Make the code:sparseImage*Atomics features a superset of the corresponding
code:shaderImage*Atomics features, in the slink:VkDeviceCreateInfo valid
usage statements and the <<features-requirements, Feature Requirements>>
section (internal merge request 4561).
* Add `specialuse="glemulation,d3demulation"` attribute to XML for
`<<VK_EXT_custom_border_color>>` (internal merge request 4564).
* Make array count and pointer-to-array parameter / member descriptions
more consistent (internal merge request 4566).
* Add third-level section headings to the <<memory-device, Device Memory>>
section for clarity (internal merge request 4567).
* Use the terminology "`drawing/dispatching command`" consistently, add it
to the style guide, and remove occasional use of "`record`" or "`perform`"
in refpage summaries of ftext:vkCmd* (internal merge request 4569).
* Use asciidoctor attributes to genericize more instances of header file
names, to enable future variant APIs (internal merge request 4581).
* Fix SVG for some images that render incorrectly in Chrome on MacOS
(internal merge request 4583).
* Move some valid usage statements for
`<<VK_QCOM_render_pass_shader_resolve>>` into
slink:VkGraphicsPipelineCreateInfo, slink:VkRenderPassCreateInfo2, and
the <<spirvenv-module-validation-standalone, Standalone SPIR-V
Validation>> section (internal merge request 4584).
-----------------------------------------------------
Change log for May 10, 2021 Vulkan 1.2.178 spec update:
* Update release number to 178 for this update.
Github Issues:
* Add `optional` attribute to pname:pFragmentShadingRateAttachment member
of slink:VkFragmentShadingRateAttachmentInfoKHR, to match specification
text (public issue 1482).
* Lots of minor markup and phrasing fixes (public issue 1482).
* Additional fixes specific to ray tracing extensions, including a few
duplicate valid usage statements, incorrect descriptions of structure
members, and incorrect SPIR-V opcodes (public issue 1483).
* Fix formatting around "`Special Use`" sections in generated refpages
(public issue 1518).
Internal Issues:
* Language cleanup including removing contractions, and some wording in
more egregious violation of the style guide.
* Make parameter handling text in the
<<deferred-host-operations-requesting, Requesting Deferral>> section
consistent with the <<fundamentals>> chapter (internal issue 2018).
* Relax slink:VkCopyDescriptorSet valid usage statements to remove some
constraints on copying descriptors from sets residing in host memory
other kinds of sets (internal issue 2610).
* Clarify the definition of "`intersection`" in the
<<ray-intersection-candidate-determination, Ray Intersection Candidate
Determination>> section (internal issue 2623).
* Allow pname:stride to equal buffer size in
slink:VkStridedDeviceAddressRegionKHR (internal issue 2631).
* Fix the ray tracing shader interface table in the
<<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section
(internal issue 2640).
* Try to use consistently-phrased descriptions of etext:*FlagBits* members
and parameters everywhere (internal issue 2656).
* Replace "`optional pointer`" terminology with "`NULL or a pointer`" (and
similar uses), and update the style guide accordingly (internal issue
2662).
* Modify wording of some pipeline creation valid usage statements to tidy
up cases where certain state isn't required (internal merge request
4496).
* Clarify consistent <<descriptorsets-updates-consecutive, consecutive
binding updates>> (internal merge request 4500).
* Clarify that code:scalarBlockLayout is supported on the
code:ShaderRecordBufferKHR storage class in the
<<interfaces-resources-standard-layout, Standard Buffer Layout>> section
(internal merge request 4525).
* Hide boilerplate Features and Properties text where it incorrectly
appeared outside the descriptions of feature and property structures,
respectively (internal merge request 4541).
* Add missing section headers to the
`<<VK_KHR_zero_initialize_workgroup_memory>> appendix (internal merge
request 4553).
* Add missing `R64ui` and `R64i` entries to the SPIR-V
<<spirvenv-format-type-matching tables, image format matching tables>>
for `<<VK_EXT_shader_image_atomic_int64>>` (internal
Tracker/vk-gl-cts#2885).
New Extensions:
* `<<VK_NVX_binary_import>>` (only appendix and XML - no spec language
yet).
-----------------------------------------------------
Change log for April 26, 2021 Vulkan 1.2.177 spec update:
* Update release number to 177 for this update.
Github Issues:
* Add valid usage statement to flink:vkDestroyImage to prevent destruction
of presentable images acquired from flink:vkGetSwapchainImagesKHR
(public Vulkan-ValidationLayers issue 2718).
Internal Issues:
* Add proposal template for new feature development (internal issue 2529).
* Remove valid usage statement 03361 from flink:vkCmdBindVertexBuffers2EXT
(internal issue 2600).
* Finish fixing refpage formatting issues for the new video extensions
(internal issue 2611).
* Invert direction of ray space matrix to correct the
<<ray-intersection-candidate-determination, ray/triangle sidedness
test>> (internal merge request 4480).
* Fix capitalization of etext:*_EXTENSION_NAME and etext:*_SPEC_VERSION
tokens for `<<VK_QCOM_render_pass_store_ops>>` (internal merge request
4490).
* Don't generate etext:*_MAX_ENUM tokens for 64-bit flag types. Note that
these tokens are *explicitly* not part of the Vulkan API and are not
included in the Specification, only in generated headers. They are added
to enumerated types to ensure padding to 32 bits, but are completely
pointless for the 64-bit flag types, which are defined as integer
constants rather than enumerants (internal merge request 4493).
* Remove empty VK_ENABLE_BETA_EXTENSION guards from headers when disabling
extensions (internal merge request 4498).
* Reproduce valid usage statement constraining pname:query from
flink:vkCmdBeginQuery to
flink:vkCmdWriteAccelerationStructuresPropertiesKHR (internal merge
request 4520).
New Extensions:
* `<<VK_EXT_provoking_vertex>>`
-----------------------------------------------------
Change log for April 19, 2021 Vulkan 1.2.176 spec update:
* Update release number to 176 for this update.
Github Issues:
* Fix many typos (based on public issues 1483 & 1484).
* Fix an error in the definition of dname:VK_NULL_HANDLE which caused a
compilation error with one version of MSVC (public issue 1502).
* Remove duplicate requirement for elink:VkStructureType from
dname:VK_VERSION_1_0 block of `vk.xml` (public merge request 1504).
Internal Issues:
* Modify extension metadoc generator to include Contact information in
extension reference pages (internal issue 2611).
* Fix XML consistency checker script to add exceptions to naming patterns
for new extensions (internal merge request 4491).
* Clean up latest revision numbers in some video extension appendices to
be integers, for compatibility with the consistency checker script
(internal merge request 4492).
* Mark slink:VkIndirectCommandsLayoutCreateInfoNV pname:flags member as
`optional` in `vk.xml` (internal merge request 4501).
New Extensions:
* `<<VK_EXT_extended_dynamic_state2>>`
-----------------------------------------------------
Change log for April 13, 2021 Vulkan 1.2.175 spec update:
* Update release number to 175 for this update.
Github Issues:
* Specify that fragment shader invocations in the same quad scope are also
in the same primitive scope (public issue 1465).
* Fix an incorrect reference to ename:VK_SHARING_MODE_CONCURRENT to the
correct ename:VK_SHARING_MODE_EXCLUSIVE in the queue transfer wording
for slink:VkBufferMemoryBarrier2KHR (public issue 1479).
* Fix description of <<vertexpostproc-clipping, Primitive Clipping>>
(public issues 1480 and 1481).
Internal Issues:
* Use consistent language in describing <<features, feature>> and
<<limits, property (limit)>> queries. In particular, a few structures
were described as being usable to query feature support, but not to set
it. This was incorrect. All feature structures which can appear in the
pname:pNext chain of slink:VkPhysicalDeviceFeatures2 can be used to both
query and set (internal issue 2310).
* Add `limittype` attributes to the XML schema and to `vk.xml` for
structure members which are part of physical device property queries, to
annotate how the resulting properties are interpreted and replace some
manual interpretation of these properties (internal issue 2427).
* Improve slink:VkAttachmentDescription2 wording around the use of
slink:VkAttachmentDescriptionStencilLayout for specifying the stencil
aspect layout (internal issue 2496).
* Split the <<extendingvulkan-coreversions-versionnumbers, major version
field>> of a packed pname:apiVersion value, introducing a new `variant`
field. This field allows identification of APIs based on Vulkan, but not
fully compatible with Vulkan applications. Vulkan is variant 0, making
the change backwards compatible with the previous definition of
pname:apiVersion. This change was introduced to enable variants of the
Vulkan API that Khronos may release in the future, in particular the
in-development Vulkan SC API. It is purely a future-proofing measure and
no near-term further use is planned. To support this split, a set of new
macros is introduced: dname:VK_API_VERSION_VARIANT,
dname:VK_API_VERSION_MAJOR, dname:VK_API_VERSION_MINOR, and
dname:VK_API_VERSION_PATCH (internal issue 2531).
* Clarify that the slink:VkRectLayerKHR members of a
slink:VkPresentRegionKHR structure must not be transformed to align with
the swapchain's pname:pTransform. The presentation engine must do this
transform (internal issue 2571).
* Fix minor issues with exposed asciidoctor markup in spec outputs
(internal issue 2576).
* Tighten up wording around pool entries of mutable descriptor types. for
slink:VkDescriptorPoolCreateInfo (internal issue 2578).
* Expand on wording of code:FPRoundingMode valid usage statement in the
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
section (internal merge request 4298).
* Document interaction with `<<VK_KHR_fragment_shading_rate>>` for
`<<VK_QCOM_render_pass_transform>>` (internal merge request 4221).
* Require compile-time constants be explicitly tagged as unsigned or float
in `vk.xml`. Modify the generator scripts and schema documentation to
require `type` attributes for such constants. This allows generating
headers compliant with MISRA section 10.4 requirements, where needed
(internal merge request 4451).
* Minor editorial fixes (internal merge request 4454).
* Disallow code:*Offset* decorations on storage images
in the <<spirvenv-module-validation-standalone, Standalone SPIR-V
Validation>> section (internal merge request 4465).
* Improve the code: macro used in spec markup to allow imbedded wildcards
separating words and a trailing wildcard (internal merge request 4466).
* Modify `vk.xml` `requires` attributes to reorder definitions of
dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE and dname:VK_NULL_HANDLE. This
prevents a corner case where the app overriding the first macro
explicitly would prevent definition of dname:VK_NULL_HANDLE (internal
merge request 4476).
New Extensions:
* `<<VK_EXT_color_write_enable>>`
* `<<VK_EXT_vertex_input_dynamic_state>>`
* `<<VK_EXT_ycbcr_2plane_444_format>>`
* `<<VK_NV_inherited_viewport_scissor>>`
* Vulkan video core & codecs provisional extension package, including
** `<<VK_KHR_video_queue>>`
** `<<VK_KHR_video_decode_queue>>`
** `<<VK_KHR_video_encode_queue>>`
** `<<VK_EXT_video_decode_h264>>`
** `<<VK_EXT_video_decode_h265>>`
** `<<VK_EXT_video_encode_h264>>`
-----------------------------------------------------
Change log for March 29, 2021 Vulkan 1.2.174 spec update:
* Update release number to 174 for this update.
Github Issues:
* Add a common header macro dname:VK_USE_64_BIT_PTR_DEFINES to specify at
compile time whether non-dispatchable handles are declared using a
64-bit pointer type, or a 64-bit unsigned interger type. NOTE: it is
possible that the complex platform-dependent C preprocessor block will
move from vk.xml into the static (non-generated) vk_platform.h header in
the near future (partially addresses public issue 1431, in addition to
internal needs).
* Clarify code:PatchVertices documentation for tessellation shaders
(public pull request 1475).
Internal Issues:
* Add valid usage statements restricting bitfield operations to 32-bit
types in the <<spirvenv-module-validation-standalone, Standalone SPIR-V
Validation>> section (internal issue 2561).
* Update registry documentation to require providing the `type` attribute
of `enum` tags when they are specifying compile-time constants, and
change the accepted values of the attribute to a small set of C scalar
type names, instead of schema-specific names. The XML schema itself
would ideally be updated to match, but we don't know how to do that yet
(internal issue 2564). NOTE: it is possible this will affect downstream
consumers of `vk.xml`, although we consider this unlikely.
* Document in the style guide that bits reserved in corresponding 32- and
64-bit bitmasks should be reserved in both types (internal merge issue
2565).
* Add output generator options to generate MISRA-friendly headers, and
check generator scripts to avoid generating etext:RESERVED 64-bit
bitflag names specified by `disabled` extensions in `vk.xml` (internal
merge request 4239, internal issue 2572).
* Clarify that compressed copies need to round up division in the
computation `rowLength` and `imageHeight` in the sample code for the
<<copies-buffers-images-addressing, Buffer and Image Addressing>>
section (internal merge request 4439).
-----------------------------------------------------
Change log for March 21, 2021 Vulkan 1.2.173 spec update:
* Update release number to 173 for this update.
Github Issues:
* Fix valid usage statement for flink:vkCmdBeginQueryIndexedEXT to allow
multiple active queries of the same type, as long as their index values
are different (public issue 1357).
* Fix tagging for slink:VkPhysicalDeviceVulkan11Features in `vk.xml`
(public issue 1437).
* Update the <<WSI Swapchain>> chapter's use of "`release`" and
"`present`" terminology (public pull request 1470).
* Migrate from Azure Pipelines to Github Actions for CI, and use updated
Khronos Docker image to build (public pull request 1473).
Internal Issues:
* Document requirements for extension <<extensions-feature-structures,
Feature Structures>> (internal issue 2503).
* Add missing valid usage statements for slink:VkAttachmentReference2 and
separate depth/stencil layouts (internal issue 2509).
* Clarify interactions between `<<VK_EXT_buffer_device_address>>` and
Vulkan 1.2 in slink:VkDeviceCreateInfo valid usage (internal issue
2530).
* Allow variation in number of acceleration structure handles following a
top-level acceleration structures for
flink:vkCmdCopyAccelerationStructureToMemoryKHR (internal issue 2538).
* Specify implementation requirement for device timestamps in the
description of elink:VkTimeDomainEXT (internal issue 2551).
* Update valid usage ID assignment and extraction scripts to handle IDs
containing function pointer names (internal issue 2557).
* Move some runtime restrictions to
<<spirvenv-module-validation-standalone Standalone SPIR-V>> valid usage
statements (internal merge request 4286).
* Use new version of the HTML asciidoctor-chunker, which runs much faster,
and a new Docker image which omits the old implementation of the chunker
(internal merge request 4391).
* Fix <<devsandqueues-devices, logical device creation language>> for
Vulkan 1.1 (internal merge request 4405).
* Modify scripts to enable platform extensions to be filtered by the
`"supported"` attribute in `vk.xml` (internal merge request 4411).
* Add common valid usage statement for draw/dispatch commands on format
support for mip filters (internal merge request 4413).
* Fix valid usage statement extractor (vu-to-json) to add padding after
inserted list items, so they don't absorb other markup that might come
after in the document (internal merge request 4423).
* Disallow shadow lookups on 3D images in the