Stenzek
52feb1a37d
PostProcessing: Improve compile error reporting
2024-12-06 15:10:15 +10:00
Stenzek
c9c4307871
FileSystem: Android build fix
2024-12-06 15:10:15 +10:00
Stenzek
e9644c7eeb
ISOReader: Add file extraction helpers
2024-12-05 16:30:21 +10:00
Stenzek
fe3b4154b7
PostProcessing: Fix crash on UI open with OpenGL
2024-12-03 22:35:49 +10:00
Stenzek
84a1e209ea
OpenGLDevice: Lock pipeline cache on Linux
...
Prevents multiple processes from trampling on one another.
2024-12-03 17:35:07 +10:00
Stenzek
14ff89d0c0
MetalDevice: Fix incorrect pixel format for RGB5A1
2024-12-03 13:28:19 +10:00
Stenzek
e9848a6182
Misc: Collapse more niche log channels
2024-12-01 23:21:33 +10:00
Stenzek
9df59713da
GPUDevice: Put debug messages/scopes behind conditions
...
And completely compile them out in Release builds.
Gets Devel close to Release in terms of performance.
2024-12-01 23:21:33 +10:00
Stenzek
0faa9cf650
Build: Add Devel configuration
...
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek
7c627a8c83
Controller: Add JogCon
...
This is probably wrong, but I have no way of testing it with an actual
force feedback wheel.
PRs welcome to improve it further.
2024-12-01 21:17:54 +10:00
Stenzek
f9c125c1a1
InputManager: Add ForceFeedbackDevice interface
2024-12-01 21:08:52 +10:00
Stenzek
145ad2db27
GameList: Fix scanning of ELF files
2024-12-01 13:10:20 +10:00
Stenzek
fa4dc381ed
GPUDevice: Rename RGBA5551 to RGB5A1
...
And fix the incorrect format for Vulkan.
2024-11-30 14:36:07 +10:00
Stenzek
dfacf9e8db
VulkanDevice: Only create swap chain framebuffer without dynamic rendering
2024-11-30 01:09:41 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer
2024-11-29 20:13:37 +10:00
Stenzek
6cbfab6eca
MetalDevice: Warning fix
2024-11-29 17:13:21 +10:00
Stenzek
dac5dd562b
HTTPDownloader: Improve error reporting
...
Give something human-readable when an error occurs.
2024-11-29 14:00:55 +10:00
Stenzek
b97788a35a
PostProcessing/FX: Force native paths for includes
2024-11-27 13:18:11 +10:00
Stenzek
57595c47af
GPU/TextureCache: Move replacement cache onto the GPU
...
And enforce a maximum. Should sort out the upload spam.
2024-11-25 19:37:28 +10:00
Stenzek
4a650fcce2
GPUDevice: Fix VRAM usage calculation for compressed textures
2024-11-25 18:44:35 +10:00
Stenzek
982dccb990
D3D12Device: Clang warning fixes
2024-11-25 16:30:23 +10:00
Stenzek
ae14c8715d
Image: Support decompressing BC1-7
2024-11-24 23:29:29 +10:00
Stenzek
8567293103
Util: Add TextureDecompress
2024-11-24 23:29:29 +10:00
Stenzek
7eb1d4e092
GPUDevice: Support compressed textures
2024-11-24 23:29:29 +10:00
Stenzek
24dfd30839
Image: Refactor to a more generic class
2024-11-24 23:29:29 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps
2024-11-24 23:29:28 +10:00
Stenzek
e647192437
GPUDevice: Add compute shader support
2024-11-24 23:29:28 +10:00
Stenzek
c970740d12
InputManager: Workaround macro chord trigger issue
2024-11-24 21:54:43 +10:00
Stenzek
e987b56aae
Log: Remove unused ISOReader channel
2024-11-23 18:59:10 +10:00
Stenzek
5bcf99fc11
CDImage: Merge bin/ecm handling into one class
...
Means that cuesheets with ECM tracks will now load as expected.
2024-11-23 18:52:46 +10:00
Stenzek
5c03e1d940
Misc: Fix alignment errors on ARM32
2024-11-23 18:52:45 +10:00
Stenzek
5d8519897d
Image: Fix uninitialized read without SIMD
2024-11-23 18:52:45 +10:00
Stenzek
0079f7a285
CDImageCue: Support reading .wav files (WAVE cuesheet files)
2024-11-23 18:52:43 +10:00
Stenzek
ca9af62f92
FullscreenUI: Add a BP achievements login dialog
2024-11-20 13:44:39 +10:00
Stenzek
b59f9a1270
ImGuiManager: Plumb through clipboard access
2024-11-20 13:38:52 +10:00
Stenzek
81e2619e91
FullscreenUI: Add missing icon
2024-11-19 20:35:07 +10:00
Stenzek
ed78a20ea7
FullscreenUI: More icon replacements
2024-11-17 13:23:03 +10:00
Stenzek
725530984c
FullscreenUI: Move remaining OSD settings to main page
2024-11-16 22:03:58 +10:00
Stenzek
49a6ef7aca
FullscreenUI: Add icons to remaining options
2024-11-16 21:56:32 +10:00
Stenzek
854319441c
ImGuiFullscreen: Fix position resetting to top of list on popup close
2024-11-16 19:36:12 +10:00
Stenzek
d5e2db0dee
Misc: Fix new clang-cl warnings
2024-11-16 14:06:14 +10:00
Stenzek
49b669c8be
Qt: Make image verification cancellable
2024-11-16 14:01:44 +10:00
Stenzek
41a89123c9
VulkanDevice: Work around older NVIDIA driver present bug
2024-11-16 00:19:03 +10:00
Stenzek
c2316dfdc8
InputManager: Fix relative mode engaging for gun controllers
...
It still needs to activate when using raw input.
2024-11-14 00:17:28 +10:00
Stenzek
e69f0d3cce
OpenGLDevice: Support both XCB and Xlib
...
Required for NVIDIA+XWayland.
2024-11-11 20:12:26 +10:00
Stenzek
816ef45199
OpenGLDevice: Fix possible missing eglMakeCurrent() after FS
2024-11-11 20:12:23 +10:00
Stenzek
92bcf64fe8
VulkanDevice: Refactor present failure handling
...
Shouldn't deadlock anymore...
2024-11-10 17:52:12 +10:00
Stenzek
0234137be4
VulkanDevice: Use VK_EXT_surface_maintenance1
...
NVIDIA drivers return a minImageCount of 3 with the base surface query
capability, but require 4 images for XWayland in immediate present mode.
2024-11-10 17:52:12 +10:00
Stenzek
b70a8482bd
OpenGLDevice: More verbose logging of surface creation failure
2024-11-10 17:52:12 +10:00
Stenzek
2bf0838634
MetalDevice: Fix import of non-page-aligned buffers
2024-11-10 14:01:54 +10:00
Stenzek
a6c19cc90b
OpenGLContext: Compile fix on MacOS
2024-11-08 18:05:26 +10:00
Stenzek
c461ad7b44
D3D11Device: Ensure we don't drop to feature level 10 on query failure
2024-11-07 22:24:33 +10:00
Stenzek
886ef4cc59
WAVWriter: Add matching reader class
2024-11-06 13:46:48 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files
2024-11-05 17:54:12 +10:00
Stenzek
57ca5dd2c2
ImGuiFullscreen: Default input source to keyboard if none
2024-11-05 14:12:43 +10:00
Stenzek
f889136227
PostProcessing: Don't try other types after first failure
2024-11-05 13:26:32 +10:00
Stenzek
bcd5cd0027
GPU/ShaderGen: Fix debug assert tripping with fbfetch
2024-11-05 13:13:29 +10:00
Stenzek
bb740499a5
CDImageCHD: Show precaching in MB
2024-11-04 12:34:49 +10:00
Stenzek
8c4d595a89
Qt: Make input source selection non-inheritable
...
Makes sense to set this in the profile specifically,
given it is tied to devices.
2024-11-03 20:17:56 +10:00
Stenzek
6551358212
Log: Replace channel string search with bitset
...
Knocks off around ~20KB of code.
2024-10-31 14:41:33 +10:00
Stenzek
d24e8fda83
GPU/HW: Only enable fbfetch/DSB when needed
...
Thanks Adreno...
2024-10-30 15:19:10 +10:00
Stenzek
aa0c0068ce
GPU/HW: Move shadergen parameters to functions
2024-10-27 13:50:47 +10:00
Stenzek
080807e557
CDROM: Move subchannel replacement from CDImage
...
This will allow you to use SBI/LSD files with real discs, if your
drive does not support reading subchannels, or has an incorrect
skew.
2024-10-25 15:35:12 +10:00
Stenzek
a8d846ac8f
Cheats: Use libzip for reading archive
2024-10-22 21:25:27 +10:00
Stenzek
4963dc1759
Host: Make resource routines fill error object
2024-10-22 20:41:33 +10:00
Stenzek
3a76485e4b
CompressHelpers: Support XZ compression/decompression
2024-10-22 19:40:02 +10:00
Stenzek
164c043e1b
InputManager: Add pressure/deadzone to macros
...
Arguably less useful than on the PS2, but is still applicable
to the left/right analog sticks.
2024-10-22 19:39:56 +10:00
Stenzek
0d3501d435
Misc: Pass SettingsInterface by const reference
2024-10-20 23:59:47 +10:00
Stenzek
056b629837
ImGuiManager: Add 'Screen Margins' (i.e. safe zone)
2024-10-20 13:17:22 +10:00
Stenzek
41c709ef6f
CMake: Reference shaderc/spirv-cross unconditionally
...
Should fix build with Vulkan disabled.
2024-10-19 13:15:00 +10:00
Stenzek
854a109a0f
Qt: Qt 6.8 deprecation fixes
2024-10-18 22:25:31 +10:00
Stenzek
6dc2f0a60b
Host: Add 'Auxiliary Render Windows'
...
i.e. debugging windows
2024-10-18 20:48:30 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class
2024-10-18 20:48:29 +10:00
Stenzek
c6055affbf
OpenGLDevice: Fix invalidating pipeline cache on Windows
2024-10-18 20:48:29 +10:00
Stenzek
e0b6f6f1b2
Cheats: Rewrite cheat management system
2024-10-13 16:43:22 +10:00
Stenzek
38a331fde4
ImGuiFullscreen: Support loading SVGs
2024-10-11 22:52:11 +10:00
Stenzek
3e26b7ab73
Image: Support rendering SVGs
2024-10-11 22:52:11 +10:00
Stenzek
3d5503612b
Image: Span and Error-ify
2024-10-11 22:52:11 +10:00
Stenzek
8680900788
ImGuiFullscreen: Fix horizontal menu items getting clipped
2024-10-11 22:52:11 +10:00
Stenzek
83a1386d0b
FullscreenUI: Collapse macro button settings by default
2024-10-11 21:40:35 +10:00
Stenzek
7ce4c34936
VulkanDevice: Scissor rect should never be negative
2024-10-11 21:19:16 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
bd050ebb63
OpenGLDevice: Fix 16-bit texture uploads without PBOs
2024-10-01 22:02:27 +10:00
Stenzek
45c8f6ea56
BIOS: Make GetInfoForHash() public
...
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek
08fe20ad76
CMake: Add spirv-cross include path to util
2024-10-01 21:13:12 +10:00
Stenzek
060146a37a
CDROM: Add SubQ Skew option
...
Fixes corrupted boss sprites in Captain Commando.
One day I'll refactor things to fix this properly.
2024-09-29 17:11:52 +10:00
Stenzek
73fd97e770
GPUTextureCache: Fix reload replacements hotkey/menu action
2024-09-29 16:13:31 +10:00
Stenzek
d32143b319
ImGuiOverlays: Make escape close save state selector
2024-09-29 15:29:40 +10:00
Stenzek
7d8ae9aa11
Packaging: Add SPEC and PKGBUILD
2024-09-28 22:07:14 +10:00
Stenzek
4d74b203af
System: Don't try to read SYSTEM.CNF from Audio CD
2024-09-26 13:39:01 +10:00
Stenzek
d67b826033
CI/Flatpak: Improve install behaviour
...
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek
3dca598063
Log: Switch to enum class
...
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD
2024-09-21 22:26:05 +10:00
Stenzek
e056bcb5ff
AudioStream: Fix incorrect padding
2024-09-21 22:26:05 +10:00
Stenzek
96ece5de1c
SmallString: MSVC warning fix
2024-09-19 22:25:35 +10:00
Stenzek
350cf7ee32
GPUDevice: Use suffixed shaderc libname
...
Avoids conflicts with other installations of shaderc, e.g. the Vulkan
SDK, which might be in the user's LD_LIBRARY_PATH.
2024-09-13 23:05:01 +10:00
Stenzek
e17eaf77dd
ImGuiFullscreen: Disable border animation when smooth scrolling is off
2024-09-13 21:14:07 +10:00
Stenzek
d330dca38a
MetalDevice: Use CocoaTools methods
2024-09-13 19:52:09 +10:00
Stenzek
d981dc7471
MetalDevice: Implement pipeline cache
2024-09-13 19:26:44 +10:00
Stenzek
ad67ab7ec3
MetalDevice: Use TranspileAndCreateShaderFromSource()
2024-09-13 17:31:59 +10:00
Stenzek
6f31e562a0
MetalDevice: Implement timed present
2024-09-13 15:19:29 +10:00
Stenzek
ddcb0cb541
Misc: Warning fixes
2024-09-10 23:53:27 +10:00
Stenzek
20b4581bbe
Settings: Remove second source of truth for OSD notifications
...
And split it into warnings/messages. Warnings are always displayed
regardless of the "Show OSD Messages" setting, because they're critical
and users forget they disable messages.
2024-09-10 22:10:42 +10:00
Stenzek
6c3f33804f
ImGuiFullscreen: Fix whole menu being unscrollable
...
If the first/last menu items were not enabled, e.g. settings pages
2024-09-09 21:37:52 +10:00
Stenzek
891d5cefbe
ImGuiFullscreen: Allow smooth scrolling
2024-09-09 21:57:08 +10:00
Stenzek
7bcdf11240
MediaCapture: Fix audio timestamp drift
...
Fixes capture lag after approximately 10 minutes.
2024-09-09 17:27:22 +10:00
Stenzek
de551c1836
D3D12Device: Fix crash when using media capture
2024-09-09 17:27:10 +10:00
Stenzek
559aff0ad5
D3D12Device: Use DXC and 12.0 feature level
2024-09-09 00:23:30 +10:00
Stenzek
4c31218d2b
GPUDevice: Add API version field
...
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2024-09-08 23:33:05 +10:00
Stenzek
c42fb7c16e
GPUDevice: Support ingesting SPIR-V
...
Will be transpiled to HLSL -> DXBC for DirectX backends.
2024-09-08 22:11:58 +10:00
Stenzek
6a5f16d89a
VulkanDevice: Handle rare case of unaligned SPIR-V
2024-09-08 21:55:51 +10:00
Stenzek
432fd80f3d
PostProcessing/FX: Use SPIR-V instead of GLSL for Vulkan
2024-09-08 19:43:18 +10:00
Stenzek
86bff869bc
dep/reshadefx: Update to 7bdfb03
2024-09-08 19:19:58 +10:00
Stenzek
af777c16ff
MediaCapture: Log video size
2024-09-07 20:19:07 +10:00
Stenzek
1b2ff7e0e8
CDImage: Support reading MODE1 sectors
2024-09-07 16:05:43 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
...
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device
2024-09-07 12:48:44 +10:00
Stenzek
1c1b82ed66
GPUDevice: Purge threaded presentation
...
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:42 +10:00
Stenzek
ab1c85790c
CPU: Refactor execution mode switching
...
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:00:30 +10:00
Stenzek
4c59513c79
GPUDevice: Fix pipeline cache loading
...
(again)
2024-09-06 18:00:00 +10:00
Stenzek
129df8410e
PostProcessing/FX: Log pipeline creation error description
2024-09-03 23:28:27 +10:00
Stenzek
a53dc85035
GPUDevice: Fix initial pipeline cache not being created
2024-09-03 22:45:42 +10:00
Stenzek
a7d8e6d018
Host: Add disambiguation variants for translations
2024-09-03 21:39:00 +10:00
Stenzek
060c5553c0
INISettingsInterface: Use FileSystem atomic update routines
2024-09-03 20:43:42 +10:00
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2
2024-09-03 17:54:43 +10:00
Stenzek
4c51337edd
ImGuiManager: Don't rasterize full glyph range for debug font
2024-09-02 12:37:58 +10:00
Stenzek
51cfea49fe
ImGuiManager: Split OSD and debug window fonts
...
Fixes the latter not fitting on screen anymore.
2024-09-02 00:27:48 +10:00
Stenzek
88ee70ef8a
Misc: Remove unused files
2024-09-01 23:17:17 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
3fbdcdb4ff
AudioStream: Rewrite and integrate expander
2024-09-01 13:16:10 +10:00
Stenzek
ac139d96f1
CDImage/ECM: Use EDC/ECC functions from libchdr
2024-09-01 19:43:39 +10:00
Stenzek
542ef3a6c0
GPUDevice: Warning fix
2024-08-26 21:37:29 +10:00
Stenzek
667d1bf7c8
GPUDevice: Use CompressHelpers
...
And compress the pipeline cache. Saves a fair bit of disk space.
2024-08-26 21:33:28 +10:00
Stenzek
ae2e79f401
Util: Add CompressHelpers
2024-08-26 21:27:30 +10:00
Stenzek
2c27b20090
ImGuiManager: Remove unused function
2024-08-26 18:53:30 +10:00
Stenzek
63bf64b05d
ImGuiOverlays: Use actual recording icon
2024-08-26 18:55:15 +10:00
Stenzek
05c7e6009c
InputManager: Don't set key down for binds when ImGui has focus
...
Fixes unpausing etc when alt-tabbing.
2024-08-26 17:57:28 +10:00
Stenzek
940200f7f3
FullscreenUI: More animation fixes
2024-08-26 17:56:47 +10:00
Stenzek
344a4a6215
FullscreenUI: Navigation improvements
...
Improve default item focus, eliminate some animation glitches.
2024-08-26 15:47:50 +10:00
Stenzek
e54c4c8101
ImGuiManager: Tweak OSD message size
2024-08-26 14:41:58 +10:00
Stenzek
7a05d5aca5
Achievements: Reset focus when opening windows
2024-08-26 14:21:09 +10:00
Stenzek
b04f721d55
Achievements: Use plural form for points
2024-08-26 14:07:07 +10:00
Stenzek
c9f5cfc1bc
Host: Add TranslatePluralToSmallString()
2024-08-26 14:06:57 +10:00
Stenzek
a7f3d7b02d
ImGuiManager: Add CompactFontRange()
2024-08-25 23:39:14 +10:00
Stenzek
e8b787fb57
Misc: Change various icons
2024-08-25 23:17:05 +10:00
Stenzek
f30844cc40
ImGuiManager: Move glyph ranges to separate file
2024-08-25 22:52:21 +10:00
Stenzek
f37a97bf18
Host: Add ReadCompressedResourceFile()
2024-08-25 17:48:12 +10:00
Stenzek
707453b596
FileSystem: Swap vector for DynamicHeapArray
...
No point zeroing it out.
2024-08-25 22:13:18 +10:00
Stenzek
b378ffb975
ImGui: Enable lunasvg
2024-08-25 14:39:59 +10:00
Stenzek
f2c0303875
Misc: Use lightgun controller icon
2024-08-25 13:57:05 +10:00