diff --git a/3rdparty/FAudio b/3rdparty/FAudio index b2bf5b385bb0..38e9da726464 160000 --- a/3rdparty/FAudio +++ b/3rdparty/FAudio @@ -1 +1 @@ -Subproject commit b2bf5b385bb0719f6afc12fd3636be14280f4fbb +Subproject commit 38e9da7264641c9cc69a80d09082f166d9b8eaf9 diff --git a/3rdparty/curl/curl b/3rdparty/curl/curl index 7161cb17c01d..5ce164e0e929 160000 --- a/3rdparty/curl/curl +++ b/3rdparty/curl/curl @@ -1 +1 @@ -Subproject commit 7161cb17c01dcff1dc5bf89a18437d9d729f1ecd +Subproject commit 5ce164e0e9290c96eb7d502173426c0a135ec008 diff --git a/3rdparty/libsdl-org/SDL b/3rdparty/libsdl-org/SDL index 15ead9a40d09..859844eae358 160000 --- a/3rdparty/libsdl-org/SDL +++ b/3rdparty/libsdl-org/SDL @@ -1 +1 @@ -Subproject commit 15ead9a40d09a1eb9972215cceac2bf29c9b77f6 +Subproject commit 859844eae358447be8d66e6da59b6fb3df0ed778 diff --git a/3rdparty/libsdl-org/SDL.vcxproj b/3rdparty/libsdl-org/SDL.vcxproj index 8e0c367326ba..687761ae932e 100644 --- a/3rdparty/libsdl-org/SDL.vcxproj +++ b/3rdparty/libsdl-org/SDL.vcxproj @@ -11,6 +11,12 @@ + + + + + + @@ -133,7 +139,9 @@ + + @@ -188,6 +196,13 @@ + + + + + + + @@ -238,7 +253,13 @@ + + + + + + @@ -418,7 +439,6 @@ - {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA} diff --git a/3rdparty/libsdl-org/SDL.vcxproj.filters b/3rdparty/libsdl-org/SDL.vcxproj.filters index e9d2239b00e2..e7f2fa2dcbd6 100644 --- a/3rdparty/libsdl-org/SDL.vcxproj.filters +++ b/3rdparty/libsdl-org/SDL.vcxproj.filters @@ -178,10 +178,15 @@ - + + + + + + @@ -409,5 +414,20 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/3rdparty/libusb/libusb b/3rdparty/libusb/libusb index 4239bc3a5001..d52e355daa09 160000 --- a/3rdparty/libusb/libusb +++ b/3rdparty/libusb/libusb @@ -1 +1 @@ -Subproject commit 4239bc3a50014b8e6a5a2a59df1fff3b7469543b +Subproject commit d52e355daa09f17ce64819122cb067b8a2ee0d4b diff --git a/3rdparty/zlib/zlib b/3rdparty/zlib/zlib index 09155eaa2f92..51b7f2abdade 160000 --- a/3rdparty/zlib/zlib +++ b/3rdparty/zlib/zlib @@ -1 +1 @@ -Subproject commit 09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851 +Subproject commit 51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf diff --git a/rpcs3/Emu/Cell/lv2/sys_usbd.cpp b/rpcs3/Emu/Cell/lv2/sys_usbd.cpp index 04e5f4fb8037..ce33ac77da68 100644 --- a/rpcs3/Emu/Cell/lv2/sys_usbd.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_usbd.cpp @@ -158,42 +158,56 @@ void LIBUSB_CALL callback_transfer(struct libusb_transfer* transfer) usbh.transfer_complete(transfer); } -usb_handler_thread::usb_handler_thread() +static void LIBUSB_CALL log_cb(libusb_context *ctx, enum libusb_log_level level, const char *str) { - if (int res = libusb_init(&ctx); res < 0) - { - sys_usbd.error("Failed to initialize sys_usbd: %s", libusb_error_name(res)); + if (!str) return; - } -#if LIBUSB_API_VERSION >= 0x01000107 - // Set LIBUSB_DEBUG env variable to receive log messages - libusb_set_log_cb(ctx, [](libusb_context* /* ctx */, libusb_log_level level, const char* str) + const std::string msg = fmt::trim(str, " \t\n"); + + switch (level) { - if (!str) - return; + case LIBUSB_LOG_LEVEL_ERROR: + sys_usbd.error("libusb log: %s", msg); + break; + case LIBUSB_LOG_LEVEL_WARNING: + sys_usbd.warning("libusb log: %s", msg); + break; + case LIBUSB_LOG_LEVEL_INFO: + sys_usbd.notice("libusb log: %s", msg); + break; + case LIBUSB_LOG_LEVEL_DEBUG: + sys_usbd.trace("libusb log: %s", msg); + break; + default: + break; + } +} - const std::string msg = fmt::trim(str, " \t\n"); +usb_handler_thread::usb_handler_thread() +{ +#if LIBUSB_API_VERSION >= 0x0100010A + libusb_init_option log_lv_opt{}; + log_lv_opt.option = LIBUSB_OPTION_LOG_LEVEL; + log_lv_opt.value.ival = LIBUSB_LOG_LEVEL_WARNING;// You can also set the LIBUSB_DEBUG env variable instead + + libusb_init_option log_cb_opt{}; + log_cb_opt.option = LIBUSB_OPTION_LOG_CB; + log_cb_opt.value.log_cbval = &log_cb; + + std::vector options = { + std::move(log_lv_opt), + std::move(log_cb_opt) + }; - switch (level) - { - case LIBUSB_LOG_LEVEL_ERROR: - sys_usbd.error("libusb log: %s", msg); - break; - case LIBUSB_LOG_LEVEL_WARNING: - sys_usbd.warning("libusb log: %s", msg); - break; - case LIBUSB_LOG_LEVEL_INFO: - sys_usbd.notice("libusb log: %s", msg); - break; - case LIBUSB_LOG_LEVEL_DEBUG: - sys_usbd.trace("libusb log: %s", msg); - break; - default: - break; - } - }, LIBUSB_LOG_CB_CONTEXT); + if (int res = libusb_init_context(&ctx, options.data(), static_cast(options.size())); res < 0) +#else + if (int res = libusb_init(&ctx); res < 0) #endif + { + sys_usbd.error("Failed to initialize sys_usbd: %s", libusb_error_name(res)); + return; + } for (u32 index = 0; index < MAX_SYS_USBD_TRANSFERS; index++) {