TellowKrinkle
46db4077b8
Common:Vulkan: Add storage descriptors to pool
...
Needed for CAS
2022-11-23 11:45:37 +00:00
Connor McLaughlin
344d27ea5a
Vulkan: Add ComputeShaderPipelineBuilder
2022-11-23 11:45:37 +00:00
lightningterror
dda0b6c296
common: Drop windows 8.1 and server 2012 r2 support.
...
We already require windows 10 (build 1809) with the recent recompiler changes.
2022-11-20 22:28:43 +01:00
Connor McLaughlin
129fddf07c
Qt: Switch to 6.4.0 on Windows
2022-11-20 17:25:55 +00:00
lightningterror
5c104f8e1d
common linux: Fix Wunused-variable warning.
2022-11-19 19:28:52 +01:00
Connor McLaughlin
1ccddb92d4
EE Rec/IOP Rec: Rewrite large portions
...
- Add fastmem
- Add delay slot swapping
- Add COP2 sync elision
- Add block analysis and use analysis
- Add GPR register caching and renaming
2022-11-19 04:59:10 +00:00
Connor McLaughlin
56501e0811
x86emitter: Fix up emitting of xmm -> ptr64 operands
2022-11-19 04:59:10 +00:00
Connor McLaughlin
3d6a550f23
x86Emitter: Add 8-bit variants for spl..r15b
...
Also fixes PINSR/PEXTR.
2022-11-19 04:59:10 +00:00
Connor McLaughlin
76b03a8a88
VSProps: Use MultiToolTask mode
...
Much better parallelism, due to our source files being spread out across
multiple folders.
pcsx2core build time on a Ryzen 3900X with 12C/24T:
Before: Time Elapsed 00:00:26.74
After: Time Elapsed 00:01:03.21
2022-11-19 04:58:23 +00:00
Ty Lamontagne
4975f7f098
Profiling: Fix QT builds where USE_VTUNE is true
2022-11-09 19:00:11 +00:00
Ganael Laplanche
aa59547af7
build: Fix build on FreeBSD
...
- ftruncate64() does not exist on FreeBSD
- add missing environ(7) declaration
2022-10-28 13:25:49 +02:00
Ganael Laplanche
67f1cd4e15
Fix shm_open(3) call on FreeBSD
...
On FreeBSD, shm_open(3) requires name to start with a '/', else EINVAL
is returned.
See: https://www.freebsd.org/cgi/man.cgi?shm_open
2022-10-28 13:25:49 +02:00
TellowKrinkle
ac1f31f2cd
GS:HW: Add option to spin CPU during readbacks
2022-10-24 14:33:17 +01:00
TellowKrinkle
89dd7f19ef
Misc: Improve pause speed measurements
...
Avoids issues with cores being clocked down during the measurement
2022-10-24 14:33:17 +01:00
TellowKrinkle
923b0817ce
GS:Vk: Add option to spin GPU during readbacks
2022-10-24 14:33:17 +01:00
TellowKrinkle
4c9981f3c8
Common:Vk: Move command buffer completion processing to separate function
2022-10-24 14:33:17 +01:00
TellowKrinkle
0ef469f3b5
Common:Vk: Load VK_EXT_calibrated_timestamps
2022-10-24 14:33:17 +01:00
TellowKrinkle
ea35619a78
Common: Add class for spinning GPUs
2022-10-24 14:33:17 +01:00
Connor McLaughlin
61de98d651
Vulkan: Support running surfaceless
2022-10-22 23:19:54 +01:00
Connor McLaughlin
bf2575c3c9
GL/ContextWGL: Fix running surfaceless
2022-10-22 23:19:54 +01:00
Connor McLaughlin
5647ca7f08
Qt: Add play time tracking based on serials
2022-10-22 11:08:23 +01:00
Connor McLaughlin
e7c4894833
Common: Add MemorySettingsInterface
2022-10-20 19:43:29 +01:00
Silent
633eb45011
vs: Enable Function Level Linking solution-wide and AVX2 for Common project
...
Shrinks the AVX2 Qt binary by ~2.3MB.
2022-10-20 12:10:17 +01:00
TellowKrinkle
1ac081ef4c
Common: Make GL::Context::Create use gsl::span
2022-10-16 19:24:45 -05:00
TellowKrinkle
a2c3050c51
Common: Formatting
2022-10-16 19:24:45 -05:00
Connor McLaughlin
48926a7ec4
x86/iR5900: Fix quadword stores on Linux
...
Linux counts vector and GPR registers separately for which register
they get passed in when calling functions.
Windows uses the argument position.
2022-10-16 14:41:33 +02:00
Connor McLaughlin
d446e40741
System: Remove/move out a bunch more leftover stuff from wx
...
The exceptions are particularly nasty, because there's nothing which
catches them.
2022-10-14 22:24:42 +01:00
Connor McLaughlin
00bcb4cf02
System: Revamp memory allocation
...
Guest memory is now mapped into a shared memory/file mapping, for use
with fastmem.
64-bit and 128-bit arguments are passed by register/value instead of by
reference/address.
LDL/LDR/SDL/SDR now use 64-bit GPRs instead of SSE.
2022-10-14 22:24:42 +01:00
Connor McLaughlin
92ad6f3baf
x86emitter: Fix missing W REX bit for movq reg, xmm
2022-10-14 22:24:42 +01:00
Connor McLaughlin
375c0a02bb
x86emitter: Add some AVX/AVX2 instructions and YMM registers
2022-10-14 20:54:39 +01:00
Connor McLaughlin
c379c833e4
Linux: Implement screensaver inhibit for X11
2022-10-03 11:55:31 +01:00
Connor McLaughlin
f63e1b3760
Qt: Implement screensaver inhibit
2022-10-03 11:55:31 +01:00
Connor McLaughlin
0419de4baf
Qt: Add RetroAchievements implementation
2022-10-01 00:00:02 +01:00
Connor McLaughlin
9c64193434
HTTPDownloader: Pass content type by reference
2022-10-01 00:00:02 +01:00
Connor McLaughlin
af646e4496
Common: Add StringUtil::ToChars() wrapper
2022-09-25 14:49:48 +02:00
Connor McLaughlin
f17a77c18e
Common: Add HTTPDownloader implementation
2022-09-17 17:51:14 +01:00
Connor McLaughlin
2b04f0b585
Path: Make sanitize routine follow OS rules
2022-09-17 17:51:14 +01:00
Connor McLaughlin
22ed71cef4
StringUtil: Add UTF-8 encode and decode
2022-09-17 17:51:14 +01:00
Connor McLaughlin
e0cb165927
LRUCache: Fix Evict() removing too many items
2022-09-09 21:21:14 +01:00
Connor McLaughlin
22e9aea827
Config: Fix frame rate being parsed ever-so-slightly off
...
Also converts from double to float, we don't need additional precision
for storing these values.
2022-09-09 21:21:14 +01:00
TellowKrinkle
0500824e57
GS:Vk: Change primitive_id enable to match the new meaning
...
A bit messy, due to the fact that its support piggybacks on support of other features, instead of having a dedicated feature flag
2022-09-06 21:07:56 +02:00
Connor McLaughlin
9cce6945e6
Common: Add Image and Easing classes
2022-08-29 13:39:09 +01:00
Connor McLaughlin
d466184a02
MTGS: Support 'running idle', i.e. redisplaying the current frame
2022-08-29 13:39:09 +01:00
Connor McLaughlin
9655d28a23
Common: Remove unused code
2022-08-27 13:52:12 +01:00
refractionpcsx2
93f4277b3c
UI-Files: Codacy fix codacy errors and warnings
2022-08-27 00:33:59 +01:00
Connor McLaughlin
be26c04dd1
Qt: Asynchronous loading of covers
2022-07-24 16:22:37 +01:00
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
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
TellowKrinkle
65e57a8230
iR5900: Use 64-bit math on x86-64
2021-09-22 12:47:49 +01:00
TellowKrinkle
e9518f78c7
vtlb: Switch read64 and read128 handlers to return in sse regs
2021-09-21 22:57:41 +01:00
Silent
f343614640
Target Windows 8 via project settings
...
It's needed for the next commit, as thanks to wxWidgets
anything using the precompiled header would default to 0x0600 (Vista)
instead of 0x0602 (Win8).
Now-redundant WINNT definitions resulting in macro redefinition
warnings have been removed.
2021-09-16 17:31:45 -04:00
Silent
ed62ae124b
Add Windows Implementation Libraries
2021-09-16 17:31:45 -04:00
kojin
77c961ba40
vs: fix an oversight
...
when I merged the utils and emitter project in #4707 I neglected to update the SVNRootDir macro so it was causing common libraries to not be written to the correct directory.
don't use this macro anymore so just remove it make output relative to solution dir instead
2021-09-13 20:51:58 -04:00
Ziemas
253571fd35
Delete unused vol_t type
2021-09-12 00:17:37 -04:00
Ziemas
8fe7a173cd
C++-ify Pcsx2Types
2021-09-12 00:17:37 -04:00
Ziemas
fc9beafc32
Change s8 typedef to int8_t
2021-09-12 00:17:37 -04:00
Kojin
19072b6595
common: move some gui stuff into the main project ( #4751 )
...
* common: move ThreadingDialogs and wxAppWithHelpers to main project
* common: move CheckedStaticBox to the main project
* common: move pxCheckBox to the main project
* common: move pxRadioPanel to the main project
* common: move pxEvents.h to main project
2021-09-11 10:59:14 -04:00
Ziemas
9832a935d7
Common: Fix IniInterface warnings
2021-09-07 09:33:09 -04:00
kojin
30e5731f14
common: fix locale oversight in IniInterface
2021-09-06 16:53:32 -04:00
Kojin
13dfceff48
Common: reformat ( #4720 )
...
* common: format AlignedMalloc.cpp
* common: format AppTrait.h
* common: format Assertions.h
* common: format CheckedStaticBox
* common: format Console
* common: format Dependencies.h
* common: format EmbeddedImage
* common: format EventSource
* common: format Exceptions
* common: format FastFormatString.cpp
* common: format General.h
* common: format InitInterface
* common: format MathUtils.h
* common: format MemsetFast/MemcpyFast
* common: format Mutex.cpp
* common: format PageFaultSource.h
* common: format Path.h
* common: format PathUtils.cpp
* common: format Pcsx2Types.h
* common: format Perf
* common: format PersistentThread.h
* common: format RwMutex
* common: format SafeArray
* common: format ScopedAlloc.h
* common: format ScopedPtrMT.h
* common: format Semaphore.cpp
* common: format StringHelpers
* common: format ThreadTools.cpp
* common: format Threading.h
* common: format ThreadingDialogs
* common: format ThreadingInternal.h
* common: format TraceLog.h
* common: format VirtualMemory.cpp
* common: format pxCheckBox
* common: format pxEvents.h
* common: format pxForwardDefs.h
* common: format pxRadioPanel
* common: format pxStaticText
* common: format pxStreams
* common: format pxTranslate.cpp
* common: format pxWindowTextWriter.cpp
* common: format wxAppWithHelpers
* common: format wxBaseTools.h
* common: format wxGuiTools
* common: format wxHelpers.cpp
* common: format Darwin directory
* common: format Linux directory
* common: format Windows directory
* common: format LnxCpuDetect.cpp
* common: format WinCpuDetect.cpp
* common: format bmi.cpp
* common: format cpudetect.cpp
* common: format cpu_detect_internal.h
* common: format fpu.cpp
* common: format groups.cpp
* common: format instructions.h
* common: format internal.h
* common: format jmp.cpp
* common: format legacy.cpp
* common: format legacy_instructions.h
* common: format legacy_internal.h
* common: format movs.cpp
* common: format simd.cpp
* common: format tools.h
* common: format x86emitter.cpp
* common: format x86types.h
* common: format bmi.h
* common: format dwshift.h
* common: format group1.h group2.h group3.h
* common: format incdec.h
* common: format jmpcall.h
* common: format movs.h
* common: format simd_arithmetic.h
* common: format simd_comparisons.h
* common: format simd_helpers.h
* common: format simd_moremovs.h
* common: format simd_shufflepack.h
* common: format simd_templated_helpers.h
* common: format test.h
2021-09-06 14:28:26 -04:00
kojin
7aa85960ba
common: add vs filters
2021-09-04 18:28:07 -04:00
kojin
dcbf62a294
common: add some stuff to the pch
2021-09-04 18:28:07 -04:00
kojin
42f2210f7f
common: remove unused pch
2021-09-04 18:28:07 -04:00
kojin
0717bf788a
common: fix cmake on linux/macos
2021-09-04 18:28:07 -04:00
kojin
831c8b9189
common: fix cmake on win32
2021-09-04 18:28:07 -04:00
kojin
8fdaaa2eab
common: reorganize
2021-09-04 18:28:07 -04:00
kojin
38f1a9a762
util: purge fixed-point library
2021-09-01 08:32:14 -04:00
kojin
681531d128
vs: enable mp on debug/devel builds
2021-08-29 19:51:24 -04:00
TellowKrinkle
e1bb96cc94
cmake: Windows dependency builds
2021-08-28 03:25:33 +01:00
Ziemas
5f3c1816f9
Cmake: Link vtune in utilities
2021-08-24 23:10:06 +02:00
arcum42@gmail.com
c3b45f3237
Remove MakeUnique.h, which is unused.
2021-08-24 04:33:46 -04:00
kojin
0bd65614d0
wx: make position validation multi-monitor aware
2021-08-18 13:40:45 -04:00
Mrlinkwii
0e3401da2c
Clang: LnxMisc.cpp
...
Clang: LnxMisc.cpp
2021-08-18 18:24:47 +02:00
Mrlinkwii
692adbd04a
Utilities : Return distro info instead of kernel version
...
Utilities: Return distro info instead of kernel version
Co-Authored-By: Ty <29295048+F0bes@users.noreply.github.com>
2021-08-18 18:24:47 +02:00
TellowKrinkle
7ed0f38623
CMake: Define targets early instead of gathering variables
2021-08-15 02:13:36 -04:00
RedDevilus
11c346ab02
PCSX2-GUI: Undo formatting
2021-08-13 23:10:24 +02:00
RedDevilus
3e1b76c0a9
PCSX2-GUI: Rehaul BIOS / Folder Selector ( #4620 )
...
Since emulation settings has been renamed general settings, we can put BIOS and Folder in the same location where people have an overview and can just use tab key on icons or mouse. Less confusion and also fixes the speedhacks section *for the zillionth time*.
2021-08-13 23:10:24 +02:00
Ty Lamontagne
f1b4bee88f
X86Emitter: Use __rdtsc define on non-msvc compilers
2021-08-07 00:57:22 -04:00
TellowKrinkle
c1e6773818
cmake: fix missing .h on header reference
...
Prevents cmake from bugging us about it
2021-08-05 03:00:43 -05:00
kojin
52b6ae0bc2
vs update project files with new build props
2021-07-19 17:05:52 -04:00
kojin
e293e96f00
vs: add base and avx2 build config props
2021-07-19 17:05:52 -04:00
TellowKrinkle
d8d69f2aa8
Misc: Move thread name setting to global function
...
Useful for things that don't want an entire pxthread
2021-07-19 22:01:41 +02:00
TellowKrinkle
c072c0e82b
cmake: Don't overwrite cmake default flags
...
Also makes sure we don't push our warning settings onto 3rd party libraries
2021-07-17 21:08:30 -05:00
TellowKrinkle
7bb3f41fdc
cmake: Drop X11 requirement on macOS
...
We don't actually benefit from it
2021-07-17 21:08:30 -05:00
TellowKrinkle
4213b4a409
cmake: Use imported targets
2021-07-17 21:08:30 -05:00
kojin
4eb5d2c5ed
vs: properly disable gm and warnings
2021-07-17 00:31:33 -04:00
TellowKrinkle
5bfd48c65c
cmake: Convert indentation to tabs
...
Previously was a random mix of tabs and spaces
2021-07-16 22:05:48 -05:00
Ty Lamontagne
178354099d
clang-format: WinMisc.cpp
2021-07-07 18:30:38 -04:00
Ty Lamontagne
d9cee7467f
Utilities: remove getversionex dependency
2021-07-07 18:30:38 -04:00
Ty Lamontagne
2101e17004
Misc: Suppress a warning regarding GetVersionEx
2021-07-05 22:08:48 +02:00
kojin
32c30ad9e4
vs: split target names for avx and avx2 builds
2021-07-03 18:16:11 -04:00
kojin
9814d442cd
vs: move the pcsx2 project
...
Move the pcsx2 project from pcsx2/windows/VCprojects/ to pcsx2/
This is to fix an issue that was causing the intermediate files to go to the wrong directory.
pcsx2/windows/VCprojects/Win32/Devel/../../GS/GS.o -> pcsx2/Win32/Devel/GS/GS.o
2021-07-03 18:16:11 -04:00
kojin
601241b2c7
vs: move the common props
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
727693248d
utilities: fix a few omissions when building on nopch
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
fef8dfd05b
gs-merge: make xbyak intrinsics includes scoped, avoid cross project linking with x86_intrin
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
5f0699d382
gs: xbyak and gs type incompat workarounds for the merge
2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
587a893a0e
gs-merge: remove initial plugin subsystem
2021-07-03 18:16:11 -04:00
Ty Lamontagne
fbffa1c7bc
Translations: Remove unnecessary warning regarding string length
2021-07-03 20:48:46 +02:00
Jonathan Li
dedd860d40
windows: Add utf-16 to utf-8 conversion function
2021-03-27 18:51:17 +00:00
Kojin
51253193e0
msbuild: fix libchdr include directory
...
I don't know what PublicIncludeDirectories is, it's not documented anywhere by MS.
Even if it doesn't fix the bot, it's at least consistent now.
2021-03-25 19:28:56 -04:00
SleepyMan
0599e675a0
CDVD: Add support for CHD format
2021-03-23 11:06:48 +00:00
Gauvain 'GovanifY' Roussel-Tarbouriech
dae36f59d2
gsdump: new freeze definition, the dump now gets correctly loaded in memory
2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
6840041ee6
gsdump: use correct plugin lifetime callbacks
2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
d579dc16f1
gsdump: dump fully parsed
2021-03-22 23:37:24 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech
e94b5f9e54
GSDump: initial implementation of the run feature
2021-03-22 23:37:24 -04:00
sonicfind
7b9c8634f4
Capture: Swap int return types with bool
...
Additionally fix SPU2 error message
2021-03-12 13:22:40 +00:00
sonicfind
c60cdbba07
Capture: Optimizations with filenames, audio, and capture mainFrame gui
...
*Resulting .wavs should get saved in the same location as the video file on linux
*Keep gui capture state consistent regardless of the method used to start recording
*Reworked mainFrame capture menu video options to route to a single toggleCapture_click function
*Split GS & SPU2 recording into start & end functions
2021-03-12 13:22:40 +00:00
Christian Kenny
e9e7974b15
Common: Remove obsolete/unused code
2021-02-23 00:28:53 +00:00
Romain TISSERAND
7acc51ef67
Fix Linux build not compiling afer commit a37e62337d
...
Missing include leads to wxTheApp macro not being defined and throw errors (GCC 10, Linux x86_64)
2021-02-21 21:04:46 +00:00