738 Commits

Author SHA1 Message Date
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
Stenzek
096a0811bf
dep/imgui: Bump to v1.91.0 2024-08-25 18:17:45 +10:00
Stenzek
72fc81a705
CMake: Add install target
Do **not** use this with /usr or /usr/local. It creates subdirectories
for resources/translations in the install prefix.

It's intended for creating a relocatable, self-contained bundle, which
can be packaged.
2024-08-12 18:49:28 +10:00
Stenzek
873b540b82
Deps: Switch to libjpeg-turbo 2024-08-24 18:08:15 +10:00
Stenzek
96b8e53fbf
Deps: Bump shaderc 2024-08-24 18:08:53 +10:00
Stenzek
9dd83c4f9f
InputManager: Remove unused pointer type 2024-08-24 14:23:32 +10:00
Stenzek
f0deab2131
InputManager: Fix wheel scrolling in Big Picture 2024-08-24 14:15:27 +10:00
Stenzek
bda6869084
Qt: Implement per-game controller configuration 2024-08-24 14:10:25 +10:00
Stenzek
9e3507e0f4
InputManager: Support multiple mice via raw input
Only on Windows for now.
2024-08-23 22:31:59 +10:00
Stenzek
417c1e43dd
MediaCapture: Load media foundation on-demand
Saves loading a few megabytes worth of DLLs for a feature most users are
not going to use.
2024-08-23 15:41:54 +10:00
Stenzek
6dd29eb88f
VulkanDevice: Fix incorrect log 2024-08-20 11:54:16 +10:00
Stenzek
aa9a5e383d
ImGuiOverlays: Change icon colour depending on controller mode 2024-08-18 20:30:45 +10:00
Stenzek
3175214c92
MediaCapture: Fix MP3 audio encoding 2024-08-18 15:52:54 +10:00
Stenzek
b274bf4d57
System: Switch to new capture file on video FPS change 2024-08-18 12:34:25 +10:00
Stenzek
f5815f3183
ImGuiFullscreen: Display checkmark on right of choice dialog 2024-08-13 18:09:30 +10:00
Stenzek
05f9f33ec6
ImGuiFullscreen: Fix choice popup selected drawing over border 2024-08-13 18:09:30 +10:00
Stenzek
13a37418e6
FullscreenUI: Fix popup close resetting window scroll 2024-08-13 18:09:30 +10:00
Stenzek
f48d3b4636
CMake: Copy FFmpeg dylibs into Mac bundle 2024-08-12 22:17:45 +10:00
Stenzek
da4b5df656
MediaCapture: Add FFmpeg backend 2024-08-12 16:29:03 +10:00
Stenzek
8ad912c340
MediaCapture: Handle BGRA for MediaFoundation 2024-08-12 15:20:32 +10:00
Stenzek
422a0a0ead
MediaCapture: Fix OpenGL capture 2024-08-12 14:48:21 +10:00
Stenzek
62eb557832
MediaCapture: Warning fix 2024-08-11 23:50:37 +10:00
Stenzek
af47eb6956
System: Add video capture feature 2024-08-11 21:06:58 +10:00
Stenzek
5f8082734e
VulkanDevice: Fix download inside render pass 2024-08-11 20:44:16 +10:00
Stenzek
8295fd9c3a
GPUDevice: Fix debug assertion tripping in Vulkan 2024-08-10 14:05:30 +10:00
Stenzek
b72e622ae0
CubebAudioStream: Remove leftover field 2024-08-10 13:15:55 +10:00
Stenzek
34df233a95
VulkanDevice: Enable VK_KHR_maintenance4 and 5 2024-08-10 12:33:01 +10:00
Stenzek
010c7dea33
dep: Bump vk_mem_alloc to 871913d 2024-08-10 12:21:51 +10:00
Stenzek
4f16cb61b4
GPUDevice: Expose swap chain clear colour 2024-08-06 17:35:27 +10:00
Stenzek
efc821bc84
VulkanDevice: Fix incorrect condition in UnbindTexture() 2024-08-06 15:32:40 +10:00
Stenzek
79bb5f079c
GPUDevice: Fix SPIRV-Cross load error on Mac 2024-08-05 01:12:17 +10:00
Stenzek
6e795c8977
CMake: Fix duplicate SPIRV-Cross library on MacOS 2024-08-05 00:05:03 +10:00
Stenzek
a2f98541b3
Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
Stenzek
143acca03b
Core: Purge resources.cpp
Save around 64KB in binary size.
2024-08-04 14:13:15 +10:00
Stenzek
5b590d434b
D3D11Device: Fix blend state not applying to MRTs 2024-08-03 02:06:20 +10:00
Stenzek
30c5ebae72
GPUDevice: Fix instances of RWTexture not clearing 2024-08-03 02:05:21 +10:00
Stenzek
7cbd67ecf1
MSBuild: Remove redundant include 2024-08-03 01:19:04 +10:00
Stenzek
3a83c4265c
Misc: Fix a bunch of code analysis warnings
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
Stenzek
4eb3b2a9a7
dep: Remove soundtouch 2024-08-02 21:59:57 +10:00
Stenzek
6d70d24bc4
AudioStream: Swap to shared soundtouch library
Yay licensing requirements.
2024-08-02 21:49:19 +10:00
Stenzek
410cea0f12
PostProcessing/FX: Use ToChars instead of to_string()
More locale mess.
2024-07-29 20:38:55 +10:00
Stenzek
0321a2cdc4
Common: Purge ByteStream 2024-07-29 17:27:32 +10:00
Stenzek
6ce9e571ed
Misc: Purge remaining ByteStream references 2024-07-29 17:27:32 +10:00
Stenzek
a6518ff9dc
System: Rewrite save state I/O
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +10:00
Stenzek
b6b0997e70
Build: Favor git repositories over in-tree patches
Too messy.
2024-07-28 19:06:18 +10:00
Stenzek
3282366ea7
PostProcessing/FX: Preserve option declaration order 2024-07-26 15:34:49 +10:00
Stenzek
e455a5e371
ImGuiFullscreen: Fix incorrect notification width 2024-07-26 14:16:23 +10:00
Stenzek
0f4af03730
CMake: FreeBSD build fix
cpuinfo is still broken, will fix that another day.
2024-07-24 01:28:28 +10:00
Stenzek
5ec9c8a397
CDROM: Fix handling of 8-bit ADPCM and decoder overruns
Fixes pops in menu music in Simple 1500 Series Vol. 92 - The Tozan
RPG - Ginrei no Hasha.

I haven't seen anything that _properly_ uses 8-bit ADPCM yet. The above
game does, but only in the inaudible portion of the start of the track.
2024-07-23 21:54:22 +10:00
Stenzek
5e8870ec69
D3D12: Avoid redundant render pass restarts 2024-07-23 21:11:01 +10:00
Stenzek
2a617c505a
GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
Stenzek
1006fa00da
GPUDevice: Add support for Raster Ordered Views 2024-07-23 14:46:06 +10:00
Stenzek
ba6b65401d
GPUDevice: Improve pipeline error reporting 2024-07-22 15:43:06 +10:00
Stenzek
deed0c9713
GameDatabase: Merge compatibility messages 2024-07-22 14:59:55 +10:00
Stenzek
fe55446c25
ImGuiManager: Fix stutter when multiple OSD messages lapse 2024-07-22 14:59:55 +10:00
Stenzek
ad374ef5e2
Sockets: Use epoll on Linux 2024-07-21 16:10:39 +10:00
Stenzek
78800870bc
Sockets: Properly handle POLLHUP events
Stops client socket leaking.
2024-07-21 16:10:39 +10:00
Stenzek
6b78364eab
Sockets: Ignore SIGPIPE on Linux
Stops our process terminating if the socket is disconnected
mid-write.
2024-07-21 16:10:39 +10:00
dreamsyntax
d9ada75d4f
Qt: Toggle for DualSense Player LED (#3254) 2024-07-21 16:07:36 +10:00
Stenzek
cc667cd88c
Sockets: Add SetNagleBuffering() 2024-07-21 13:43:14 +10:00
Stenzek
4f7ddfaae6
TimingEvents: Remove pointer indirection
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
Stenzek
7217536fdd
MD5Digest: Span-ify 2024-07-19 15:51:25 +10:00
Stenzek
6176a21ff1
ProgressCallback: Eliminate redundancy and drop C format strings 2024-07-19 15:51:25 +10:00
Stenzek
ca2a8f1e1f
Host: Purge C format string error overloads 2024-07-19 13:45:33 +10:00
Stenzek
00ccea84b8
GPUDevice: Replace remaining StdStringFromFromFormat() with fmt 2024-07-19 13:44:09 +10:00
Stenzek
154a5b35b8
CDImageCHD: Refactor mode conversion to string_view
Incorrect length found by PVS-Studio.
2024-07-14 21:29:57 +10:00
Stenzek
df979d4648
Build: Fix DiscordRPC not being included in Mac bundle 2024-07-14 21:25:26 +10:00
Stenzek
ff77bd029f
ImGuiFullscreen: Don't upload failed-loaded images 2024-07-14 00:01:06 +10:00
Stenzek
afea18f65e
Image: Fix crash loading corrupted/invalid JPEG files 2024-07-14 00:00:48 +10:00
Stenzek
6f50e12ea2
PostProcessing/FX: Remove debug shader dump 2024-07-07 12:46:09 +10:00
Nik Chizhov
e4470a9929 fix: out-of-border access 2024-07-07 12:45:49 +10:00
Stenzek
1fd8d2701d
Sockets: Add HasAnyClientSockets() 2024-07-06 21:56:30 +10:00
Stenzek
9a70003b70
MSBuild: Silence MSVC warning C4324 2024-07-06 19:45:16 +10:00
Stenzek
3749b812a3
GPUDevice: Add ExecuteAndWaitForGPUIdle() 2024-07-04 21:54:19 +10:00
Stenzek
9fcc98a60a
InputSource: Explicitly construct binding key 2024-07-04 21:40:32 +10:00
Stenzek
f6d3a7987d
System: Load discord-rpc dynamically 2024-07-04 15:52:32 +10:00
Stenzek
00d2d862c2
Build: Use shared discord-rpc 2024-07-04 15:52:32 +10:00
Stenzek
4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits 2024-07-04 13:25:27 +10:00
Stenzek
7927ec647f
Qt: Fix a couple of instances of inconsistent sorting 2024-07-04 13:25:26 +10:00
Stenzek
d178853392
PostProcessing/FX: Fix incorrect draw rect 2024-07-04 00:32:22 +10:00
Stenzek
3c230ba1bf
PlatformMisc: Swap include order for Mac 2024-07-03 16:04:05 +10:00
Stenzek
29533650a8
MetalDevice: Rectangle -> GSVector4i 2024-07-03 15:54:32 +10:00
Stenzek
9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle 2024-07-03 15:44:12 +10:00
Stenzek
faa151d5ad
CDImageCHD: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek
0654b2dc43
AudioStream: Use GSVector 2024-07-03 00:24:12 +10:00
Stenzek
173a61039c
System: Use cpuinfo for cache line size check 2024-07-03 00:24:12 +10:00
Nikolai Chizhov
037519936a
GL/ContextEGL: Fix red_size to blue_size (#3238) 2024-07-01 00:28:05 +10:00
Stenzek
9b42ad3859
CPU/CodeCache: Purge JitCodeBuffer 2024-06-30 16:45:51 +10:00
Stenzek
be8fbafd71
CPU/CodeCache: Always dynamically allocate code buffer
Reduces .bss size.
2024-06-30 16:45:51 +10:00
Stenzek
34d5cdec96
GPU/HW: Expose depth buffer to internal postprocessing 2024-06-29 14:25:36 +10:00
Stenzek
d8bd35e8d6
GPUDevice: Add D24S8/D32F/D32FS8 types 2024-06-29 13:09:45 +10:00
Stenzek
3f25db79b8
D3D11Device: Make depth targets sampleable 2024-06-29 13:09:45 +10:00
Stenzek
1cb3e6bd49
ShaderGen: Support multiple render target output 2024-06-29 13:09:45 +10:00
Stenzek
0c3cf1f5f8
PostProcessing: Split into internal and display chains 2024-06-28 20:17:15 +10:00
Stenzek
8c72fd57f1
GPUDevice: Disable SPIR-V optimization on GLSL output
SSO causes SPIRV-Cross to redeclare builtins, which we don't want
(breaks on Mesa).
2024-06-28 13:52:01 +10:00
Stenzek
ebf50edb79
System: Allocate JIT space before fastmem area
On Intel MacOS 14, the fastmem area gets allocated close to the
executable base, leaving no region free +/- 2GB for the JIT area.
2024-06-26 17:11:27 +10:00
Stenzek
6bfd862cb3
GPUDevice: Fix transpiled interface linking with OpenGL 2024-06-23 23:39:56 +10:00
Stenzek
1797050f97
VulkanDevice: Release swap chain images on resize 2024-06-23 16:17:31 +10:00
Stenzek
966cce1581
Postprocessing: Sort shader list lexiographically 2024-06-23 13:20:47 +10:00
Stenzek
ea3fa7fe3d
Postprocessing/FX: Fix locating shaders in subdirectories 2024-06-23 13:20:47 +10:00
Stenzek
70d7d4ab67
MSBuild: Enable Vulkan on Windows ARM64
Apparently there are drivers now/in the works.
2024-06-17 17:13:23 +10:00
Stenzek
e9a47233f7
GPUDevice: Compile warning fix 2024-06-16 20:49:30 +10:00
Stenzek
54097fc14e
Postprocessing/FX: Expose 'viewportoffset' uniform 2024-06-16 00:00:01 +10:00
Stenzek
964b94960e
Postprocessing/FX: Ensure RT isn't bound as sampler
Prevents possible Vulkan spec violation in some shaders.
2024-06-15 23:55:33 +10:00
Stenzek
ef69c31e9f
GPUDevice: Support transpiling shaders at compile time
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
Stenzek
d51b880052
Postprocessing/FX: Fix incorrect pixel size uniforms 2024-06-14 00:38:08 +10:00
Stenzek
facce0d8cb
PostProcessing: Expose aspect-correct pixel sizes
That consider the display aspect ratio/padding when sampling pixels in
the input (window size).
2024-06-11 23:32:19 +10:00
Stenzek
354b250642
PostProcessing: Add native width/height inputs
Available in GLSL as GetNativeSize(), GetUpscaleMultiplier(), and in
reshade as native_width/native_height/upscale_multiplier.

GetPaddedOriginalSize() is now deprecated, as it does not make since
since the postfx shader runs with a window-sized off-screen target as an
input, not the internal render texture.
2024-06-11 14:04:45 +10:00
Stenzek
bac2ac0151
FullscreenUI: Fix incorrect padding calculation in pause menu
Fixes scrollbars appearing in menu.
2024-06-11 13:12:37 +10:00
Stenzek
f41c238c53
VulkanDevice: Disable VK_KHR_dynamic_rendering_local_read on AMD
Like everything else on RDNA3, it appears to be broken and causes GPU
hangs/resets.
2024-06-10 17:44:10 +10:00
Stenzek
0675716162
D3D11Device: Fix redundant SRV set on RT change 2024-06-07 12:07:58 +10:00
Stenzek
723af4de3a
Misc: Loading old save state versions is unlikely 2024-05-31 18:48:26 +10:00
Stenzek
f1465ddf43
Memmap: Use Mach VM routines for memory mapping 2024-05-29 22:49:32 +10:00
Stenzek
619688a135
Qt: Add per-bind sensitivity/deadzone controls (shift-click) 2024-05-28 18:17:46 +10:00
Stenzek
015804c434
System: Move GDB server into core 2024-05-27 00:18:05 +10:00
Stenzek
4e905a63ec
Util: Add socket helper classes 2024-05-26 22:20:29 +10:00
Stenzek
0240ea8b49
PageFaultHandler: Simplifications 2024-05-25 17:42:12 +10:00
Stenzek
547587af11
D3D11Device: Don't spin on CPU when GPU results aren't available 2024-05-25 16:13:05 +10:00
Stenzek
1565a2667d
Misc: More format string fixes 2024-05-25 15:48:31 +10:00
Stenzek
0f536b8680
VulkanSwapChain: Always allocate cmdbuffers+1 semaphores 2024-05-25 13:32:57 +10:00
Stenzek
e6d8f0d4a0
GPUDevice: Use FIFO for D3D exclusive fullscreen 2024-05-25 13:15:40 +10:00
Stenzek
a7f2ad37de
InputManager: Fix exit menu button forwarding to game 2024-05-24 22:52:13 +10:00
Stenzek
0f9a255093
System: Fallback to FIFO on AMD (no mailbox support) 2024-05-24 22:48:26 +10:00
Stenzek
98520978a8
System: OSD message corrections 2024-05-24 22:13:35 +10:00
Stenzek
42a5fe0a6e
GPU: Further improve vsync handling 2024-05-24 02:33:33 +10:00
Stenzek
4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek
792717e03e
Misc: Get rid of format string for result logging 2024-05-24 00:30:06 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek
6cad97b404
GPUDevice: Make vsync actually tear-free
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
Stenzek
14ba3b7312
System: Fix sync to host refresh audio stretching 2024-05-22 22:32:51 +10:00
Stenzek
d9cc80c7f9
WindowInfo: Get refresh rate from monitor config
DwmGetCompositionTimingInfo() returns a noisy refresh rate, at least on
Win11 22H2.
2024-05-22 22:16:31 +10:00
Stenzek
be0b86cef2
CDImageDevice: Implement disc reading for MacOS 2024-05-20 01:12:33 +10:00
Stenzek
c057e91825
CDImage: Open all image types as shared files 2024-05-17 14:42:37 +10:00
Stenzek
35bdbf2a55
System: Check host page size on startup 2024-05-16 17:37:23 +10:00
Stenzek
c53717bbe4
System: Rewrite input profile hotkey priority logic 2024-05-16 16:53:13 +10:00
Stenzek
0a38c0889e
AudioStream: Improve >100% volume output quality 2024-05-15 22:11:47 +10:00
Stenzek
f0a4ceb909
InputManager: Add push to toggle for macros 2024-05-15 21:17:26 +10:00
Stenzek
7abcdf2b59
VulkanDevice: Fix double unload 2024-05-15 20:31:04 +10:00
Stenzek
8e3284d8c6
Vulkan: Simplify loader using DynamicLibrary 2024-05-15 00:50:25 +10:00
Stenzek
b204fd6860
Qt: Fix Mac dylib not being included 2024-05-14 20:08:53 +10:00
Stenzek
18160a8e06
Qt: Add option to pause when controller is disconnected 2024-05-14 16:00:09 +10:00
Stenzek
d056584173
Deps: Update shaderc to 2024.1 2024-05-14 16:00:09 +10:00
Stenzek
f3aec0c965
Host: Re-introduce plural translation support 2024-05-13 01:46:45 +10:00
Stenzek
03f9708911
GPUDevice: Move SPIR-V compilation to base class 2024-05-13 00:06:56 +10:00
Stenzek
522c2e3458
FullscreenUI: Use native file selector on Flatpak 2024-05-12 20:28:20 +10:00
Stenzek
37a76a020a
FullscreenUI: Add horizontal padding to menu windows 2024-05-12 18:14:51 +10:00
Stenzek
69e0c1681c
FullscreenUI: Correct pixel alignment of some UI elements
Fixes scrollbars showing up at some window sizes.
2024-05-12 17:57:18 +10:00
Stenzek
864b0ad5fe
Qt: Save audio output latency value separately to minimal flag 2024-05-12 17:36:15 +10:00
Stenzek
c803c4fbef
Qt: Fix incorrect minimum latency display 2024-05-12 17:09:03 +10:00
Stenzek
7bb8cbcbaa
D3D12Device: Fix pipeline cache load error after device change 2024-05-12 15:24:01 +10:00
Stenzek
72607ecdf6 ShaderGen: Fix compile error with Metal+Barriers 2024-05-09 13:52:18 +10:00
Stenzek
fa104acdd1
Misc: Purge unused code and report startup error to host 2024-05-05 22:29:26 +10:00
Stenzek
ca3cfbaa99
Misc: Pass string_view by value 2024-05-05 22:28:29 +10:00
Stenzek
d6e80de3bf
Qt: Add default option for cubeb driver 2024-05-05 12:51:31 +10:00
Stenzek
e3b0050ca1
GPU/HW: Fix shader sampling with MSAA on 2024-05-03 13:24:32 +10:00
Stenzek
6a02f9c67b
VulkanDevice: Fix possible null descriptor set with feedback loop 2024-04-30 21:34:08 +10:00
Stenzek
cbe95b281a
VulkanDevice: Backport buggy NVIDIA driver workarounds from PCSX2 2024-04-30 21:34:02 +10:00
Stenzek
d094978214
Justifier: Add controller implementation 2024-04-28 15:25:24 +10:00
Stenzek
5d20f4514d
PostProcessing: Use ShaderGen GLSL version string 2024-04-28 15:25:24 +10:00
Stenzek
295081fe62
Misc: Replace offsetof with constexpr-friendly OFFSETOF
Fixes build with clang-18.
2024-04-28 15:25:24 +10:00
Stenzek
dc84c58c7c
D3D11Device: Fix GPU usage without vsync 2024-04-28 15:25:24 +10:00
Stenzek
1fbb848c52
Misc: Add gstreamer fallback to PlaySoundAsync() 2024-04-26 20:49:45 +10:00
Stenzek
1cdfca155d
Qt: Clean and remove empty game settings 2024-04-25 14:02:16 +10:00
Stenzek
7548113afd
System: Move COM init to common code 2024-04-25 12:56:02 +10:00
Stenzek
425235fd31
INISettingsInterface: Fix file leak on Linux 2024-04-25 02:17:33 +10:00
Stenzek
4139bf63d8
AudioStream: Backport changes 2024-04-25 01:13:51 +10:00
Stenzek
0fbc1a3a8a
AudioStream: Add surround expansion via FreeSurround 2024-04-21 23:30:46 +10:00
Stenzek
8867bb129a
CMake: Tidy up build system
And fix Windows CMake... who knows how long for.
2024-04-20 21:19:31 +10:00
Stenzek
8e9e855747
CDImageM3u: Fix forward slash entries on Windows 2024-04-18 20:38:35 +10:00
Stenzek
a5a72cd7ec
AudioStream: Fix a couple of errors in ReadFrames() resampler 2024-04-17 00:49:44 +10:00
Stenzek
4d8ed49b24
FullscreenUI: Fix gaps between some UI elements
By rounding sizes up to the nearest pixel.
2024-04-16 15:40:31 +10:00
Stenzek
4e0c417add
FullscreenUI: Add "Open Containing Directory" 2024-04-16 12:49:54 +10:00
Stenzek
5f915e1cbe
MetalDevice: Use shared SPIRV-Cross 2024-04-14 17:25:23 +10:00
Stenzek
e9107bd140
VulkanDevice: Add env var for non-semantic debug info
Backport of 070068366f
2024-04-14 17:25:23 +10:00
Stenzek
c149d66d4d
System: Add 'Reduce Input Latency' option
i.e. pre-frame sleep.
2024-04-13 19:57:25 +10:00
Stenzek
6258cb9e0e
FullscreenUI: Various minor bug fixes 2024-04-13 19:57:25 +10:00
Stenzek
f4fef36eba
MetalDevice: Use shader to clear current depth target 2024-04-12 21:07:16 +10:00
Stenzek
e5a024ba85
MetalDevice: Add support for framebuffer fetch 2024-04-12 21:07:16 +10:00
Stenzek
e646096180
VulkanDevice: Fix validation errors 2024-04-11 22:53:02 +10:00
Stenzek
7344661801
GPUDevice: Split submission and presentation 2024-04-11 22:53:02 +10:00
Stenzek
509a8a074c
GPUDevice: Remove unused file 2024-04-11 21:33:40 +10:00
Stenzek
88270771da
System: Combine VRR and Optimal Frame Pacing
GSync/FreeSync display users should:
 - DISABLE VSync.
 - ENABLE Optimal Frame Pacing.
2024-04-11 21:33:40 +10:00
Stenzek
2ad67ad3ee
OpenGLContext: Add SupportsNegativeSwapInterval() 2024-04-11 20:31:57 +10:00
Stenzek
7b93edada1
Qt: Purge controller bind migration
About a year and a half is long enough.
2024-04-11 20:09:52 +10:00
Stenzek
57f6bda59b
ImGuiFullscreen: Use popup background for all popups 2024-04-11 13:50:04 +10:00
Stenzek
1b1e42d003
System: Add Error to boot/load/save state 2024-04-11 13:42:10 +10:00
Stenzek
44a4f2703a
ImGuiFullscreen: Add popup background colour 2024-04-11 12:44:33 +10:00
Stenzek
440a1700c0
System: Interrupt execution when loading state and reset 2024-04-10 20:18:30 +10:00
KamFretoZ
bbd7c9e2a9
BPM: Light Mode color scheme update (#3161) 2024-04-10 18:20:25 +10:00
Stenzek
e936e7498a
VulkanDevice: Fix incorrect null texture bind condition 2024-04-10 12:14:29 +10:00
Stenzek
bf4e8feb25
FullscreenUI: Redo landing page and add help bar 2024-04-09 23:49:24 +10:00
Stenzek
de1a1af908
FullscreenUI: Avoid per-frame memory allocations with SmallString 2024-04-09 19:54:25 +10:00
Stenzek
631fca3042
SettingsInterface: Add SmallString overloads 2024-04-09 19:54:25 +10:00
Stenzek
98241cb6ba
GPUDevice: Swap out glslang for shaderc 2024-04-05 17:53:24 +10:00
Stenzek
ffbb14f508
dep/imgui: Use FreeType rasterizer 2024-04-05 17:23:28 +10:00
Stenzek
69588bf7a6
Deps: Include freetype/harfbuzz shared libraries 2024-04-05 17:23:28 +10:00
Stenzek
59a13d91ea
Image: Don't use libjpeg stdio functions
Fixes I/O in debug builds.
2024-04-03 23:01:53 +10:00
Stenzek
41cc60e87e
VulkanDevice: Use vkCmdClearAttachments() to avoid render pass restart 2024-04-01 18:12:53 +10:00
Stenzek
74f3c8d1aa
GPU/HW: Enable feedback loops for rendering 2024-04-01 18:12:52 +10:00
Stenzek
72ab669e70
GPUDevice: Add support for feedback loops 2024-04-01 13:55:19 +10:00
Stenzek
693982d755
SettingsInterface: Add Error to Save() 2024-03-31 15:50:29 +10:00
Stenzek
ab445ec69d
FileSystem: Handle paths longer than MAX_PATH on Windows 2024-03-29 16:23:03 +10:00
Stenzek
fe35542c76
D3D11Device: Add MAP_DISCARD fallback path for uniform streaming 2024-03-28 13:59:09 +10:00
Stenzek
3e8dd2c374
CDImageDevice: Fix reading of pure audio CDs 2024-03-25 23:24:41 +10:00
Stenzek
315524a89c
VulkanDevice: Fix render pass fallback path with MRT 2024-03-24 22:32:44 +10:00
Stenzek
f1847462a9
VulkanDevice: Fix rendering to multiple targets 2024-03-24 22:32:44 +10:00
Stenzek
3206054fab
OpenGLDevice: Fix rendering to multiple RTs 2024-03-24 22:32:44 +10:00
Stenzek
101ebe3ac3
PostProcessing/FX: Fix GLSL compile error with discard 2024-03-24 22:32:44 +10:00
Stenzek
9cdff4781f
OpenGLDevice: Fix depth clears not going through 2024-03-24 22:32:44 +10:00
Stenzek
f3c0c14b2a
Image: Support loading/saving WebP 2024-03-24 16:03:00 +10:00
Stenzek
b143d96476
Build: Use deps DLLs on Windows 2024-03-24 16:02:59 +10:00
Stenzek
084a76afa0
CDImageDevice: Verify MSF of SUBQ before use 2024-03-23 13:46:18 +10:00
Stenzek
d96062b690
AudioStream: Fix infinite loop 2024-03-21 03:50:46 +10:00
Stenzek
bcc7ab71cb
NoGUI: Add SDL platform 2024-03-21 01:53:44 +10:00
Stenzek
9703542775
AudioStream: Re-add SDL backend 2024-03-20 22:46:20 +10:00
Stenzek
1ab7850ed0
GPU: Rewrite deinterlacing and add adaptive/blend modes 2024-03-16 14:14:15 +10:00
Stenzek
8b2b4ce8d9
Image: Fix reading of JPEG files 2024-03-16 14:14:15 +10:00
Stenzek
9211d9f2e3
Path: Add CreateFileURL() 2024-03-16 14:10:35 +10:00
Stenzek
51b3fabd31
OpenGLContext: Try libEGL.so.1 as well as libEGL.so 2024-03-13 14:14:40 +10:00
Stenzek
9b784b1777
OpenGLDevice: Fix incorrect streamed counter 2024-03-08 21:20:44 +10:00
Stenzek
de1338cbbc
VulkanDevice: Add additional semaphore on swap chain
We don't actually need +1 semaphores, or, more than one really.
But, the validation layer gets cranky if we don't fence wait before the next image acquire.
So, add an additional semaphore to ensure that we're never acquiring before fence waiting.
2024-03-08 14:16:56 +10:00
Stenzek
7159330f63
GPU/HW: Ensure buffers are unmapped before present
Darn DX11...
2024-03-08 13:43:22 +10:00
Stenzek
c854b8f85e
Image: Swap stb for libpng/libjpeg 2024-03-07 00:02:35 +10:00
Stenzek
250b1bea8f
GPU: Use Image class for screenshot saving 2024-03-06 23:55:18 +10:00
Stenzek
620d08f72d
Build: Move Image from common to util 2024-03-06 16:09:21 +10:00
Stenzek
e2024f6175
System: Change "Auto Load Cheats" to "Enable Cheats" 2024-03-03 14:03:07 +10:00
Stenzek
a1d7d214cf
GPUDevice: Add support for VRR and relaxed vsync 2024-03-03 14:03:07 +10:00
Stenzek
b8127facdc
GPUDevice: Memoize preferred renderer for auto 2024-03-02 17:45:39 +10:00
Stenzek
9e26622a12
CDImageDevice: Implement disc reading for Linux
And fix it for Windows. SubQ reading should now work.
2024-03-01 00:50:31 +10:00
Stenzek
b060edc61b
VulkanDevice: Actually use all the swap chain semaphores 2024-03-01 00:50:27 +10:00
Stenzek
edeaaebc7d
OpenGLContextEGL: Fix X11+platform base combination 2024-02-29 20:07:05 +10:00
Stenzek
f936a36c85
GPUDevice: Add GPUDownloadTexture
Which can also be based in host/client memory.
Use it for screenshots and VRAM downloads.
2024-02-29 18:56:50 +10:00
Wunkolo
4309d8ebf3
VulkanDevice: Add TryImportHostMemory
Utilizing `VK_EXT_external_memory_host`, attempt to import the host-pointer into a `VkBuffer`, `VkDeviceMemory`, and an offset to the start of the data. When the page size matches the import alignment, then it is possible to import an entire range of memory from the host directly into a vulkan-side buffer to read and write into.
2024-02-29 17:00:51 +10:00
Wunkolo
0ce1149e41
VulkanDevice: Optional VK_EXT_external_memory_host enablement
Allows usage of this extension only when the import-pointer-alignment
matches that of the hosts' page size.
2024-02-29 17:00:51 +10:00
Stenzek
ab83247de3
GLContext: Rename to OpenGLContext 2024-02-25 20:30:41 +10:00
Stenzek
9ac9fc0a1e
Host: Add ReportFatalError() 2024-02-25 20:30:41 +10:00
Stenzek
df3517f19b
GLContext: Use EGL 1.5 platform selection 2024-02-25 20:30:41 +10:00
Stenzek
143fb0876d
dep/glad: Update to v2.0.5 2024-02-25 20:30:41 +10:00
Stenzek
8756672e12
ImGuiManager: Defer scale updates 2024-02-19 22:47:47 +09:00
KamFretoZ
1f6636f62b Qt: Icon updates 2024-02-18 15:44:12 +09:00
Stenzek
01876ec4aa
Qt: Fix a couple of game summary translation issues 2024-02-15 22:14:46 +09:00
Tobias Jakobi
317a7ce8a7 Util: Add missing standard library includes 2024-02-06 23:48:45 +10:00
Stenzek
d5fb5645fc
ByteStream: Move zstd wrapper to util project
Removes zstd dependency from common, fixes updater running on Mac.
2024-02-05 14:28:26 +10:00
Stenzek
6cca468e65
MetalDevice: Add family check for 16-bit formats 2024-02-03 20:44:34 +10:00
Stenzek
06b11590fe
MetalDevice: Textures should be private 2024-02-03 19:53:35 +10:00
Stenzek
73bb2e77af
SDLInputSource: Expose IOKit/MFI toggles 2024-02-03 19:41:56 +10:00
Stenzek
29b5afecae
MetalDevice: Fix creation error on non-RGBA8 layers 2024-02-03 19:41:56 +10:00
Stenzek
c2c3eac749
Build: Use shared webp/zstd/zlib 2024-02-03 19:41:56 +10:00
Stenzek
6184b671c5
ImGuiFullscreen: Slightly improve hover/animation behavior 2024-01-31 00:53:30 +10:00
Stenzek
ebaef81aae
ImGuiFullscreen: Don't clamp scale to 1.0 2024-01-31 00:16:06 +10:00
Stenzek
14e3969736
Misc: Warning fixes 2024-01-26 14:31:03 +10:00
Stenzek
bcf7f55b93
VulkanDevice: Fix potential race between submit and main thread 2024-01-22 22:57:42 +10:00
Stenzek
150ab8f4af
GPU: Add host/hardware stats 2024-01-22 14:41:19 +10:00
Stenzek
f66866ed73
GPUDevice: Use Error class for initialization errors 2024-01-21 00:18:33 +10:00
Stenzek
429cb4f351
Qt: Allow toggling fullscreen when VM is paused 2024-01-21 00:07:32 +10:00
Stenzek
f369724b7c
dep/imgui: Update to v1.90.1 2024-01-19 21:22:26 +10:00
Stenzek
5042460264
ImGuiFullscreen: Add LayoutUnscale() 2024-01-14 01:44:21 +10:00
Stenzek
da9e3064c2
Achievements: Display missable/progression/win icons 2024-01-14 01:44:21 +10:00
Stenzek
5d3cf93aa3
GPUDevice: Fix race on resize in GL/Vulkan 2024-01-10 22:46:57 +10:00
Stenzek
73cee9f705
Settings: Add UserResources to EmuFolders
Allowing some resources, such as fonts/sounds to be overridden by the
user.
2024-01-10 22:46:57 +10:00
KamFretoZ
34160a8c1b Qt/FSUI: Backport PromptFont from PCSX2 for better readibility 2024-01-10 22:23:56 +10:00
Stenzek
c5c023af5f
SDLInputSource: Log axes/buttons when controller is opened 2024-01-08 15:49:05 +10:00
Stenzek
cf760bbe42
CDSubChannelReplacement: Clear map on reload
Fixes one PBP disc's SBI from leaking into others.
2024-01-01 14:46:58 +10:00
Stenzek
12b9cf1898
GPU: Fix crash when trying to postprocess surfaceless 2023-12-31 19:40:45 +10:00
Stenzek
344d2ccd5d
OpenGLDevice: Work around lack of base_vertex in GLES3.1 2023-12-28 18:57:45 +10:00
Stenzek
958b033a66
PostProcessing: Fix assertion on some shader/texture formats 2023-12-28 15:31:03 +10:00
Stenzek
6d07d70946
GPUDevice: Fix erratic texture pool recycling 2023-12-27 02:28:12 +10:00
Stenzek
118c6c1269
VulkanDevice: Don't assume presence of vkGetPhysicalDeviceFeatures2 2023-12-26 13:00:58 +10:00
Stenzek
62d2f12236
Settings: Expose exclusive fullscreen control 2023-12-25 23:44:15 +10:00
Stenzek
46e0afd2d4
VulkanDevice: Actually allow enumeration of 1.0 device 2023-12-25 23:02:13 +10:00
Stenzek
c233eb53ab
VulkanDevice: Potentially re-enable Vulkan 1.0 support 2023-12-25 21:59:52 +10:00
Stenzek
e81e3edb23
SDLInputSource: Optionally load game_controller_db.txt from data dir 2023-12-25 19:47:57 +10:00
Stenzek
9ec3266f02
GPUDevice: Fix crash when using recycled targets 2023-12-21 23:40:03 +10:00
Stenzek
36643fe78b
GameList: Add "File Size" field 2023-12-20 23:40:28 +10:00
Stenzek
dc5e4120cd
GPUDevice: Improve texture pooling 2023-12-20 22:42:32 +10:00
Stenzek
5ef2ba0eb2
GPU/HW: Add fallback path for no-texture-buffers
Yay, old Mali drivers without SSBOs...
2023-12-19 22:38:36 +10:00
Stenzek
4942964e2f
OpenGLDevice: Fix texture creation issues w/o texture storage 2023-12-19 22:38:36 +10:00
Stenzek
717e0665ae
GPUDevice: Support R16I/R16U textures 2023-12-19 22:38:36 +10:00
Stenzek
05b42f34eb
JitCodeBuffer: Use MAP_FIXED on MacOS/MAP_FIXED_NOREPLACE on Linux 2023-12-19 22:20:00 +10:00
Stenzek
7829abc014
MSBuild: We don't need WinPixEventRuntime in Release builds 2023-12-18 20:50:36 +10:00
Stenzek
9e82c18559
MetalDevice: Defer release of layer drawables 2023-12-18 20:50:35 +10:00
Stenzek
f4fb069216
MetalDevice: Explicitly bind fragment resources
Fixes adaptive downsampling with Metal renderer.
2023-12-18 20:50:35 +10:00
Stenzek
6fe2177ee7
MetalDevice: Fix incorrect mipmap texture creation 2023-12-18 20:50:35 +10:00
Stenzek
e08f888e72
OpenGLDevice: Fix incorrect scissor rect 2023-12-17 00:09:23 +10:00
Stenzek
38777439c5
ShaderGen: Don't emit index qualifier when not using DSB
Fixes shader compile errors on Panfrost.
2023-12-16 22:40:30 +10:00
Stenzek
0632c3356c
OpenGLDevice: More Mali driver workarounds 2023-12-16 21:04:40 +10:00
Stenzek
b04578afee
ImGuiFullscreen: Fix menu background obscuring text 2023-12-15 13:45:19 +10:00
Stenzek
57aa138808
PostProcessing: Add compile progress indicator 2023-12-14 20:23:48 +10:00