Commit graph

390 commits

Author SHA1 Message Date
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