diff --git a/cmake/compile_definitions/linux.cmake b/cmake/compile_definitions/linux.cmake index c40c5460b..c94abf665 100644 --- a/cmake/compile_definitions/linux.cmake +++ b/cmake/compile_definitions/linux.cmake @@ -148,6 +148,8 @@ if(${SUNSHINE_ENABLE_VULKAN}) list(APPEND PLATFORM_TARGET_FILES "${CMAKE_SOURCE_DIR}/src/platform/linux/vulkan_encode.h" "${CMAKE_SOURCE_DIR}/src/platform/linux/vulkan_encode.cpp") + set_source_files_properties("${CMAKE_SOURCE_DIR}/src/platform/linux/vulkan_encode.cpp" + PROPERTIES COMPILE_OPTIONS "-Wno-deprecated-declarations") # compile GLSL -> SPIR-V -> C include at build time set(VULKAN_SHADER_DIR "${CMAKE_BINARY_DIR}/generated-src/shaders") diff --git a/src/platform/linux/vulkan_encode.cpp b/src/platform/linux/vulkan_encode.cpp index 199aace0f..31927179d 100644 --- a/src/platform/linux/vulkan_encode.cpp +++ b/src/platform/linux/vulkan_encode.cpp @@ -770,18 +770,21 @@ namespace vk { submit.signalSemaphoreCount = sem_count; submit.pSignalSemaphores = signal_sems.data(); - // Lock the queue (FFmpeg requires this) +#if !defined(FF_API_VULKAN_SYNC_QUEUES) || FF_API_VULKAN_SYNC_QUEUES vk_dev.ctx->lock_queue( (AVHWDeviceContext *) ((AVHWFramesContext *) hw_frames_ctx->data)->device_ref->data, vk_dev.compute_qf, 0 ); +#endif auto res = vkQueueSubmit(vk_dev.compute_queue, 1, &submit, VK_NULL_HANDLE); +#if !defined(FF_API_VULKAN_SYNC_QUEUES) || FF_API_VULKAN_SYNC_QUEUES vk_dev.ctx->unlock_queue( (AVHWDeviceContext *) ((AVHWFramesContext *) hw_frames_ctx->data)->device_ref->data, vk_dev.compute_qf, 0 ); +#endif if (res != VK_SUCCESS) { BOOST_LOG(error) << "vkQueueSubmit failed: " << res;