File tree Expand file tree Collapse file tree
03_Drawing_a_triangle/03_Drawing Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -225,14 +225,14 @@ first and only one. The `dstSubpass` must always be higher than `srcSubpass` to
225225prevent 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
232232The next two fields specify the operations to wait on and the stages in which
233233these 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++
238238dependency.dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments