diff --git a/src/renderers/vulkan/tr_local.h b/src/renderers/vulkan/tr_local.h index 86b74f4e0..4daf1628a 100644 --- a/src/renderers/vulkan/tr_local.h +++ b/src/renderers/vulkan/tr_local.h @@ -39,9 +39,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define USE_VBO // store static world geometry in VBO #define USE_FOG_ONLY #define USE_FOG_COLLAPSE // not compatible with legacy dlights -#if defined (USE_VBO) && !defined(USE_FOG_ONLY) -#define USE_FOG_ONLY -#endif #define USE_LEGACY_DLIGHTS // vq3 dynamic lights #define USE_PMLIGHT // promode dynamic lights via \r_dlightMode 1|2 #define MAX_REAL_DLIGHTS (MAX_DLIGHTS*2) diff --git a/src/renderers/vulkan/vk_cmd.c b/src/renderers/vulkan/vk_cmd.c index ea4f69bf6..c0da2ac74 100644 --- a/src/renderers/vulkan/vk_cmd.c +++ b/src/renderers/vulkan/vk_cmd.c @@ -36,10 +36,6 @@ VkCommandBuffer vk_begin_command_buffer( void ) void vk_end_command_buffer( VkCommandBuffer command_buffer, const char *location ) { (void)location; -#ifdef USE_UPLOAD_QUEUE - const VkPipelineStageFlags wait_dst_stage_mask = {VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT}; - VkSemaphore waits; -#endif VkSubmitInfo submit_info; VkCommandBuffer cmdbuf[1]; @@ -49,20 +45,9 @@ void vk_end_command_buffer( VkCommandBuffer command_buffer, const char *location submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; submit_info.pNext = NULL; -#ifdef USE_UPLOAD_QUEUE - if ( vk.rendering_finished != VK_NULL_HANDLE ) { - waits = vk.rendering_finished; - vk.rendering_finished = VK_NULL_HANDLE; - submit_info.waitSemaphoreCount = 1; - submit_info.pWaitSemaphores = &waits; - submit_info.pWaitDstStageMask = &wait_dst_stage_mask; - } else -#endif - { - submit_info.waitSemaphoreCount = 0; - submit_info.pWaitSemaphores = NULL; - submit_info.pWaitDstStageMask = NULL; - } + submit_info.waitSemaphoreCount = 0; + submit_info.pWaitSemaphores = NULL; + submit_info.pWaitDstStageMask = NULL; submit_info.commandBufferCount = 1; submit_info.pCommandBuffers = cmdbuf; diff --git a/src/renderers/vulkan/vk_staging.c b/src/renderers/vulkan/vk_staging.c index 9a3d53dfe..c57dc199e 100644 --- a/src/renderers/vulkan/vk_staging.c +++ b/src/renderers/vulkan/vk_staging.c @@ -29,112 +29,9 @@ void vk_clean_staging_buffer( void ) vk.staging_buffer.ptr = NULL; vk.staging_buffer.size = 0; -#ifdef USE_UPLOAD_QUEUE - vk.staging_buffer.offset = 0; -#endif } -#ifdef USE_UPLOAD_QUEUE -qboolean vk_wait_staging_buffer( void ) -{ - if ( vk.device_lost ) { - return qfalse; - } - if ( vk.aux_fence_wait ) { - VkResult res = qvkWaitForFences( vk.device, 1, &vk.aux_fence, VK_TRUE, 5 * 1000000000ULL ); - if ( res != VK_SUCCESS ) { - if ( res == VK_ERROR_DEVICE_LOST ) { - vk.device_lost = qtrue; - } - ri.Error( ERR_FATAL, "vkWaitForFences() failed with %s at %s", vk_result_string( res ), __FUNCTION__ ); - } - VK_CHECK( qvkResetFences( vk.device, 1, &vk.aux_fence ) ); - VK_CHECK( qvkResetCommandBuffer( vk.staging_command_buffer, 0 ) ); - vk.staging_buffer.offset = 0; /* reset: command buffer cleared, staging starts at 0 */ - vk.aux_fence_wait = qfalse; - return qtrue; - } else { - return qfalse; - } -} - - -void vk_flush_staging_buffer( qboolean final ) -{ - VkPipelineStageFlags wait_dst_stage_mask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; - VkSemaphore waits; - VkSubmitInfo submit_info; - VkResult res; - - if ( vk.device_lost ) { - return; - } - if ( vk.staging_buffer.offset == 0 ) { - return; - } - - vk.staging_buffer.offset = 0; - - VK_CHECK( qvkEndCommandBuffer( vk.staging_command_buffer ) ); - - submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; - submit_info.pNext = NULL; - - if ( vk.rendering_finished != VK_NULL_HANDLE ) { - waits = vk.rendering_finished; - vk.rendering_finished = VK_NULL_HANDLE; - submit_info.waitSemaphoreCount = 1; - submit_info.pWaitSemaphores = &waits; - submit_info.pWaitDstStageMask = &wait_dst_stage_mask; - } else { - submit_info.waitSemaphoreCount = 0; - submit_info.pWaitSemaphores = NULL; - submit_info.pWaitDstStageMask = NULL; - } - - submit_info.commandBufferCount = 1; - submit_info.pCommandBuffers = &vk.staging_command_buffer; - - if ( vk.image_uploaded != VK_NULL_HANDLE ) { - ri.Error( ERR_FATAL, "Vulkan: incorrect state during image upload" ); - } - if ( final ) { - submit_info.signalSemaphoreCount = 1; - submit_info.pSignalSemaphores = &vk.image_uploaded2; - vk.image_uploaded = vk.image_uploaded2; - res = qvkQueueSubmit( vk.queue, 1, &submit_info, vk.aux_fence ); - if ( res != VK_SUCCESS ) { - if ( res == VK_ERROR_DEVICE_LOST ) { - vk.device_lost = qtrue; - } - ri.Error( ERR_FATAL, "Vulkan: qvkQueueSubmit (staging) returned %s", vk_result_string( res ) ); - } - vk.aux_fence_wait = qtrue; - } else { - submit_info.signalSemaphoreCount = 0; - submit_info.pSignalSemaphores = NULL; - res = qvkQueueSubmit( vk.queue, 1, &submit_info, vk.aux_fence ); - if ( res != VK_SUCCESS ) { - if ( res == VK_ERROR_DEVICE_LOST ) { - vk.device_lost = qtrue; - } - ri.Error( ERR_FATAL, "Vulkan: qvkQueueSubmit (staging) returned %s", vk_result_string( res ) ); - } - res = qvkWaitForFences( vk.device, 1, &vk.aux_fence, VK_TRUE, 5 * 1000000000ULL ); - if ( res != VK_SUCCESS ) { - if ( res == VK_ERROR_DEVICE_LOST ) { - vk.device_lost = qtrue; - } - ri.Error( ERR_FATAL, "vkWaitForFences() failed with %s at %s", vk_result_string( res ), __FUNCTION__ ); - } - VK_CHECK( qvkResetFences( vk.device, 1, &vk.aux_fence ) ); - VK_CHECK( qvkResetCommandBuffer( vk.staging_command_buffer, 0 ) ); - } -} -#endif /* USE_UPLOAD_QUEUE */ - - void vk_alloc_staging_buffer( VkDeviceSize size ) { VkBufferCreateInfo buffer_desc; @@ -172,9 +69,6 @@ void vk_alloc_staging_buffer( VkDeviceSize size ) VK_CHECK(qvkMapMemory(vk.device, vk.staging_buffer.memory, 0, VK_WHOLE_SIZE, 0, &data)); vk.staging_buffer.ptr = (byte*)data; -#ifdef USE_UPLOAD_QUEUE - vk.staging_buffer.offset = 0; -#endif vk_set_object_name( (uint64_t)vk.staging_buffer.handle, "staging buffer", VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT ); vk_set_object_name( (uint64_t)vk.staging_buffer.memory, "staging buffer memory", VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT ); } diff --git a/src/renderers/vulkan/vk_staging.h b/src/renderers/vulkan/vk_staging.h index c685b3224..f2e73eb46 100644 --- a/src/renderers/vulkan/vk_staging.h +++ b/src/renderers/vulkan/vk_staging.h @@ -19,11 +19,6 @@ extern "C" { void vk_clean_staging_buffer( void ); void vk_alloc_staging_buffer( VkDeviceSize size ); -#ifdef USE_UPLOAD_QUEUE -qboolean vk_wait_staging_buffer( void ); -void vk_flush_staging_buffer( qboolean final ); -#endif - #ifdef __cplusplus } #endif diff --git a/src/renderers/vulkan/vk_sync.c b/src/renderers/vulkan/vk_sync.c index e505021b3..14fcd12ea 100644 --- a/src/renderers/vulkan/vk_sync.c +++ b/src/renderers/vulkan/vk_sync.c @@ -40,10 +40,6 @@ void vk_destroy_sync_primitives( void ) if ( vk.device == VK_NULL_HANDLE ) return; -#ifdef USE_UPLOAD_QUEUE - qvkDestroySemaphore( vk.device, vk.image_uploaded2, NULL ); -#endif - for ( i = 0; i < NUM_COMMAND_BUFFERS; i++ ) { qvkDestroySemaphore( vk.device, vk.tess[i].image_acquired, NULL ); qvkDestroyFence( vk.device, vk.tess[i].rendering_finished_fence, NULL );