|
61 | 61 | ** xref:courses/18_Ray_tracing/05_Shadow_transparency.adoc[Shadow transparency] |
62 | 62 | ** xref:courses/18_Ray_tracing/06_Reflections.adoc[Reflections] |
63 | 63 | ** xref:courses/18_Ray_tracing/07_Conclusion.adoc[Conclusion] |
| 64 | +* xref:courses/siggraph2026_vk_tutorial/00_Overview.adoc[How to write a Vulkan application in 2026] |
64 | 65 | * xref:90_FAQ.adoc[FAQ] |
65 | 66 | * link:https://github.com/KhronosGroup/Vulkan-Tutorial[GitHub Repository, window=_blank] |
66 | 67 |
|
|
250 | 251 | *** xref:OpenXR_Vulkan_Spatial_Computing/20_Spatial_Diagnostics_CI_CD/03_automated_qa.adoc[Automated QA] |
251 | 252 | *** xref:OpenXR_Vulkan_Spatial_Computing/20_Spatial_Diagnostics_CI_CD/04_incorporating_into_the_engine.adoc[Incorporating into the Engine] |
252 | 253 | ** xref:OpenXR_Vulkan_Spatial_Computing/conclusion.adoc[Conclusion] |
| 254 | +* Synchronization 2 |
| 255 | +** xref:Synchronization/introduction.adoc[Introduction] |
| 256 | +** Anatomy of a Dependency |
| 257 | +*** xref:Synchronization/Anatomy_of_a_Dependency/01_introduction.adoc[Introduction] |
| 258 | +*** xref:Synchronization/Anatomy_of_a_Dependency/02_execution_vs_memory.adoc[Execution vs. Memory] |
| 259 | +*** xref:Synchronization/Anatomy_of_a_Dependency/03_sync2_advantage.adoc[Sync 2 Advantage] |
| 260 | +*** xref:Synchronization/Anatomy_of_a_Dependency/04_refined_pipeline_stages.adoc[Refined Pipeline Stages] |
| 261 | +*** xref:Synchronization/Anatomy_of_a_Dependency/05_conclusion.adoc[Conclusion] |
| 262 | +** Pipeline Barriers and Transitions |
| 263 | +*** xref:Synchronization/Pipeline_Barriers_Transitions/01_introduction.adoc[Introduction] |
| 264 | +*** xref:Synchronization/Pipeline_Barriers_Transitions/02_image_barrier.adoc[The Image Barrier] |
| 265 | +*** xref:Synchronization/Pipeline_Barriers_Transitions/03_queue_family_ownership.adoc[Queue Family Ownership] |
| 266 | +*** xref:Synchronization/Pipeline_Barriers_Transitions/04_global_vs_local_barriers.adoc[Global vs. Local Barriers] |
| 267 | +** Timeline Semaphores |
| 268 | +*** xref:Synchronization/Timeline_Semaphores/01_introduction.adoc[Introduction] |
| 269 | +*** xref:Synchronization/Timeline_Semaphores/02_unifying_sync.adoc[Unifying Sync] |
| 270 | +*** xref:Synchronization/Timeline_Semaphores/03_monotonic_counter.adoc[Monotonic Counter] |
| 271 | +*** xref:Synchronization/Timeline_Semaphores/04_wait_before_signal.adoc[Wait Before Signal] |
| 272 | +** Frame-in-Flight Architecture |
| 273 | +*** xref:Synchronization/Frame_in_Flight/01_introduction.adoc[Introduction] |
| 274 | +*** xref:Synchronization/Frame_in_Flight/02_managing_concurrent_frames.adoc[Managing Concurrent Frames] |
| 275 | +*** xref:Synchronization/Frame_in_Flight/03_resource_lifetimes.adoc[Resource Lifetimes] |
| 276 | +** Asynchronous Compute & Overlap |
| 277 | +*** xref:Synchronization/Async_Compute_Overlap/01_introduction.adoc[Introduction] |
| 278 | +*** xref:Synchronization/Async_Compute_Overlap/02_maximizing_throughput.adoc[Maximizing Throughput] |
| 279 | +*** xref:Synchronization/Async_Compute_Overlap/03_async_post_processing.adoc[Async Post-processing] |
| 280 | +*** xref:Synchronization/Async_Compute_Overlap/04_bubble_problem.adoc[The Bubble Problem] |
| 281 | +** Transfer Queues & Asset Streaming Sync |
| 282 | +*** xref:Synchronization/Transfer_Queues_Streaming/01_introduction.adoc[Introduction] |
| 283 | +*** xref:Synchronization/Transfer_Queues_Streaming/02_non_blocking_uploads.adoc[Non-blocking Uploads] |
| 284 | +*** xref:Synchronization/Transfer_Queues_Streaming/03_staging_sync.adoc[Staging Sync] |
| 285 | +** Synchronization in Dynamic Rendering |
| 286 | +*** xref:Synchronization/Dynamic_Rendering_Sync/01_introduction.adoc[Introduction] |
| 287 | +*** xref:Synchronization/Dynamic_Rendering_Sync/02_subpass_replacement.adoc[Subpass Replacement] |
| 288 | +*** xref:Synchronization/Dynamic_Rendering_Sync/03_local_read_sync.adoc[Local Read Sync] |
| 289 | +** Host Image Copies & Memory Mapped Sync |
| 290 | +*** xref:Synchronization/Host_Image_Copies_Memory_Sync/01_introduction.adoc[Introduction] |
| 291 | +*** xref:Synchronization/Host_Image_Copies_Memory_Sync/02_cpu_to_image_access.adoc[CPU-to-Image Access] |
| 292 | +*** xref:Synchronization/Host_Image_Copies_Memory_Sync/03_visibility_flushes.adoc[Visibility Flushes] |
| 293 | +** Debugging with Synchronization Validation |
| 294 | +*** xref:Synchronization/Synchronization_Validation/01_introduction.adoc[Introduction] |
| 295 | +*** xref:Synchronization/Synchronization_Validation/02_validation_layer.adoc[Validation Layer] |
| 296 | +*** xref:Synchronization/Synchronization_Validation/03_interpreting_vuids.adoc[Interpreting VUIDs] |
| 297 | +** Profiling, Batching, and Optimization |
| 298 | +*** xref:Synchronization/Profiling_Optimization/01_introduction.adoc[Introduction] |
| 299 | +*** xref:Synchronization/Profiling_Optimization/02_barrier_batching.adoc[Barrier Batching] |
| 300 | +*** xref:Synchronization/Profiling_Optimization/03_visualizing_stalls.adoc[Visualizing Stalls] |
0 commit comments