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