diff --git a/src/core/libraries/kernel/thread_management.cpp b/src/core/libraries/kernel/thread_management.cpp index aa53d7570..73c4485b8 100644 --- a/src/core/libraries/kernel/thread_management.cpp +++ b/src/core/libraries/kernel/thread_management.cpp @@ -1121,6 +1121,12 @@ int PS4_SYSV_ABI scePthreadJoin(ScePthread thread, void** res) { } int PS4_SYSV_ABI posix_pthread_join(ScePthread thread, void** res) { + if (!thread) { + return 22; + } + if (res == 0x0000000000000000) { + return ORBIS_KERNEL_ERROR_EINVAL; + } int result = pthread_join(thread->pth, res); LOG_INFO(Kernel_Pthread, "posix_pthread_join result = {}", result); thread->is_detached = false; diff --git a/src/video_core/renderer_vulkan/liverpool_to_vk.h b/src/video_core/renderer_vulkan/liverpool_to_vk.h index 5fb04e5f5..72bf78822 100644 --- a/src/video_core/renderer_vulkan/liverpool_to_vk.h +++ b/src/video_core/renderer_vulkan/liverpool_to_vk.h @@ -75,6 +75,8 @@ static inline vk::Format PromoteFormatToDepth(vk::Format fmt) { return vk::Format::eD32Sfloat; } else if (fmt == vk::Format::eR16Unorm) { return vk::Format::eD16Unorm; + } else if (fmt == vk::Format::eR8G8B8A8Unorm) { + return vk::Format::eD24UnormS8Uint; } UNREACHABLE(); }