1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 02:32:36 +01:00

Cleanup some includes

This commit is contained in:
Megamouse 2020-10-30 21:26:22 +01:00
parent 5d55e509ec
commit 2cee26c3e7
71 changed files with 158 additions and 132 deletions

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Cell/SPUThread.h"
#include "Emu/Cell/PPUThread.h"
#include "Emu/Cell/RawSPUThread.h"

View File

@ -1,5 +1,7 @@
#include "stdafx.h"
#include "StaticHLE.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/PPUOpcodes.h"
LOG_CHANNEL(static_hle);

View File

@ -1,8 +1,7 @@
#pragma once
#include "../../Utilities/types.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/PPUOpcodes.h"
#include "Emu/Memory/vm_ptr.h"
#include <vector>
struct shle_pattern

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/lv2/sys_sync.h"

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/lv2/sys_process.h"
@ -157,6 +158,11 @@ f32 audio_ringbuffer::set_frequency_ratio(f32 new_ratio)
return frequency_ratio;
}
u64 audio_ringbuffer::get_timestamp() const
{
return get_system_time() - Emu.GetPauseTime();
}
void audio_ringbuffer::enqueue(const float* in_buffer)
{
AUDIT(cur_pos < cfg.num_allocated_buffers);

View File

@ -5,6 +5,7 @@
#include "Emu/Memory/vm.h"
#include "Emu/Audio/AudioBackend.h"
#include "Emu/Audio/AudioDumper.h"
#include "Emu/system_config_types.h"
struct lv2_event_queue;
@ -306,10 +307,7 @@ public:
return buffer[num].get();
}
u64 get_timestamp() const
{
return get_system_time() - Emu.GetPauseTime();
}
u64 get_timestamp() const;
float* get_current_buffer() const
{

View File

@ -1,6 +1,7 @@
#include "stdafx.h"
#include "cellCamera.h"
#include "Emu/System.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/lv2/sys_event.h"
#include "Emu/IdManager.h"

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/lv2/sys_sync.h"

View File

@ -3,6 +3,7 @@
#include "Emu/System.h"
#include "Emu/VFS.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/lv2/sys_fs.h"
#include "Emu/Cell/lv2/sys_sync.h"

View File

@ -1,7 +1,5 @@
#pragma once
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Memory/vm_ptr.h"
// Return Codes

View File

@ -3,9 +3,9 @@
#include "Emu/Cell/PPUModule.h"
#include "Emu/Memory/vm.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/Cell/lv2/sys_ppu_thread.h"
#include "Emu/Cell/lv2/sys_rsx.h"
#include "Emu/RSX/RSXThread.h"
#include "cellGcmSys.h"
#include "sysPrxForUser.h"

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/PPUThread.h"
#include "Emu/Cell/lv2/sys_sync.h"

View File

@ -1,6 +1,5 @@
#pragma once
#include "Emu/Io/PadHandler.h"
#include "Utilities/BEType.h"
#include <array>

View File

@ -1,6 +1,7 @@
#pragma once
#include "Utilities/BEType.h"
#include "Emu/Memory/vm_ptr.h"
// Return Codes
enum CellRtcError

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/VFS.h"
#include "Emu/localized_string.h"
#include "Emu/Cell/lv2/sys_fs.h"

View File

@ -1,6 +1,7 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/VFS.h"
#include "Emu/Cell/PPUModule.h"
#include "cellScreenshot.h"

View File

@ -1,6 +1,6 @@
#pragma once
#include "Emu/VFS.h"
#include "Emu/Memory/vm_ptr.h"
// Return Codes
enum CellScreenShotError : u32

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/Memory/vm_reservation.h"
#include "Emu/Cell/PPUModule.h"

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "Emu/system_config_types.h"
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/IdManager.h"
#include "Emu/RSX/rsx_utils.h"

View File

@ -1,6 +1,4 @@
#pragma once
#include "Emu/Cell/ErrorCodes.h"
#pragma once
#include "Emu/Memory/vm_ptr.h"

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/VFS.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/PPUModule.h"

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/lv2/sys_lwmutex.h"

View File

@ -7,6 +7,7 @@
#include "Crypto/sha1.h"
#include "Crypto/unself.h"
#include "Loader/ELF.h"
#include "Emu/System.h"
#include "Emu/VFS.h"
#include "Emu/Cell/PPUOpcodes.h"

View File

@ -4,7 +4,6 @@
#include "Emu/Cell/SPUInterpreter.h"
#include "Emu/Memory/vm.h"
#include "MFC.h"
#include "Emu/Memory/vm.h"
#include "Utilities/BEType.h"
#include <map>

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Memory/vm_ptr.h"
#include "Emu/Cell/PPUFunction.h"

View File

@ -1,4 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/Memory/vm.h"
#include "Emu/IdManager.h"

View File

@ -4,6 +4,7 @@
#include "Emu/Cell/PPUThread.h"
#include "Crypto/unedat.h"
#include "Emu/System.h"
#include "Emu/VFS.h"
#include "Emu/IdManager.h"
#include "Utilities/StrUtil.h"

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "sys_gamepad.h"
#include "Emu/Cell/ErrorCodes.h"
LOG_CHANNEL(sys_gamepad);

View File

@ -1,6 +1,5 @@
#pragma once
#pragma once
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Memory/vm_ptr.h"
//Syscalls

View File

@ -4,6 +4,7 @@
#include "Utilities/VirtualMemory.h"
#include "Emu/Memory/vm_locking.h"
#include "Emu/CPU/CPUThread.h"
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/IdManager.h"
#include <shared_mutex>

View File

@ -1,6 +1,5 @@
#pragma once
#pragma once
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Memory/vm_ptr.h"
#include "Emu/IdManager.h"

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Memory/vm_ptr.h"
#include "Emu/VFS.h"
#include "Emu/IdManager.h"

View File

@ -1,8 +1,7 @@
#pragma once
#pragma once
#include "Emu/Cell/PPUAnalyser.h"
#include "sys_sync.h"
#include "Emu/Cell/ErrorCodes.h"
struct lv2_overlay final : lv2_obj, ppu_module
{

View File

@ -1,6 +1,5 @@
#pragma once
#pragma once
#include "sys_sync.h"
#include "Emu/Memory/vm_ptr.h"
class ppu_thread;

View File

@ -1,4 +1,4 @@
#pragma once
#pragma once
#include "Crypto/unself.h"
#include "Emu/Memory/vm_ptr.h"

View File

@ -1,4 +1,4 @@
#pragma once
#pragma once
#include "sys_sync.h"

View File

@ -2,8 +2,8 @@
#include "sys_rsx.h"
#include "Emu/Cell/PPUModule.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/RSX/RSXThread.h"
#include "sys_event.h"

View File

@ -10,7 +10,6 @@
#include "Emu/IdManager.h"
#include "Emu/IPC.h"
#include "Emu/system_config.h"
#include "Emu/System.h"
#include <deque>
#include <thread>

View File

@ -1,13 +1,16 @@
#include "stdafx.h"
#include "sys_usbd.h"
#include "sys_ppu_thread.h"
#include "sys_sync.h"
#include <queue>
#include <thread>
#include "Emu/System.h"
#include "Emu/Memory/vm.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/PPUThread.h"
#include "Emu/Cell/ErrorCodes.h"
#include "sys_ppu_thread.h"
#include "Emu/Io/usb_device.h"
#include "Emu/Io/Skylander.h"

View File

@ -2,6 +2,7 @@
#include "sys_vm.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/ErrorCodes.h"
#include "Emu/Cell/PPUThread.h"
#include "Emu/Memory/vm_locking.h"

View File

@ -1,7 +1,6 @@
#pragma once
#include "Emu/Memory/vm_ptr.h"
#include "Emu/Cell/ErrorCodes.h"
#include "sys_memory.h"
#include <array>

View File

@ -2,6 +2,11 @@
#include "pad_config.h"
#include "Emu/System.h"
cfg_input::cfg_input()
: cfg_name(fs::get_config_dir() + "/config_input.yml")
{
}
bool cfg_input::load(const std::string& title_id)
{
cfg_name = Emulator::GetCustomInputConfigPath(title_id);

View File

@ -3,7 +3,6 @@
#include "pad_config_types.h"
#include "Utilities/Config.h"
#include "Utilities/File.h"
namespace pad
{
@ -22,7 +21,9 @@ struct cfg_player final : cfg::node
struct cfg_input final : cfg::node
{
std::string cfg_name = fs::get_config_dir() + "/config_input.yml";
cfg_input();
std::string cfg_name;
cfg_player player1{ this, "Player 1 Input", pad_handler::null };
cfg_player player2{ this, "Player 2 Input", pad_handler::null };

View File

@ -12,7 +12,7 @@
#include "Utilities/address_range.h"
#include "Emu/CPU/CPUThread.h"
#include "Emu/Cell/lv2/sys_memory.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/RSXThread.h"
#include "Emu/Cell/SPURecompiler.h"
#include "Emu/perf_meter.hpp"
#include <thread>

View File

@ -1,6 +1,5 @@
#include "stdafx.h"
#include "Emu/System.h"
#include "Emu/NP/rpcn_client.h"
#include "np_structs_extra.h"
LOG_CHANNEL(sceNp2);

View File

@ -1,9 +1,6 @@
#pragma once
#pragma once
#include "Emu/Memory/vm_ptr.h"
#include "Emu/Cell/Modules/sceNp.h"
#include "Emu/Cell/Modules/sceNp2.h"
#include "Emu/NP/rpcn_client.h"
namespace extra_nps
{

View File

@ -3,7 +3,7 @@
#include "Emu/Cell/lv2/sys_rsx.h"
#include "Emu/Cell/lv2/sys_memory.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/RSXThread.h"
#include <map>
#include <atomic>

View File

@ -0,0 +1,32 @@
#pragma once
#include <memory>
#include <atomic>
#include "display.h"
class GSFrameBase
{
public:
GSFrameBase() = default;
GSFrameBase(const GSFrameBase&) = delete;
virtual ~GSFrameBase() = default;
virtual void close() = 0;
virtual bool shown() = 0;
virtual void hide() = 0;
virtual void show() = 0;
virtual void toggle_fullscreen() = 0;
virtual void delete_context(draw_context_t ctx) = 0;
virtual draw_context_t make_context() = 0;
virtual void set_current(draw_context_t ctx) = 0;
virtual void flip(draw_context_t ctx, bool skip_frame = false) = 0;
virtual int client_width() = 0;
virtual int client_height() = 0;
virtual display_handle_t handle() const = 0;
std::atomic<bool> screenshot_toggle = false;
virtual void take_screenshot(const std::vector<u8> sshot_data, const u32 sshot_width, const u32 sshot_height, bool is_bgra) = 0;
};

View File

@ -1,38 +1,7 @@
#pragma once
#include "GSFrameBase.h"
#include "Emu/RSX/RSXThread.h"
#include <memory>
#include <atomic>
#ifdef _WIN32
#include <windows.h>
#elif defined(__APPLE__)
// nothing
#elif defined(HAVE_X11)
// Cannot include Xlib.h before Qt5
// and we don't need all of Xlib anyway
using Display = struct _XDisplay;
using Window = unsigned long;
#endif
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
#include <wayland-client.h>
#endif
struct RSXDebuggerProgram
{
u32 id;
u32 vp_id;
u32 fp_id;
std::string vp_shader;
std::string fp_shader;
bool modified;
RSXDebuggerProgram()
: modified(false)
{
}
};
enum wm_event
{
@ -47,52 +16,6 @@ enum wm_event
window_visibility_changed
};
using RSXDebuggerPrograms = std::vector<RSXDebuggerProgram>;
using draw_context_t = void*;
#ifdef _WIN32
using display_handle_t = HWND;
#elif defined(__APPLE__)
using display_handle_t = void*; // NSView
#else
using display_handle_t = std::variant<
#if defined(HAVE_X11) && defined(VK_USE_PLATFORM_WAYLAND_KHR)
std::pair<Display*, Window>, std::pair<wl_display*, wl_surface*>
#elif defined(HAVE_X11)
std::pair<Display*, Window>
#elif defined(VK_USE_PLATFORM_WAYLAND_KHR)
std::pair<wl_display*, wl_surface*>
#endif
>;
#endif
class GSFrameBase
{
public:
GSFrameBase() = default;
GSFrameBase(const GSFrameBase&) = delete;
virtual ~GSFrameBase() = default;
virtual void close() = 0;
virtual bool shown() = 0;
virtual void hide() = 0;
virtual void show() = 0;
virtual void toggle_fullscreen() = 0;
virtual void delete_context(draw_context_t ctx) = 0;
virtual draw_context_t make_context() = 0;
virtual void set_current(draw_context_t ctx) = 0;
virtual void flip(draw_context_t ctx, bool skip_frame = false) = 0;
virtual int client_width() = 0;
virtual int client_height() = 0;
virtual display_handle_t handle() const = 0;
std::atomic<bool> screenshot_toggle = false;
virtual void take_screenshot(const std::vector<u8> sshot_data, const u32 sshot_width, const u32 sshot_height, bool is_bgra) = 0;
};
class GSRender : public rsx::thread
{
protected:

View File

@ -1,6 +1,7 @@
#include "stdafx.h"
#include "shader_loading_dialog.h"
#include "Emu/System.h"
#include "Emu/Cell/Modules/cellMsgDialog.h"
namespace rsx
{

View File

@ -1,6 +1,6 @@
#pragma once
#include "Emu/Cell/Modules/cellMsgDialog.h"
class MsgDialogBase;
namespace rsx
{

View File

@ -1,6 +1,7 @@
#include "stdafx.h"
#include "shader_loading_dialog_native.h"
#include "../overlay_message_dialog.h"
#include "../../GSRender.h"
namespace rsx
{

View File

@ -1,7 +1,8 @@
#pragma once
#include "shader_loading_dialog.h"
#include "../../GSRender.h"
class GSRender;
namespace rsx
{
@ -10,6 +11,8 @@ namespace rsx
class message_dialog;
}
class thread;
struct shader_loading_dialog_native : rsx::shader_loading_dialog
{
rsx::thread* owner = nullptr;

View File

@ -2,6 +2,7 @@
#include "overlay_osk.h"
#include "Emu/RSX/RSXThread.h"
#include "Emu/Cell/Modules/cellSysutil.h"
#include "Emu/Cell/Modules/cellMsgDialog.h"
LOG_CHANNEL(osk, "OSK");

View File

@ -1,7 +1,6 @@
#include "stdafx.h"
#include "overlay_perf_metrics.h"
#include "../GSRender.h"
#include "Emu/RSX/RSXThread.h"
#include "Emu/Cell/SPUThread.h"
#include "Emu/Cell/RawSPUThread.h"
#include "Emu/Cell/PPUThread.h"

View File

@ -1,9 +1,9 @@
#include "stdafx.h"
#include "overlays.h"
#include "overlay_message_dialog.h"
#include "../GSRender.h"
#include "Input/pad_thread.h"
#include "Emu/Io/interception.h"
#include "Emu/RSX/RSXThread.h"
LOG_CHANNEL(overlays);

View File

@ -1,5 +1,7 @@
#include "stdafx.h"
#include "VKCommandStream.h"
#include "Emu/IdManager.h"
#include "Emu/RSX/RSXOffload.h"
namespace vk
{

View File

@ -2,6 +2,7 @@
#include "VKHelpers.h"
#include "VKRenderPass.h"
#include "Utilities/StrUtil.h"
#include "Emu/IdManager.h"
#define VK_MAX_COMPUTE_TASKS 4096 // Max number of jobs per frame

View File

@ -14,12 +14,13 @@
#include <X11/Xutil.h>
#endif
#include "Emu/RSX/GSRender.h"
#include "VulkanAPI.h"
#include "VKCommonDecompiler.h"
#include "../GCM.h"
#include "../Common/ring_buffer_helper.h"
#include "../Common/TextureUtils.h"
#include "../display.h"
#include "../rsx_utils.h"
#include "3rdparty/GPUOpen/include/vk_mem_alloc.h"

35
rpcs3/Emu/RSX/display.h Normal file
View File

@ -0,0 +1,35 @@
#pragma once
#ifdef _WIN32
#include <windows.h>
#elif defined(__APPLE__)
// nothing
#elif defined(HAVE_X11)
// Cannot include Xlib.h before Qt5
// and we don't need all of Xlib anyway
using Display = struct _XDisplay;
using Window = unsigned long;
#endif
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
#include <wayland-client.h>
#endif
#ifdef _WIN32
using display_handle_t = HWND;
#elif defined(__APPLE__)
using display_handle_t = void*; // NSView
#else
#include <variant>
using display_handle_t = std::variant<
#if defined(HAVE_X11) && defined(VK_USE_PLATFORM_WAYLAND_KHR)
std::pair<Display*, Window>, std::pair<wl_display*, wl_surface*>
#elif defined(HAVE_X11)
std::pair<Display*, Window>
#elif defined(VK_USE_PLATFORM_WAYLAND_KHR)
std::pair<wl_display*, wl_surface*>
#endif
>;
#endif
using draw_context_t = void*;

View File

@ -578,7 +578,7 @@ namespace rsx
static inline const f32 get_resolution_scale()
{
return g_cfg.video.strict_rendering_mode? 1.f : (g_cfg.video.resolution_scale_percent / 100.f);
return g_cfg.video.strict_rendering_mode ? 1.f : (g_cfg.video.resolution_scale_percent / 100.f);
}
static inline const int get_resolution_scale_percent()

View File

@ -16,10 +16,10 @@
#include "Emu/Cell/lv2/sys_sync.h"
#include "Emu/Cell/lv2/sys_prx.h"
#include "Emu/Cell/lv2/sys_rsx.h"
#include "Emu/Cell/Modules/cellMsgDialog.h"
#include "Emu/title.h"
#include "Emu/IdManager.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/Capture/rsx_replay.h"
#include "Loader/PSF.h"

View File

@ -502,6 +502,8 @@
<ClInclude Include="Emu\NP\rpcn_config.h" />
<ClInclude Include="Emu\RSX\Common\ShaderInterpreter.h" />
<ClInclude Include="Emu\RSX\Common\texture_cache_helpers.h" />
<ClInclude Include="Emu\RSX\display.h" />
<ClInclude Include="Emu\RSX\GSFrameBase.h" />
<ClInclude Include="Emu\RSX\Overlays\overlay_fonts.h" />
<ClInclude Include="Emu\RSX\Overlays\overlay_message_dialog.h" />
<ClInclude Include="Emu\RSX\Overlays\overlay_osk.h" />

View File

@ -18,9 +18,6 @@
<Filter Include="Emu\Io">
<UniqueIdentifier>{1df5b438-f263-4ff4-9b86-a9ea368f2106}</UniqueIdentifier>
</Filter>
<Filter Include="Emu\HDD">
<UniqueIdentifier>{28902cf4-4fa6-428b-ab94-6b410fd5077f}</UniqueIdentifier>
</Filter>
<Filter Include="Emu\CPU">
<UniqueIdentifier>{037247b4-0370-4193-a25d-bc9d075bf0a7}</UniqueIdentifier>
</Filter>
@ -1879,6 +1876,12 @@
<ClInclude Include="Emu\Io\interception.h">
<Filter>Emu\Io</Filter>
</ClInclude>
<ClInclude Include="Emu\RSX\GSFrameBase.h">
<Filter>Emu\GPU\RSX</Filter>
</ClInclude>
<ClInclude Include="Emu\RSX\display.h">
<Filter>Emu\GPU\RSX</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="Emu\RSX\Common\Interpreter\FragmentInterpreter.glsl">

View File

@ -1,6 +1,5 @@
#include "headless_application.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/Null/NullGSRender.h"
#include "Emu/Cell/Modules/cellMsgDialog.h"
#include "Emu/Cell/Modules/cellOskDialog.h"

View File

@ -1,6 +1,8 @@
#include "stdafx.h"
#include "gl_gs_frame.h"
#include "Emu/system_config.h"
#include <QOpenGLContext>
#include <QOffscreenSurface>

View File

@ -5,12 +5,15 @@
#include "Utilities/Timer.h"
#include "Utilities/date_time.h"
#include "Emu/System.h"
#include "Emu/system_config.h"
#include "Emu/IdManager.h"
#include "Emu/Cell/Modules/cellScreenshot.h"
#include <QCoreApplication>
#include <QKeyEvent>
#include <QMessageBox>
#include <string>
#include <thread>
#include "png.h"

View File

@ -1,7 +1,7 @@
#pragma once
#include "stdafx.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/GSFrameBase.h"
#include <QWindow>
#include <QPaintEvent>

View File

@ -30,7 +30,6 @@
#include <clocale>
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/Null/NullGSRender.h"
#include "Emu/RSX/GL/GLGSRender.h"

View File

@ -13,6 +13,7 @@
#include <chrono>
#include <condition_variable>
#include <mutex>
#include <thread>
LOG_CHANNEL(cfg_log, "CFG");

View File

@ -3,8 +3,7 @@
#include "qt_utils.h"
#include "memory_viewer_panel.h"
#include "table_item_delegate.h"
#include "Emu/RSX/GSRender.h"
#include "Emu/RSX/RSXThread.h"
#include <QHBoxLayout>
#include <QHeaderView>