Connor McLaughlin
d19c767ad1
Common/Dependencies: Use deletion for declaring non-copyable
...
This is the preferred method in modern C++.
2022-05-09 16:06:33 +01:00
Connor McLaughlin
d2347d9972
Common/Threading: Replace TLS macros with standard thread_local
2022-05-09 16:06:33 +01:00
Connor McLaughlin
f8dcff9fc4
Common: Remove references to pthreads4w
...
It's only needed for wx now.
2022-05-09 16:06:33 +01:00
Connor McLaughlin
e5716922a3
Common/Threading: Move a bunch of unnecessary wrappers to gui
2022-05-09 16:06:33 +01:00
Connor McLaughlin
65e956a01c
Misc: Replace use of Threading::Mutex with std::mutex in core code
2022-05-09 16:06:33 +01:00
Connor McLaughlin
4baea67e75
Common: Remove RwMutex
...
It wasn't used, and if we need it, we can use std::shared_mutex.
2022-05-08 05:40:59 +01:00
Connor McLaughlin
1e8332f36a
Misc: Move pxThread and friends to gui
2022-05-08 05:40:59 +01:00
Connor McLaughlin
096696bed7
Misc: Replace core usage of Semaphore with KernelSemaphore
...
i.e. decouple it from the UI.
2022-05-08 05:40:59 +01:00
Connor McLaughlin
64534542a9
Threading: Move a couple of function declarations to correct location
2022-05-08 05:40:59 +01:00
Connor McLaughlin
b22e31c302
Common: Add WIN32_LEAN_AND_MEAN and NOMINMAX to RedtapeWindows.h
...
Otherwise, it doesn't get set for cmake.
2022-05-08 05:40:59 +01:00
arcum42@gmail.com
233195b020
Remove macros that 'might be needed again in the future'.
2022-05-07 05:26:46 +01:00
arcum42@gmail.com
13e09953af
Remove unused code in Dependencies.h
2022-05-07 05:26:46 +01:00
Connor McLaughlin
8620febeb3
GL/Context: Load wayland-egl dynamically
...
Gets rid of the dependency on libwayland-egl, allowing us to always use
the system version.
Solves missing symbol issues by including it in the AppImage.
2022-05-06 01:00:24 +01:00
Connor McLaughlin
bec9b34f54
Vulkan/SwapChain: Fix crash on fullscreen toggle with Mac
2022-05-05 23:23:48 +01:00
Connor McLaughlin
4543ddbcc2
Common/FileSystem: Don't recompress already compressed files
2022-05-05 09:46:52 +01:00
Connor McLaughlin
6a6ecbf826
Common: Remove ThreadCPUTimer as it's unused now
2022-05-02 14:25:05 +01:00
Connor McLaughlin
6ebb8c2e91
Threading: Add ThreadHandle class
2022-05-02 14:25:05 +01:00
Connor McLaughlin
5eae7a6328
Threading/Win32: Use QueryThreadCycleTime() for thread CPU time
2022-05-02 14:25:05 +01:00
arcum42@gmail.com
38fa137cfd
build: Include CrashHandler.cpp in cmake. Fixes #5938 .
2022-04-24 01:42:10 +01:00
Connor McLaughlin
abde47fa18
Common: Add CrashHandler
2022-04-21 14:21:49 +01:00
Connor McLaughlin
b913d39a50
Common/Timer: Fix closing invalid handle on Win32
...
Only is an issue if you have a debugger attached and the exception
enabled.
2022-04-17 10:45:22 +01:00
TellowKrinkle
eb60e9aa9b
Common: Avoid libstdc++ assert
2022-04-17 10:44:02 +01:00
Connor McLaughlin
0e9dcf74b2
Common/Semaphore: Fix WaitWithYield() returning immediately
...
This caused the WaitGS() issued from the main thread when applying
renderer settings (while the core thread was paused) to return
immediately, and a massive race resuming.
2022-04-15 19:43:22 +01:00
Connor McLaughlin
edf5e2c14e
Vulkan/Context: Use static loading for vk_mem_alloc
...
In doing so, we simplify things a bit, as we can assume Vulkan 1.1
support. It needed it before anyway, and would crash on Vulkan 1.0
drivers.
2022-04-15 19:41:12 +01:00
Connor McLaughlin
9180adb850
VulkanHostDisplay: Handle surface loss better
...
Just try again next frame.
2022-04-15 19:41:12 +01:00
Connor McLaughlin
1b080f1777
Vulkan/Loader: Make vkDestroyInstance() a module import
2022-04-15 19:41:12 +01:00
Connor McLaughlin
3c18cdcb1f
Frontend: Add D3D12HostDisplay
2022-04-15 12:56:41 +01:00
Connor McLaughlin
e767fb8d35
Common: Add D3D12 wrapper/helper classes
2022-04-15 12:56:41 +01:00
Connor McLaughlin
3255422836
Common/StringUtil: Optimize equal stride copy case
2022-04-15 12:56:41 +01:00
Connor McLaughlin
0592abd31b
GL/ContextEGL: Fix broken surface creation
...
Regression from #5676 .
2022-04-15 11:46:07 +01:00
Connor McLaughlin
f86b3a32cd
Qt: Switch to QtEntryPoint.lib instead of explicit main()
2022-04-15 08:53:02 +01:00
Connor McLaughlin
59d6113ee4
VSProps: Fix Qt TLS plugins not getting copied
2022-04-15 08:53:02 +01:00
Connor McLaughlin
f270f34865
Qt: Move to Qt 6.3.0
2022-04-15 08:53:02 +01:00
tcoyvwac
5389178644
Common: Prefer standard algorithms
...
GL/ContextEGL.cpp:
Prefer std::find_if over ranged-for.
2022-04-15 08:42:29 +01:00
tcoyvwac
6cbdc8c8b7
Common: Prefer pre-built array-form to assign values.
...
GL/ContextEGL.cpp:
Replace raw-index manipulation / arithmetic as logic. Now a variable-length array.
2022-04-15 08:42:29 +01:00
tcoyvwac
6e6a70b8ed
Common: Prefer returning std::array by lambda expression
...
GL/ContextEGL.cpp:
Replace raw-index manipulation / arithmetic as logic. Variable now using IIFE (Immediately invoked function expression) to strengthen immutability.
2022-04-15 08:42:29 +01:00
TellowKrinkle
1a0a0423e7
Core: Switch MTGS and SysThreadBase to WorkSema
2022-04-15 08:41:58 +01:00
TellowKrinkle
b28779b0f6
Common: Add dead thread support to WorkSema
...
MTGS supports having exceptions kill the thread and send their result back to a thread calling WaitGS...
2022-04-15 08:41:58 +01:00
TellowKrinkle
d733730950
Common: Add WorkSema
2022-04-15 08:41:58 +01:00
Connor McLaughlin
864651ce8d
System: Purge WinCompressNTFS.cpp
...
This is the most overengineered, stupid rubbish I've ever seen.
2022-04-15 08:15:40 +01:00
Connor McLaughlin
a635e84d82
FileSystem: Add path splitting helpers
2022-04-15 08:15:40 +01:00
Connor McLaughlin
80aaa962ec
Common: Move IniInterface to WX GUI
...
Qt doesn't use it.
2022-04-15 08:15:40 +01:00
Connor McLaughlin
876ea3db52
Common: Purge pxStreams and some other wx string routines
2022-04-15 08:15:40 +01:00
Connor McLaughlin
4779bc830a
StringUtil: Add more whitespace cleaners and ParseAssignmentString
2022-04-15 08:15:40 +01:00
Connor McLaughlin
dd8a645986
SaveState: Use libzip instead of wx
2022-04-15 08:15:40 +01:00
Connor McLaughlin
d387a1f4dc
GS: Support compiling without OpenGL renderer
2022-04-15 07:21:18 +01:00
refractionpcsx2
e5f90f176c
Emitter: Fix s8 problem with displacements
2022-04-11 21:09:12 +01:00
Connor McLaughlin
f9707e6809
LnxMisc: Use clock_gettime() instead of gettimeofday()
2022-04-07 21:22:24 +01:00
TellowKrinkle
5ecaa9459d
GS: Add Metal renderer
2022-03-31 23:51:27 -05:00
TellowKrinkle
cfe2f9e6b4
Common: Add helpers for enum classes
2022-03-31 23:51:27 -05:00
Connor McLaughlin
76b4e93604
Vulkan/ShaderCache: Don't delete cache when running 2 instances
2022-03-30 12:38:08 +02:00
Connor McLaughlin
cec089a271
D3D11/ShaderCache: Don't delete cache when running 2 instances
2022-03-30 12:38:08 +02:00
Connor McLaughlin
e5248db844
StringUtil: Add SplitString()
2022-03-25 12:51:31 +00:00
Connor McLaughlin
47fff9304b
FileSystem: Add DeleteDirectory() and recursive variant
2022-03-25 10:26:09 +00:00
lightningterror
d89daa1b25
misc: A few more 32bit cleanups.
2022-03-21 20:56:03 +01:00
lightningterror
f1ac712eba
build: Remove _M_X86_64, __M_X86_64, _M_X86_32 defines.
...
32bit cleanup.
2022-03-21 20:21:36 +01:00
lightningterror
9dac598113
common: Clean up 32bit code.
2022-03-21 20:21:36 +01:00
lightningterror
6db573d255
emitter: Clean up 32bit code.
2022-03-21 20:21:36 +01:00
Connor McLaughlin
4e6b86f8f4
GS/Vulkan: Use VK_ARM_rasterization_order_attachment_access if available
2022-03-20 23:41:33 +00:00
arcum42@gmail.com
33e0ac729e
Core: Remove memcmp_mmx.
2022-03-20 12:54:58 +00:00
Connor McLaughlin
268ecf42c3
Build: Remove 32bit configs from vsprops
2022-03-20 12:53:42 +00:00
Tyler Wilding
aa42acfe22
common: fix method name and clarify some behaviour
2022-03-20 04:03:03 +00:00
Connor McLaughlin
8e08cd772b
PerformanceMetrics: Add GPU time
2022-03-17 09:10:12 +00:00
Connor McLaughlin
444e650711
StringUtil: Add StartsWithNoCase/EndsWithNoCase
2022-03-14 15:26:19 +00:00
TellowKrinkle
5bdec2f532
x86emitter: Fix x64 8-bit rmw codegen
2022-03-11 12:59:57 +00:00
Ziemas
7a970e1d00
Filesystem: Properly convert stat return to bool.
...
Two of the overloads where wrong.
2022-03-09 09:33:51 +00:00
Connor McLaughlin
2d08d3dc94
GL/Context: Drop GL string logging back to devbuilds
2022-03-08 10:39:50 +01:00
Connor McLaughlin
062d625901
Vulkan/Context: Allow non-debug device when validation layers unavailable
2022-03-08 10:39:50 +01:00
TellowKrinkle
099ddfedc7
GS:Mac: Properly init vulkan on main thread
2022-03-02 12:02:15 +00:00
TellowKrinkle
d9e2bcef6d
GS:Mac: Nicer message send
2022-03-02 12:02:15 +00:00
Connor McLaughlin
32dc68f103
GS: Support BC1/BC2/BC3/BC7 compressed texture formats
2022-02-24 10:18:49 +00:00
Connor McLaughlin
ed9f34de5f
Common/FileSystem: Add EnsureDirectoryExists()
2022-02-24 10:18:49 +00:00
Connor McLaughlin
f73398ea84
GS/Vulkan: Fix warning when compiling RGBA8->RGB5A1 shader
...
Also gets rid of the program info log length check, since that's been
long removed in glslang.
2022-02-20 14:03:33 +00:00
C.W. Betts
9b7e87c043
Mark static functions in headers as static inline:
...
This quiets unused function warnings (-Wunused-function) which is on by default on Xcode.
2022-02-07 02:32:56 +00:00
Connor McLaughlin
0ca3167595
Vulkan: Implement adaptive vsync (FIFO-relaxed)
2022-02-07 01:42:40 +00:00
Connor McLaughlin
c74cc9bc12
HostDisplay: Fix vsync getting lost on window changes
2022-02-07 01:42:40 +00:00
Connor McLaughlin
3a91ed2571
Vulkan/Context: Remove unused memory type functions
...
VulkanMemoryAllocator takes care of this.
2022-02-02 17:39:53 +00:00
Connor McLaughlin
20c534fc46
Vulkan/Context: Fix incorrect app name/version
2022-02-02 17:39:53 +00:00
Connor McLaughlin
793ba944d6
GS/Vulkan: Prefer coherent for upload and cached for download buffers
2022-02-02 00:30:56 +00:00
refractionpcsx2
11b467e455
QT: Remove 32bit build targets (which don't exist)
...
Use a separate environment varible for our QT folder to save conflicts
2022-01-31 12:40:25 +00:00
Connor McLaughlin
93f9ae8a31
Qt: Add work in progress interface
2022-01-30 14:29:18 +00:00
Connor McLaughlin
c2ca0852d9
Build: Add pcsx2core variant for Qt
2022-01-30 14:29:18 +00:00
Connor McLaughlin
8bedfc257f
Common: Don't define __i386__ on Windows
...
It breaks Qt.
2022-01-30 14:29:18 +00:00
Connor McLaughlin
ed9b6f0d3f
Vulkan/Context: Get driver properties
2022-01-23 17:15:48 +00:00
TheLastRar
e5c4fe003b
Build: Use git tag for file version on windows, attempt 2
2022-01-21 23:41:07 +00:00
TellowKrinkle
d6293ab081
Revert "Build: Use git tag for file version on windows"
...
This reverts commit 7f2a9f6806
.
2022-01-20 23:17:43 -06:00
TheLastRar
7f2a9f6806
Build: Use git tag for file version on windows
2022-01-20 22:52:09 +00:00
Connor McLaughlin
921689aa04
Common: Add D3D11 shader cache/compiler classes
2022-01-16 03:17:04 +00:00
Connor McLaughlin
81a139b875
Vulkan: Force textures to be allocated in device local memory
2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a3c20f0f7
Vulkan: Use memory budget extension where available
2022-01-08 05:19:45 +00:00
Connor McLaughlin
220c7c271b
GS/Vulkan: Use VK_EXT_provoking_vertex where supported
2022-01-08 05:19:45 +00:00
Connor McLaughlin
6187f36c33
Vulkan/StreamBuffer: Use VulkanMemoryAllocator
2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a8a5a5e8e
GS: Add Vulkan renderer
2022-01-08 05:19:45 +00:00
Connor McLaughlin
a27b6a113a
Common: Add Vulkan helper classes
2022-01-08 05:19:45 +00:00
Connor McLaughlin
0c36647506
GS: Rewrite presentation interface and OSD
2022-01-02 15:06:39 +00:00
Filipe da Silva Santos
9e705b2f53
FileSystem: follow c++17 and unbreak FreeBSD
2021-12-28 19:11:18 -06:00
Connor McLaughlin
65d22406a3
SettingsWrapper: Fix enums being stored as ints
2021-12-28 05:22:45 +00:00
Connor McLaughlin
92689a60ae
Common/StringUtil: Add whitespace strip methods
2021-12-28 05:22:45 +00:00
Connor McLaughlin
1a598ccf0d
Common/StringUtil: Add wide string conversion for non-windows
2021-12-28 05:22:45 +00:00
Connor McLaughlin
3f81b7e56d
GL/ShaderCache: Time various shader compilation tasks
2021-12-26 13:21:51 +00:00