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