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

Skip to content

Commit 79baf0d

Browse files
committed
Add checking of vkBeginCommandBuffer result
1 parent dca38fe commit 79baf0d

16 files changed

Lines changed: 48 additions & 16 deletions

03_Drawing_a_triangle/03_Drawing/01_Command_buffers.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,9 @@ for (size_t i = 0; i < commandBuffers.size(); i++) {
167167
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
168168
beginInfo.pInheritanceInfo = nullptr; // Optional
169169

170-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
170+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
171+
throw std::runtime_error("failed to begin recording command buffer!");
172+
}
171173
}
172174
```
173175

code/14_command_buffers.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,9 @@ class HelloTriangleApplication {
548548
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
549549
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
550550

551-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
551+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
552+
throw std::runtime_error("failed to begin recording command buffer!");
553+
}
552554

553555
VkRenderPassBeginInfo renderPassInfo = {};
554556
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/15_hello_triangle.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,9 @@ class HelloTriangleApplication {
568568
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
569569
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
570570

571-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
571+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
572+
throw std::runtime_error("failed to begin recording command buffer!");
573+
}
572574

573575
VkRenderPassBeginInfo renderPassInfo = {};
574576
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/16_swap_chain_recreation.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,9 @@ class HelloTriangleApplication {
597597
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
598598
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
599599

600-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
600+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
601+
throw std::runtime_error("failed to begin recording command buffer!");
602+
}
601603

602604
VkRenderPassBeginInfo renderPassInfo = {};
603605
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/17_vertex_input.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,9 @@ class HelloTriangleApplication {
642642
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
643643
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
644644

645-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
645+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
646+
throw std::runtime_error("failed to begin recording command buffer!");
647+
}
646648

647649
VkRenderPassBeginInfo renderPassInfo = {};
648650
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/18_vertex_buffer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,9 @@ class HelloTriangleApplication {
694694
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
695695
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
696696

697-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
697+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
698+
throw std::runtime_error("failed to begin recording command buffer!");
699+
}
698700

699701
VkRenderPassBeginInfo renderPassInfo = {};
700702
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/19_staging_buffer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,9 @@ class HelloTriangleApplication {
742742
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
743743
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
744744

745-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
745+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
746+
throw std::runtime_error("failed to begin recording command buffer!");
747+
}
746748

747749
VkRenderPassBeginInfo renderPassInfo = {};
748750
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/20_index_buffer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,9 @@ class HelloTriangleApplication {
773773
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
774774
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
775775

776-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
776+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
777+
throw std::runtime_error("failed to begin recording command buffer!");
778+
}
777779

778780
VkRenderPassBeginInfo renderPassInfo = {};
779781
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/21_descriptor_layout.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -817,7 +817,9 @@ class HelloTriangleApplication {
817817
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
818818
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
819819

820-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
820+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
821+
throw std::runtime_error("failed to begin recording command buffer!");
822+
}
821823

822824
VkRenderPassBeginInfo renderPassInfo = {};
823825
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

code/22_descriptor_set.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,9 @@ class HelloTriangleApplication {
869869
beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
870870
beginInfo.flags = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
871871

872-
vkBeginCommandBuffer(commandBuffers[i], &beginInfo);
872+
if (vkBeginCommandBuffer(commandBuffers[i], &beginInfo) != VK_SUCCESS) {
873+
throw std::runtime_error("failed to begin recording command buffer!");
874+
}
873875

874876
VkRenderPassBeginInfo renderPassInfo = {};
875877
renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;

0 commit comments

Comments
 (0)