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
Connor McLaughlin
69ff12645c
Common: Add GL/ShaderCache
2021-12-26 13:21:51 +00:00
Connor McLaughlin
efb93d22d9
Common: Add GL Program wrapper class
2021-12-26 13:21:51 +00:00
Connor McLaughlin
cdb0068dcc
Common: Add MD5Digest
2021-12-26 13:21:51 +00:00
Connor McLaughlin
b0a0d714c4
Common: Add HashCombine.h
2021-12-26 13:21:51 +00:00
Tyler Wilding
70145eb150
macos: add `undef` to fix macOS builds
2021-12-25 15:11:01 +00:00
Tyler Wilding
85bd8555c0
common: add some file-path helpers to `Path` ns
2021-12-25 15:11:01 +00:00
Tyler Wilding
e313eadcd2
common: pull our string functions into common
2021-12-25 15:11:01 +00:00
Tyler Wilding
be952e40ba
vs: update project configuration to include `rapidyaml`
2021-12-25 15:11:01 +00:00
TellowKrinkle
ea25f49c65
Common: Fix GetWorkingDirectory on unix
2021-12-23 07:49:14 +00:00
Connor McLaughlin
120ee6c673
Get rid of wxChar in EnumToString
2021-12-12 03:27:43 +00:00
Connor McLaughlin
38e288ef6a
Common: Add utility classes
2021-12-12 03:27:43 +00:00
Connor McLaughlin
a083343c6e
Common: Add FileSystem
2021-12-12 03:27:43 +00:00
TellowKrinkle
8b086a3898
Common: Clean up ScopedAlloc
2021-12-09 05:26:26 -06:00
Ziemas
7a4191e16d
Fix compilation with LTO on GCC
2021-11-30 02:25:06 +00:00
Connor McLaughlin
0d40661b33
VSProps: Set MultiProcessorCompilation in CodeGen props
2021-11-16 10:08:20 +00:00
TellowKrinkle
67299fcd9f
Core: Remove __packed macro
2021-11-14 13:52:20 -06:00
TellowKrinkle
f7476dfb63
Core: Replace alignment macros with alignas
2021-11-14 13:52:20 -06:00
TellowKrinkle
648a958290
GS: Split GS.h into multiple smaller headers
2021-11-14 13:52:20 -06:00
TellowKrinkle
b74be70ffc
GS: Switch integer typedefs to match rest of pcsx2
...
Had to capitalize the names of some struct params that had the same names
2021-11-14 13:52:20 -06:00
TellowKrinkle
2351431d71
Misc: Remove custom countof macros in favor of std::size
2021-11-14 13:52:20 -06:00
TellowKrinkle
7435f76609
Misc: Move GS preprocessor defs to main PCSX2 file
2021-11-14 13:52:20 -06:00
TellowKrinkle
e37fbfddc3
Misc: Better GCC defs
...
Less warnings about fastcall being unsupported, proper __assume implementation
2021-11-14 13:52:20 -06:00
TellowKrinkle
8ab884a89e
Misc: Format Pcsx2Defs.h
2021-11-14 13:52:20 -06:00
TellowKrinkle
cbcd9b5004
wx: Remove wxString implicit constructor from std::string
...
On windows, it uses the current system's character encoding instead of utf-8, which breaks a lot of things. We should avoid it.
2021-11-13 18:44:26 -06:00
Ty Lamontagne
be71b98c55
Debugger: Update enums and fix 32 bit support
...
Also move bitcast to a proper location
2021-11-11 00:41:40 +00:00
tellowkrinkle
37e2142cca
Common: Fix Darwin thread times
...
Percentages will now actually be percentages instead of permille (units of 1/1000)
Was caused by trying to match Windows's returns of 100ns units, but then reporting 1µs units from `GetThreadTicksPerSecond()`
2021-11-05 23:11:53 -05:00
TellowKrinkle
ed5a7802f3
Common: Add non-constant offsetof macro
2021-11-04 19:32:27 +00:00
Tyler Wilding
c4e5a21c86
build: If available - use the current git tag for the build metadata
2021-11-01 20:07:31 -05:00
Connor McLaughlin
20ab4dbf20
GL/StreamBuffer: Use partial instead of exact match for NVIDIA
...
It's "NVIDIA Corporation" on Macs, and on Windows we don't support any
GL3 GPUs anyway.
2021-10-30 16:01:55 +01:00
TellowKrinkle
9d2bdd5681
ContextAGL main thread & wx compatibility fixes
2021-10-30 02:00:21 +01:00
Connor McLaughlin
198fc2629e
Common: Add GL context wrappers
2021-10-30 02:00:21 +01:00
Connor McLaughlin
fadd97c021
Common: Add WindowInfo
2021-10-30 02:00:21 +01:00
Connor McLaughlin
09764393e0
Common: Add align helpers
2021-10-30 02:00:21 +01:00
Connor McLaughlin
de8b4f17a1
Common: Add ScopedGuard
2021-10-30 02:00:21 +01:00
lightningterror
7ac56a0d11
emitter: Fix Wsign-compare warnings.
2021-10-27 01:00:38 +02:00
TellowKrinkle
881b017606
Utilities: Add TryWait and spin waits to semaphore and mutex
2021-10-19 16:04:15 -04:00
TellowKrinkle
5ff89dd695
Utilities: Add functions for spin waiting
2021-10-19 16:04:15 -04:00
TellowKrinkle
cf02893d22
macOS: faster semaphores
...
mach semaphore is kernel-only, and doesn't have a userspace fast path
2021-10-19 16:04:15 -04:00
refractionpcsx2
1b31eb9e4a
Common: Fix AT&T mixup in FastJmp code
2021-10-12 23:08:13 +01:00
kojin
a94a324423
common: Don't use linux-specific OS description
...
wxGetLinuxDistributionInfo is linux only
2021-10-04 03:17:30 -04:00
kojin
4df3bee178
common: don't use NULL in SafeSysMunmap
...
BSD maps NULL to nullptr_t which is a problem because it's not a ptr type
2021-10-04 03:17:30 -04:00
Connor McLaughlin
a585a27d1e
Wx: Fix regressions from settings decouple
...
Wx: Fix GS hotkeys losing values after reboot
Wx: Fix trace log hotkey losing value after reboot
WxSettingsInterface: Fix uint value loads
Wx: Fix presets resetting GS window settings
Common/SettingsWrapper: Fix SettingsWrapBitfield
2021-10-03 06:04:00 +01:00
TellowKrinkle
603537719e
GS: Switch SW renderer statistics back to rdtsc
...
GetCPUTicks can be pretty low resolution on some systems
2021-10-02 00:01:19 -04:00
Connor McLaughlin
43dfbe3f29
Move more classes from common to gui
2021-10-01 23:46:52 -04:00
Connor McLaughlin
6fa82da1f1
Common: Add SettingsInterface and SettingsWrapper
2021-10-01 23:46:52 -04:00
Connor McLaughlin
171a395369
Common: Add StringUtil
2021-10-01 23:46:52 -04:00
Connor McLaughlin
d13982ea0e
IniInterface: Support std::string entries
2021-10-01 23:46:52 -04:00
Connor McLaughlin
324a3d09e6
PathUtils: Make wxDirName::{Rmdir,Mkdir} const
2021-10-01 23:46:52 -04:00
Connor McLaughlin
4594e02812
Common: Add Fastjmp
2021-10-01 23:30:39 +01:00
Connor McLaughlin
6ff46a795f
Common/StringHelpers: Fix printing of 64-bit pointers
2021-10-01 12:10:19 +01:00
Connor McLaughlin
9abaa1adf6
Common/Mutex: Fix compiling without wxUSE_GUI
2021-10-01 10:06:09 +01:00
Ty Lamontagne
1f31edf65c
Perf: Fix missing include
2021-09-26 17:26:57 +01:00
TellowKrinkle
5435718167
Common: Clean up DarwinMisc
2021-09-23 22:45:37 -05:00
TellowKrinkle
ffbfd2c844
GUI: Check console color support before using it
2021-09-22 15:16:02 -05:00
TellowKrinkle
0f4f09c597
GUI: Enable console to stdio on macOS
2021-09-22 15:16:02 -05:00