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
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