Connor McLaughlin
cbcfe37e28
Common: Add LRUCache
2022-07-24 16:22:37 +01:00
Connor McLaughlin
ef0fde8615
CI: Use Qt 6.3.1 for all platforms
2022-07-24 16:22:37 +01:00
Connor McLaughlin
fcde6f686e
Build: Bump _WIN32_WINNT to Windows 10 and link against OneCore
...
Necessary for us to utilize the new WinAPI functions. We just need to be
careful not to call any of these in wx, because otherwise it'll no
longer run on Win8.
2022-06-29 09:18:20 +01:00
Connor McLaughlin
5c88c585a0
ContextWGL: Use pbuffers when we don't have a surface
...
Fixes context restore error tripping when confirming shutdown while
fullscreen in Qt.
2022-06-20 15:14:15 +01:00
Connor McLaughlin
fa3bd58b7f
GS: Don't show GPU OSD when timing init fails
2022-06-20 07:28:12 +01:00
Connor McLaughlin
ddbc143178
GS/DX12: Fix creating display textures mid-frame crashing
2022-06-20 07:28:12 +01:00
Connor McLaughlin
2b0e1a1dec
Qt: Fix compiling with spaces in path on Windows
2022-06-18 22:57:51 +02:00
TellowKrinkle
04681babf1
Common: Add assertion failure message to crashlogs
2022-06-15 16:23:32 -05:00
Connor McLaughlin
d1a235272e
SettingsInterface: Add ContainsValue() and copy helpers
2022-06-11 14:37:57 +01:00
Connor McLaughlin
afa29facc6
FileSystem: Add OpenSharedCFile()
2022-06-07 15:09:41 +01:00
Silent
33efc86788
Updater: Thread the UI updates, add a taskbar progress bar, add a marquee progress bar for indeterminate actions
2022-06-07 13:14:00 +02:00
Connor McLaughlin
394f1f2049
Vulkan: Enforce 32 byte alignment for uploads
...
It blows up on AVX2 stores on some drivers if we don't (e.g. AMD Linux).
2022-06-05 21:29:42 +01:00
Connor McLaughlin
ca3833e71b
VulkanHostDisplay: Avoid redundant resizes
2022-06-04 18:10:46 +01:00
Connor McLaughlin
457ec7f6f5
Threading: Add lightweight thread wrapper
2022-06-04 18:10:46 +01:00
Connor McLaughlin
eeb09c54d8
GS/DX12: Use correct state for texture staging buffers
2022-06-04 18:10:46 +01:00
Connor McLaughlin
0a667bf18a
SettingsInterface: Add optional accessors/mutators
2022-06-04 18:10:46 +01:00
TellowKrinkle
f9c2327bf5
Qt: Respond to dark/light mode changes
2022-06-04 14:50:33 +01:00
TellowKrinkle
beab9870cf
Common: Move ObjC methods to CocoaTools
2022-06-04 14:50:33 +01:00
Connor McLaughlin
a5124b118b
FileSystem: Fix splitting UNC paths
2022-05-31 11:01:14 +01:00
TellowKrinkle
fc06963c56
Common: Implement screensaver prevention on macOS
2022-05-30 16:38:01 -05:00
Connor McLaughlin
271e53a6bf
Assertions: Fix message not being included for pxAssert()
2022-05-30 10:20:44 +01:00
Connor McLaughlin
5ef159876a
Build: Don't rewrite svnrev.h unconditionally
...
Stops VS from recompiling the files which include it every time you hit
run.
2022-05-29 16:19:08 +01:00
Connor McLaughlin
822e508d13
D3D12: Don't call GetGPUDescriptorHandleForHeapStart() on non-shader-visible heaps
2022-05-28 05:50:21 +01:00
refractionpcsx2
43b53df0a0
Patches: Make cheats_ws.zip search case insensitive
2022-05-28 03:32:43 +01:00
C.W. Betts
66c6c2400a
Some Qt for Mac fixes.
2022-05-27 21:21:48 -05:00
Connor McLaughlin
30096a5ae4
Qt: Add hardware check for SSE4 and AVX2
2022-05-27 17:39:09 +01:00
Master Builder
a26b91291c
Common/Linux/LnxHostSys: Fixed compatibility issues with FreeBSD, made error
...
handling more explicit
2022-05-26 00:28:44 +02:00
Connor McLaughlin
2365a9caab
D3D12/Texture: Fix incorrect resource state for fallback staging buffer
2022-05-26 00:04:46 +02:00
Connor McLaughlin
b5721a92e9
Misc: Fix a bunch of recent warnings from clang
2022-05-25 10:15:48 +01:00
Connor McLaughlin
1f802eca46
Common: Redo assertions, purge DiagnosticOrigin
2022-05-25 10:15:48 +01:00
Connor McLaughlin
b919719aeb
GzippedFileReader: Fix index creation
2022-05-22 16:13:12 +01:00
Connor McLaughlin
ea051c6d5f
Everything: Get rid of wx entirely from the Qt build
2022-05-22 13:58:56 +01:00
Connor McLaughlin
893b3c629d
Everything: Remove a **lot** of wx, and px nonsense
...
- common has no wx left except for Path.
- pcsx2core only has it in a few places (memory cards and path related
stuff).
2022-05-22 13:58:56 +01:00
Connor McLaughlin
c07c942659
Common/StringUtil: Handle error returns in StdStringFromFormatV()
2022-05-22 13:58:56 +01:00
Connor McLaughlin
7f8bfb22de
Build: Fix revision extractor for Qt auto updater
2022-05-12 17:31:06 +01:00
Connor McLaughlin
221eaf1a81
Common/AlignedMalloc: Add move constructor/assignment
2022-05-12 15:08:45 +01:00
Connor McLaughlin
d535331b4b
Misc: Remove __fastcall, __fc, __concall and friends
...
These have no meaning in x64 (apart from throwing compiler warnings),
and we don't do 32-bit anymore. Also saves needing to include
`Pcsx2Defs.h` in files which don't otherwise need it.
2022-05-12 14:58:03 +01:00
Connor McLaughlin
38c48e8b6a
Vulkan/Context: Don't write timestamp on an unreset query
2022-05-11 13:07:58 +01:00
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
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