Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 96bfc61

Browse files
committed
Fix source stage and mask for initial subpass dependency
1 parent 903687e commit 96bfc61

14 files changed

Lines changed: 30 additions & 30 deletions

03_Drawing_a_triangle/03_Drawing/02_Rendering_and_presentation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,14 +225,14 @@ first and only one. The `dstSubpass` must always be higher than `srcSubpass` to
225225
prevent cycles in the dependency graph.
226226

227227
```c++
228-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
229-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
228+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
229+
dependency.srcAccessMask = 0;
230230
```
231231

232232
The next two fields specify the operations to wait on and the stages in which
233233
these operations occur. We need to wait for the swap chain to finish reading
234-
from the image before we can access it. This reading happens in the last
235-
pipeline stage.
234+
from the image before we can access it. This can be accomplished by waiting on
235+
the color attachment output stage itself.
236236

237237
```c++
238238
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;

code/depth_buffering.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,8 +536,8 @@ class HelloTriangleApplication {
536536
VkSubpassDependency dependency = {};
537537
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
538538
dependency.dstSubpass = 0;
539-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
540-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
539+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
540+
dependency.srcAccessMask = 0;
541541
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
542542
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
543543

code/descriptor_layout.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,8 @@ class HelloTriangleApplication {
503503
VkSubpassDependency dependency = {};
504504
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
505505
dependency.dstSubpass = 0;
506-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
507-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
506+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
507+
dependency.srcAccessMask = 0;
508508
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
509509
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
510510

code/descriptor_set.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,8 @@ class HelloTriangleApplication {
508508
VkSubpassDependency dependency = {};
509509
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
510510
dependency.dstSubpass = 0;
511-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
512-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
511+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
512+
dependency.srcAccessMask = 0;
513513
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
514514
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
515515

code/hello_triangle.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,8 @@ class HelloTriangleApplication {
408408
VkSubpassDependency dependency = {};
409409
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
410410
dependency.dstSubpass = 0;
411-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
412-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
411+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
412+
dependency.srcAccessMask = 0;
413413
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
414414
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
415415

code/index_buffer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,8 +484,8 @@ class HelloTriangleApplication {
484484
VkSubpassDependency dependency = {};
485485
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
486486
dependency.dstSubpass = 0;
487-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
488-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
487+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
488+
dependency.srcAccessMask = 0;
489489
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
490490
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
491491

code/model_loading.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,8 +542,8 @@ class HelloTriangleApplication {
542542
VkSubpassDependency dependency = {};
543543
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
544544
dependency.dstSubpass = 0;
545-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
546-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
545+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
546+
dependency.srcAccessMask = 0;
547547
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
548548
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
549549

code/sampler.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,8 +502,8 @@ class HelloTriangleApplication {
502502
VkSubpassDependency dependency = {};
503503
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
504504
dependency.dstSubpass = 0;
505-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
506-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
505+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
506+
dependency.srcAccessMask = 0;
507507
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
508508
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
509509

code/staging_buffer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -476,8 +476,8 @@ class HelloTriangleApplication {
476476
VkSubpassDependency dependency = {};
477477
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
478478
dependency.dstSubpass = 0;
479-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
480-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
479+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
480+
dependency.srcAccessMask = 0;
481481
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
482482
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
483483

code/swap_chain_recreation.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,8 @@ class HelloTriangleApplication {
432432
VkSubpassDependency dependency = {};
433433
dependency.srcSubpass = VK_SUBPASS_EXTERNAL;
434434
dependency.dstSubpass = 0;
435-
dependency.srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
436-
dependency.srcAccessMask = VK_ACCESS_MEMORY_READ_BIT;
435+
dependency.srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
436+
dependency.srcAccessMask = 0;
437437
dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
438438
dependency.dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
439439

0 commit comments

Comments
 (0)