Skip to content

Commit 2089e33

Browse files
committed
Expand Vulkan Versions & Porting Guide with updated Vulkan 1.4 limits, SPIR-V version mapping, and feature details. Refine synchronization and descriptor update recommendations.
1 parent b2ae8ed commit 2089e33

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

chapters/versions.adoc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ The link:https://docs.vulkan.org/spec/latest/chapters/features.html#features-req
7171

7272
== Limits
7373

74-
Currently, all versions of Vulkan share the same minimum/maximum limit requirements, but any changes would be listed in the link:https://docs.vulkan.org/spec/latest/chapters/limits.html#limits-minmax[Limit Requirements] section of the Vulkan Spec.
74+
Vulkan versions 1.0 through 1.3 share the same minimum/maximum limit requirements. Vulkan 1.4 introduced changes to some of these limits, notably increasing the guaranteed minimum value for `maxPushConstantsSize` from 128 bytes to 256 bytes. Any changes to limits are listed in the link:https://docs.vulkan.org/spec/latest/chapters/limits.html#limits-minmax[Limit Requirements] section of the Vulkan Spec.
7575

7676
== Vulkan 1.1 Features Breakdown
7777

@@ -369,10 +369,10 @@ link:https://docs.vulkan.org/spec/latest/chapters/extensions.html#extendingvulka
369369

370370
5. *SPIR-V updates*
371371
* Update shaders to use the appropriate SPIR-V version for your target Vulkan version:
372-
- Vulkan 1.1: SPIR-V 1.3
373-
- Vulkan 1.2: SPIR-V 1.5
374-
- Vulkan 1.3: SPIR-V 1.6
375-
- Vulkan 1.4: SPIR-V 1.6
372+
- Vulkan 1.1: SPIR-V 1.3 and all prior SPIR-V versions
373+
- Vulkan 1.2: SPIR-V 1.5 and all prior SPIR-V versions
374+
- Vulkan 1.3: SPIR-V 1.6 and all prior SPIR-V versions
375+
- Vulkan 1.4: SPIR-V 1.6 and all prior SPIR-V versions
376376
* Recompile shaders with an updated compiler
377377

378378
6. *Testing*
@@ -392,7 +392,7 @@ link:https://docs.vulkan.org/spec/latest/chapters/extensions.html#extendingvulka
392392
==== Vulkan 1.2 Specific
393393

394394
* Consider adopting descriptor indexing for more flexible descriptor access
395-
* Use timeline semaphores for more advanced synchronization
395+
* Use timeline semaphores for simplified synchronization
396396
* Take advantage of the buffer device address for pointer-based buffer access
397397
* Implement shader atomic operations for advanced compute workloads
398398
* Use a uniform buffer standard layout for more predictable memory layouts
@@ -407,11 +407,11 @@ link:https://docs.vulkan.org/spec/latest/chapters/extensions.html#extendingvulka
407407

408408
==== Vulkan 1.4 Specific
409409

410-
* Take advantage of dynamic rendering local read for more efficient rendering
410+
* Take advantage of dynamic rendering local read for accessing pixel data directly during rendering (provides an interface to pixel local reads)
411411
* Update line rendering code to use improved line rasterization features
412412
* Use map memory 2 for more flexible memory mapping
413413
* Implement shader subgroup rotate and other shader enhancements
414-
* Use push descriptor for more efficient descriptor updates
414+
* Consider push descriptors for descriptor updates where appropriate (note: some vendors may not recommend their use due to performance considerations)
415415

416416
=== Backward Compatibility Considerations
417417

0 commit comments

Comments
 (0)