This commit is contained in:
Megamouse 2026-03-26 10:34:55 +01:00 committed by GitHub
commit fb4b05752e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 30 additions and 12 deletions

View File

@ -6,7 +6,7 @@
QT_HOST="http://qt.mirror.constant.com/"
QT_URL_VER=$(echo "$QT_VER" | sed "s/\.//g")
QT_VER_MSVC_UP=$(echo "${QT_VER_MSVC}" | tr '[:lower:]' '[:upper:]')
QT_PREFIX="online/qtsdkrepository/windows_x86/desktop/qt${QT_VER_MAIN}_${QT_URL_VER}/qt${QT_VER_MAIN}_${QT_URL_VER}/qt.qt${QT_VER_MAIN}.${QT_URL_VER}."
QT_PREFIX="online/qtsdkrepository/windows_x86/desktop/qt${QT_VER_MAIN}_${QT_URL_VER}/qt${QT_VER_MAIN}_${QT_URL_VER}_${QT_VER_MSVC}_64/qt.qt${QT_VER_MAIN}.${QT_URL_VER}."
QT_PREFIX_2="win64_${QT_VER_MSVC}_64/${QT_VER}-0-${QT_DATE}"
QT_SUFFIX="-Windows-Windows_11_24H2-${QT_VER_MSVC_UP}-Windows-Windows_11_24H2-X86_64.7z"
QT_BASE_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qtbase${QT_SUFFIX}"

View File

@ -134,7 +134,7 @@ jobs:
runs-on: macos-14
env:
CCACHE_DIR: /tmp/ccache_dir
QT_VER: '6.10.2'
QT_VER: '6.11.0'
QT_VER_MAIN: '6'
LLVM_COMPILER_VER: '21'
RELEASE_MESSAGE: ../GitHubReleaseMessage.txt
@ -213,9 +213,9 @@ jobs:
env:
COMPILER: msvc
QT_VER_MAIN: '6'
QT_VER: '6.10.2'
QT_VER: '6.11.0'
QT_VER_MSVC: 'msvc2022'
QT_DATE: '202601261212'
QT_DATE: '202603180535'
LLVM_VER: '19.1.7'
VULKAN_VER: '1.3.268.0'
VULKAN_SDK_SHA: '8459ef49bd06b697115ddd3d97c9aec729e849cd775f5be70897718a9b3b9db5'

@ -1 +1 @@
Subproject commit b077c81eb635392e694ccedbab8b644297ec0285
Subproject commit 922d04b3568c6428a9fb905ddee3ef5a68db3108

View File

@ -20,26 +20,26 @@ The following tools are required to build RPCS3 on Windows 10 or later:
with standalone **CMake** tool.
- [Python 3.6+](https://www.python.org/downloads/) (add to PATH)
- [Qt 6.10.2](https://www.qt.io/download-qt-installer) In case you can't download from the official installer, you can use [Another Qt installer](https://github.com/miurahr/aqtinstall) (In that case you will need to manually add the "qtmultimedia" module when installing Qt)
- [Qt 6.11.0](https://www.qt.io/download-qt-installer) In case you can't download from the official installer, you can use [Another Qt installer](https://github.com/miurahr/aqtinstall) (In that case you will need to manually add the "qtmultimedia" module when installing Qt)
- [Vulkan SDK 1.3.268.0](https://vulkan.lunarg.com/sdk/home) (see "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/windows/getting_started.html)) for now future SDKs don't work. You need precisely 1.3.268.0.
The `sln` solution available only on **Visual Studio** is the preferred building solution. It easily allows to build the **RPCS3** application in `Release` and `Debug` mode.
In order to build **RPCS3** with the `sln` solution (with **Visual Studio**), **Qt** libs need to be detected. To detect the libs:
- add and set the `QTDIR` environment variable, e.g. `<QtInstallFolder>\6.10.2\msvc2022_64\`
- add and set the `QTDIR` environment variable, e.g. `<QtInstallFolder>\6.11.0\msvc2022_64\`
- or use the [Visual Studio Qt Plugin](https://marketplace.visualstudio.com/items?itemName=TheQtCompany.QtVisualStudioTools2022)
**NOTE:** If you have issues with the **Visual Studio Qt Plugin**, you may want to uninstall it and install the [Legacy Qt Plugin](https://marketplace.visualstudio.com/items?itemName=TheQtCompany.LEGACYQtVisualStudioTools2022) instead.
In order to build **RPCS3** with the `CMake` solution (with both **Visual Studio** and standalone **CMake** tool):
- add and set the `Qt6_ROOT` environment variable to the **Qt** libs path, e.g. `<QtInstallFolder>\6.10.2\msvc2022_64\`
- add and set the `Qt6_ROOT` environment variable to the **Qt** libs path, e.g. `<QtInstallFolder>\6.11.0\msvc2022_64\`
### Linux
These are the essentials tools to build RPCS3 on Linux. Some of them can be installed through your favorite package manager:
- Clang 17+ or GCC 13+
- [CMake 3.28.0+](https://www.cmake.org/download/)
- [Qt 6.10.2](https://www.qt.io/download-qt-installer)
- [Qt 6.11.0](https://www.qt.io/download-qt-installer)
- [Vulkan SDK 1.3.268.0](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html)) for now future SDKs don't work. You need precisely 1.3.268.0.
- [SDL3](https://github.com/libsdl-org/SDL/releases) (for the FAudio backend)
@ -123,7 +123,7 @@ Start **Visual Studio**, click on `Open a project or solution` and select the `r
##### Configuring the Qt Plugin (if used)
1) go to `Extensions->Qt VS Tools->Qt Versions`
2) add the path to your Qt installation with compiler e.g. `<QtInstallFolder>\6.10.2\msvc2022_64`, version will fill in automatically
2) add the path to your Qt installation with compiler e.g. `<QtInstallFolder>\6.11.0\msvc2022_64`, version will fill in automatically
3) go to `Extensions->Qt VS Tools->Options->Legacy Project Format`. (Only available in the **Legacy Qt Plugin**)
4) set `Build: Run pre-build setup` to `true`. (Only available in the **Legacy Qt Plugin**)

View File

@ -3152,7 +3152,11 @@ void Emulator::GracefulShutdown(bool allow_autoexit, bool async_op, bool savesta
if (async_op)
{
std::thread{perform_kill}.detach();
std::thread{[perform_kill]()
{
thread_base::set_name("Perform Kill");
perform_kill();
}}.detach();
}
else
{

View File

@ -8,6 +8,7 @@
#include "progress_dialog.h"
#include "util/logs.hpp"
#include "Utilities/Thread.h"
#include <thread>
@ -82,6 +83,8 @@ void downloader::start(const std::string& url, bool follow_location, bool show_p
m_thread = QThread::create([this]
{
thread_base::set_name("Downloader");
// Reset error buffer before we call curl_easy_perform
m_curl->reset_error_buffer();

View File

@ -504,6 +504,8 @@ memory_viewer_panel::memory_viewer_panel(QWidget* parent, std::shared_ptr<CPUDis
m_search_thread = QThread::create([this, wstr, m_modes = m_modes]()
{
thread_base::set_name("MemViewerSearch");
gui_log.notice("Searching for %s (mode: %s)", wstr, m_modes);
u64 found = 0;

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "movie_item_base.h"
#include "Utilities/Thread.h"
movie_item_base::movie_item_base() : qt_video_source()
{
@ -33,6 +34,8 @@ void movie_item_base::call_icon_load_func(int index)
m_icon_loading = true;
m_icon_load_thread.reset(QThread::create([this, index]()
{
thread_base::set_name(fmt::format("IconLoad %d", index));
if (m_icon_load_callback)
{
m_icon_load_callback(index);
@ -63,6 +66,8 @@ void movie_item_base::call_size_calc_func()
m_size_on_disk_loading = true;
m_size_calc_thread.reset(QThread::create([this]()
{
thread_base::set_name("SizeCalc");
if (m_size_calc_callback)
{
m_size_calc_callback();

View File

@ -405,6 +405,8 @@ void ps_move_tracker_dialog::reset_camera()
m_tracker_thread.reset(QThread::create([this]()
{
thread_base::set_name("PS Move Tracker");
while (!m_stop_threads)
{
process_camera_frame();

View File

@ -1,5 +1,6 @@
#include "screenshot_item.h"
#include "qt_utils.h"
#include "Utilities/Thread.h"
#include <QVBoxLayout>
@ -10,6 +11,8 @@ screenshot_item::screenshot_item(QWidget* parent)
{
m_thread.reset(QThread::create([this]()
{
thread_base::set_name("Screenshot item");
const QPixmap pixmap = gui::utils::get_aligned_pixmap(icon_path, icon_size, 1.0, Qt::SmoothTransformation, gui::utils::align_h::center, gui::utils::align_v::center);
Q_EMIT signal_icon_update(pixmap);
}));

View File

@ -19,7 +19,6 @@
#include <QJsonArray>
#include <QJsonObject>
#include <QJsonDocument>
#include <QThread>
#if defined(_WIN32) || defined(__APPLE__)
#include <7z.h>