render/vulkan: remove stage_cb conditional

We always have a stage_cb at this point.
This commit is contained in:
Simon Ser 2022-12-03 09:39:12 +01:00
parent dd5be430b4
commit 666c45bb29
1 changed files with 30 additions and 34 deletions

View File

@ -953,17 +953,12 @@ static void vulkan_end(struct wlr_renderer *wlr_renderer) {
// We don't need a semaphore from the stage/transfer submission // We don't need a semaphore from the stage/transfer submission
// to the render submissions since they are on the same queue // to the render submissions since they are on the same queue
// and we have a renderpass dependency for that. // and we have a renderpass dependency for that.
uint64_t stage_timeline_point; uint64_t stage_timeline_point = end_command_buffer(stage_cb, renderer);
VkTimelineSemaphoreSubmitInfoKHR stage_timeline_submit_info;
uint64_t stage_wait_timeline_point;
VkPipelineStageFlags stage_wait_stage;
if (stage_cb != NULL) {
stage_timeline_point = end_command_buffer(stage_cb, renderer);
if (stage_timeline_point == 0) { if (stage_timeline_point == 0) {
return; return;
} }
stage_timeline_submit_info = (VkTimelineSemaphoreSubmitInfoKHR){ VkTimelineSemaphoreSubmitInfoKHR stage_timeline_submit_info = {
.sType = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR, .sType = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR,
.signalSemaphoreValueCount = 1, .signalSemaphoreValueCount = 1,
.pSignalSemaphoreValues = &stage_timeline_point, .pSignalSemaphoreValues = &stage_timeline_point,
@ -978,6 +973,8 @@ static void vulkan_end(struct wlr_renderer *wlr_renderer) {
stage_sub->pSignalSemaphores = &renderer->timeline_semaphore; stage_sub->pSignalSemaphores = &renderer->timeline_semaphore;
++submit_count; ++submit_count;
uint64_t stage_wait_timeline_point;
VkPipelineStageFlags stage_wait_stage;
if (renderer->stage.last_timeline_point > 0) { if (renderer->stage.last_timeline_point > 0) {
stage_wait_timeline_point = renderer->stage.last_timeline_point; stage_wait_timeline_point = renderer->stage.last_timeline_point;
stage_wait_stage = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; stage_wait_stage = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
@ -989,7 +986,6 @@ static void vulkan_end(struct wlr_renderer *wlr_renderer) {
} }
renderer->stage.last_timeline_point = stage_timeline_point; renderer->stage.last_timeline_point = stage_timeline_point;
}
uint64_t render_timeline_point = end_command_buffer(render_cb, renderer); uint64_t render_timeline_point = end_command_buffer(render_cb, renderer);
if (render_timeline_point == 0) { if (render_timeline_point == 0) {