Commit Graph

567 Commits

Author SHA1 Message Date
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
Stenzek 7e1276fbac
GPUDevice: Fix binding deferred cleared textures
i.e. briefly flashing previous state after reset.
2023-12-14 20:23:48 +10:00
Stenzek c20805f2be
VulkanDevice: Work around some mobile driver issues 2023-12-13 23:01:10 +10:00
Stenzek 710698f7e1
Misc: Remove StringUtil::{Starts,Ends}With, use C++20 2023-12-13 21:18:19 +10:00
Stenzek 79c226efff
SmallString: fmt -> format, format -> sprintf 2023-12-13 21:06:15 +10:00
Stenzek e14bf95043
Misc: Linux build fix 2023-12-13 12:35:56 +10:00
Stenzek ad96b1ec75
FullscreenUI: Improve menu button borders 2023-12-13 01:12:55 +10:00
Stenzek c467825791
SaveStateSelectorUI: Make less ugly 2023-12-13 01:00:13 +10:00
Stenzek dbaf49e4d4
VulkanDevice: Fix ARM32 build (again) 2023-12-10 23:31:01 +10:00
Stenzek 39913b2a39
GPUDevice: Fix incorrect positioning with PostFX and GL 2023-12-10 23:26:43 +10:00
Stenzek 27162e34a0
PostProcessing: Add Config::GetShaderOptions() 2023-12-10 22:22:02 +10:00
Stenzek c90de025bf
MetalDevice: Fix depth not storing 2023-12-09 22:08:14 +10:00
Stenzek 1a5865bf95
D3D12Device: Fix crash on SW renderer switch 2023-12-09 22:08:14 +10:00
Stenzek 1f4a37f8eb
VulkanDevice: Fix crash on SW renderer switch 2023-12-09 22:08:14 +10:00
Stenzek d068799515
VulkanDevice: Fix incomplete swap chain clear with dynamic rendering 2023-12-09 22:08:14 +10:00
Stenzek ff37afef55
PostProcessing/FX: Support multiple render targets 2023-12-09 22:08:14 +10:00
Stenzek a907e1f550
GPUDevice: Pool textures 2023-12-09 22:08:13 +10:00
Stenzek 3b2c70cda5
GPUDevice: Get rid of framebuffer abstraction 2023-12-09 22:08:13 +10:00
Stenzek b65d2748b4
GPUDevice: Implement MirrorRepeat address mode 2023-12-08 20:12:13 +10:00
Stenzek 6deb9d3072
D3D12Device: Fix incorrect RP end in CommitClear() 2023-12-08 14:33:05 +10:00
Stenzek 10473f1cfb
PostProcessing: Add categories/combos/tooltips 2023-12-07 15:19:10 +10:00
Stenzek 5e45d365c2
PostProcessing: Sort shader lists before showing 2023-12-07 14:17:33 +10:00
Stenzek ba5d1a109e
dep/reshadefx: Support generating GLSL ES 2023-12-07 14:13:56 +10:00
Stenzek bcc2042154
OpenGLDevice: GLES fixes 2023-12-06 23:49:34 +10:00
Stenzek 601d8ff629
MetalDevice: Anisotropy should be minimum 1 2023-12-05 00:27:55 +10:00
Stenzek 86a8c4c6ae
IsoReader: Fix ARM32 build 2023-12-03 22:13:17 +10:00
Stenzek 81e8abdc1e
GL/Context: Disable fbfetch on Adreno GLES <502 2023-12-03 21:43:57 +10:00
Stenzek 60b91a1cdb
OpenGLDevice: Set glColorMask() on clear
Adreno doesn't appear to clear all channels otherwise.
2023-12-03 21:36:13 +10:00
Stenzek 2ca503639d
GPU/HW: Avoid extra texture copy in Vulkan/GL 2023-12-01 19:08:50 +10:00
Stenzek 3469b83a58
VulkanDevice: Add barrier inbetween self image copies 2023-12-01 19:08:46 +10:00
Stenzek df91c63b31
CDROM: Add PVD/directory entries to file map 2023-11-30 14:38:38 +10:00
Stenzek 5442242c64
IsoReader: Add GetEntriesInDirectory() 2023-11-29 21:56:40 +10:00
Stenzek 325dcc81ca
FullscreenUI: Allow changing UI language 2023-11-29 20:26:36 +10:00
Stenzek e806d939ae
Qt: Fix crash on language change with system active 2023-11-29 19:48:39 +10:00
Stenzek e382f2b64a
Settings: Add option to disable DSB/fbfetch 2023-11-28 14:38:38 +10:00
Stenzek 333c9fdf6f
Misc: Fix a couple of fmt errors 2023-11-28 14:38:38 +10:00
Stenzek 2b46a9b040
ShaderGen: Fix GL_ARM_shader_framebuffer_fetch enable 2023-11-27 17:55:04 +10:00
Stenzek 72716719b3
Achievements: Use big picture for confirm hardcore disable 2023-11-26 23:57:49 +10:00
Stenzek c1d0419361
FullscreenUI: Use icon font for bindings 2023-11-26 23:57:49 +10:00
Stenzek fc6359457b
ImGuiManager: Use PromptFont icons for input OSD 2023-11-26 21:35:29 +10:00
Stenzek ff17444074
GPU/HW: Add framebuffer fetch blending path 2023-11-25 21:22:35 +10:00
Stenzek cc6f22163c
HTTPDownloader: Add support for progress updates/cancelling 2023-11-25 00:50:12 +10:00
Stenzek 7bbf04ab99
PostProcessing/FX: Support reading shaders from resources 2023-11-25 00:50:12 +10:00
Stenzek 1a79a2f196
dep/reshadefx: Add manual include callbacks 2023-11-25 00:50:11 +10:00
Stenzek 273979405d
OpenGLDevice: Disable scissor for buffer clears 2023-11-25 00:49:52 +10:00
Stenzek e75c1a3b0a
OpenGLDevice: Use glClearBuffer() instead of glClear() 2023-11-24 21:45:45 +10:00
Stenzek 603531f916
PageFaultHandler: Fix for Intel on MacOS 2023-11-24 20:35:52 +10:00
Stenzek 5cf41a41f3
JitCodeBuffer: Allocate within 32-bit range 2023-11-24 20:35:19 +10:00
Stenzek a80ffc9c7d
GL/Context: Fix surfaceless context creation 2023-11-22 01:21:02 +10:00
Stenzek cce7be4723
Misc: Make struct member functions file-local 2023-11-18 16:46:11 +10:00
Stenzek bee1f986a9
CMake: Fix incorrect library for HTTPDownloaderCurl 2023-11-18 14:58:45 +10:00
Stenzek bc485ee55b
CDImage: Support loading subchannel from LSD files 2023-11-15 19:14:27 +10:00
Stenzek 6d35d5983b
SDLInputSource: Use hint for loading GC Database 2023-11-10 21:19:45 +10:00
Stenzek 3ab27e7220
FullscreenUI: Remove Pause on Menu open
And always pause. The option never really worked correctly.
2023-11-06 23:17:58 +10:00
Stenzek 0d5ffda3d3
DInputSource: Backport button/hat max from PCSX2 2023-11-06 23:17:58 +10:00
Stenzek 5b00ffb6cb
HTTPDownloaderCurl: Switch to multi/async API 2023-11-06 23:17:58 +10:00
Stenzek 0fe6e9170b
HTTPDownloader: Move to util project 2023-11-06 23:17:57 +10:00
Stenzek a4127aa2ea
SDLInputSource: Add log callback 2023-11-06 23:17:57 +10:00
Stenzek c5cd55ffb1
CDImage: clang warning fix 2023-11-06 17:56:45 +10:00
Stenzek f27a28b58c
CDImage: Use ByteSwap() 2023-11-05 22:38:25 +10:00
Stenzek 4a906fd0a0
VulkanDevice: Fix incorrect render pass end 2023-11-05 21:18:39 +10:00
Stenzek e739c114a4
CDImageCHD: Support reading subchannel from CHD 2023-11-05 21:18:39 +10:00
Stenzek ee3c770082
CDImage: Fix incorrect CRC-16 computation 2023-11-05 21:14:19 +10:00
Stenzek ea51d2a213
SPIRVCompiler: Pad fragment output components for MSL
Fixes some Reshade shaders not compiling.
2023-11-05 15:03:49 +10:00
Stenzek 8f1d724f4c
Postprocesing/FX: Add BUFFER_COLOR_BIT_DEPTH and random source 2023-11-05 14:10:44 +10:00
Stenzek 4ef465cea4
PostProcessing/FX: Fix loading of resource textures 2023-11-05 13:52:56 +10:00
Stenzek ca5b07acff
PostProcessing: Fix for Metal renderer 2023-11-04 20:28:45 +10:00
Stenzek 1831a291b4
GL/ContextEGL: Fix surface_format left uninitialized 2023-11-04 20:11:51 +10:00
Stenzek 17171101cf
OpenGLDevice: Don't force-disable dual source blending 2023-11-04 20:11:51 +10:00
Stenzek f05ff4103e
Misc: Build fixes for Android 2023-11-04 20:11:51 +10:00
Stenzek 117cbeecaa
CPU/CodeCache: Fix NewRec on Apple Silicon 2023-10-28 14:41:29 +10:00
Stenzek f786138175
CPU/CodeCache: Fix crash on Apple Silicon 2023-10-24 18:30:34 +10:00
Stenzek a4c7d03ed2
VulkanDevice: Ignore GPUs which don't support Vulkan 1.1 2023-10-18 00:49:01 +10:00
Stenzek db675cf5d0
Build: Reduce library scope 2023-10-18 00:49:01 +10:00
Stenzek 79e1ae3e54
CPU/CodeCache: Rewrite using new-rec's block management 2023-10-18 00:49:01 +10:00
Stenzek baa5472cc2
Qt: Fix postfx option pane not loading 2023-10-16 01:00:43 +10:00
Stenzek ce7f6128e9
OpenGLDevice: Cache intermediate state 2023-10-08 01:47:29 +10:00
Stenzek eb080834ad
OpenGLDevice: Actually check max texture buffer size 2023-10-08 01:10:52 +10:00
Stenzek da1c28bd16 Misc: Fix arm32 build 2023-10-02 23:59:01 +10:00
Stenzek 6fd7eda68f Misc: Fix build on Debian Bullseye 2023-10-02 23:50:56 +10:00
Stenzek a96111eaeb Misc: Swap make_array() for size deduction 2023-10-02 13:33:33 +10:00
Stenzek e2efec12b7 CDImageCHD: Add SSE/NEON implementation of CopyAndSwap() 2023-10-01 17:24:34 +10:00
Stenzek 01e505ec8b Common: Add intrin.h 2023-10-01 17:24:34 +10:00
Stenzek b1bb33a566 Common: Move CPU macros to types.h 2023-10-01 13:57:25 +10:00
Stenzek c1e6616e5f Misc: Warning fixes 2023-09-30 15:44:14 +10:00
Stenzek 4ad777f54f Qt: Add log window 2023-09-30 15:09:07 +10:00
Stenzek 28c13c0ac4 Common: Fix incorrect sign extension in sjis2ascii() 2023-09-30 12:20:46 +10:00
Stenzek 9112b6a850 CDImageCHD: Cache parent hashes 2023-09-27 21:01:09 +10:00
Stenzek a115b40ef7 Common: Split some routines into CocoaTools 2023-09-24 12:21:19 +10:00
Stenzek 2b89c11f5b CDImageCHD: printf -> fmt 2023-09-23 14:16:45 +10:00
Stenzek 9517638bcb GPUDevice: Don't recreate device on SW switch in GLES: 2023-09-23 14:14:52 +10:00
Stenzek 2a5b3aa695 OpenGLDevice: Fix reused pipeline creation failing without cache 2023-09-23 14:14:52 +10:00
Stenzek 7edb57ca15 Settings: Add Default renderer option 2023-09-23 14:14:52 +10:00
Stenzek c986d0ea78 OpenGLDevice: Persist GL_SCISSOR_TEST enabled 2023-09-23 14:14:52 +10:00
Stenzek 8dc9c225d7 OpenGLDevice: Keep scissor active on present clear
And disable depth test if set to always (match DX11).
2023-09-23 14:14:52 +10:00
Stenzek 6d18863d65 OpenGLDevice: Set unpack row length on create 2023-09-23 14:14:52 +10:00
Stenzek b678fcd874 GPUDevice: Move debug messages over to fmt 2023-09-23 14:14:52 +10:00
Stenzek 184b0a1a52 Misc: Swap most C format strings for fmt 2023-09-23 14:14:52 +10:00
Stenzek 92440bdfcf Log: Add fmt overloads 2023-09-23 14:14:52 +10:00
Stenzek ac0601f408 Common: Drop String, add SmallString 2023-09-23 14:14:52 +10:00
Stenzek 3c68543491 Bus: 16KB page compatibility for mmap fastmem 2023-09-23 14:14:52 +10:00
Stenzek 5bbb7cf906 OpenGLDevice: Fix crash when driver doesn't support binaries 2023-09-21 01:04:26 +10:00
Stenzek 45265c474c OpenGLDevice: Fix framebuffer clear getting delayed 2023-09-20 21:38:39 +10:00
Stenzek 0e0beec1f4 OpenGLDevice: Fix PBO and non-PBO path for SW renderer 2023-09-20 19:35:46 +10:00
Stenzek 3cd28f433b Controller: Use std::span 2023-09-20 17:11:29 +10:00
Stenzek 7e07d2feb8 GunCon: Add relative pointer binding 2023-09-20 17:11:29 +10:00
Stenzek 3a47c1eb52 Fullscreen: Light mode corrections 2023-09-20 00:10:08 +10:00
Stenzek 846f74c86d Achievements: Backports from PCSX2 2023-09-18 22:38:11 +10:00
Stenzek 76772ec39e PostProcessing/FX: Fix incorrect RCP_BUFFER{WIDTH,HEIGHT} 2023-09-18 22:38:11 +10:00
Stenzek 68b59ee748 CMake: Swap USE_ and WITH_ for ENABLE_
Consistency.
2023-09-17 12:36:52 +10:00
Stenzek d7bccfe9a4 ImGuiManager: Easing for OSD messages 2023-09-17 00:55:11 +10:00
Stenzek a37e89b52f CMake: Remove unsupported options 2023-09-16 19:00:29 +10:00
Stenzek c773c763ef Achievements: Switch to rc_client 2023-09-16 19:00:29 +10:00
Stenzek 631d1e7433 ImGuiFullscreen: Less jarring notifications 2023-09-16 19:00:29 +10:00
Stenzek a2f19143da MetalDevice: Support multisampling 2023-09-16 19:00:28 +10:00
Stenzek 6fbea12ed3 MetalDevice: Implement GPU timing 2023-09-16 19:00:28 +10:00
Stenzek b30c86ed75 Build: Improve MacOS support 2023-09-16 19:00:28 +10:00
Stenzek e6d5fa43af D3D11Device: Fix crash when switching renderers 2023-09-06 11:22:18 +10:00
Stenzek 519367555b Misc: Replace deprecated std::is_pod 2023-09-05 22:10:50 +10:00
Stenzek 60aca2fc4d Misc: Swap LIKELY/UNLIKELY macros for attributes 2023-09-05 22:10:50 +10:00
Stenzek adc124c759 Misc: Unreachable code warning fixes 2023-09-05 22:10:50 +10:00
Stenzek 605aa3c53a Misc: Swap gsl::span for std::span 2023-09-05 22:10:50 +10:00
Stenzek 391307efaa Common: Drop fallback path for HeterogeneousContainers 2023-09-05 21:37:04 +10:00
Stenzek d6cf88c14f VulkanDevice: Fix persistent descriptor allocation error 2023-09-05 20:17:32 +10:00
Stenzek 9d37332111 VulkanDevice: Prefer 8-bit formats for swap chain 2023-09-05 20:00:23 +10:00
Stenzek 80e3d29ab8 Misc: clang-cl warning clean-up 2023-09-03 14:30:26 +10:00
Stenzek 0076ab5cc4 System: Restore context after pumping messages 2023-09-03 13:14:22 +10:00
Stenzek 7ad1b8d093 GPU: Add wireframe rendering/overlay 2023-09-02 22:26:03 +10:00
Stenzek e804b5e701 GPUDevice: Support geometry shaders 2023-09-02 22:09:22 +10:00
Stenzek 5480e42cd1 ImGuiManager: Fix changing global scale through FSUI 2023-09-02 21:44:08 +10:00
Stenzek ea68c5b4b5 Build: Use dependency package on Windows 2023-09-02 21:44:08 +10:00
Stenzek cee4f93097 Build: Use precompiled headers 2023-09-02 21:44:08 +10:00
Stenzek 817129328b dep: Move WinPixEventRuntime to root 2023-09-02 21:44:07 +10:00
Stenzek 0da14a5442 GPU/Vulkan: Fix MSAA
And disable sample rate shading ("SSAA") on AMD, Intel, and broken
mobile drivers, because it doesn't work.
2023-09-01 21:25:12 +10:00
Stenzek 09e7a5843f GPU: Add scaling shader support
Currently only Bilinear (Sharp).
2023-08-31 23:38:11 +10:00
Stenzek a11c9faba9 OpenGLDevice: Lazily compile shaders 2023-08-30 22:20:39 +10:00
Stenzek 358f87a74d PostProcessing/ReShade: Fix up for GL/Vulkan 2023-08-30 02:04:07 +10:00
Stenzek 22eecc2b0a VulkanDevice: Fix multi-texture+UBO push descriptors 2023-08-30 02:03:22 +10:00
Stenzek df4d441b4b OpenGLDevice: Fix pipeline cache leaving fields uninitialized 2023-08-30 02:02:09 +10:00
Stenzek 8a40c7bf94 PostProcessing: Add ReShade .fx shader support 2023-08-30 00:44:01 +10:00
Stenzek b217f64bcf PostProcessing: Refactor config to use separate sections 2023-08-30 00:44:01 +10:00
Stenzek 8db8baf33f GPUDevice: Move display logic to GPU 2023-08-30 00:44:00 +10:00
Stenzek 6c185ca17b GPUDevice: Remove mouse pointer position 2023-08-30 00:44:00 +10:00
Stenzek 259193a8e5 GPUDevice: Move software cursor to ImGuiManager 2023-08-30 00:44:00 +10:00
Stenzek e23c9875d5 Misc: Split core and util Host 2023-08-30 00:44:00 +10:00
Stenzek 779e78ae61 MetalDevice: Forgot a mutability parameter 2023-08-26 21:51:53 +10:00
Stenzek 106c13635b MetalDevice: Fix initial depth state not being bound 2023-08-26 21:33:30 +10:00
Stenzek edc61b0095 GPUDevice: Fix crash when saving state with display off 2023-08-25 21:04:36 +10:00
Stenzek 8a0033dfb3 MetalDevice: Avoid inline texture uploads when unnecessary 2023-08-24 19:00:01 +10:00
Stenzek 1b9e72e3a6 MetalDevice: Fix render command encoder leak
and subsequent crash on shutdown.
2023-08-24 18:04:52 +10:00
Stenzek d750e4d417 VulkanDevice: Fix for MacOS 2023-08-24 18:04:48 +10:00
Stenzek 64998b49dc Util: Make Shift-JIS table static 2023-08-24 18:01:32 +10:00
Stenzek dc9c99438b Misc: Post-refactor cleanups 2023-08-24 18:01:32 +10:00
Stenzek 7a1af36e8d GPUDevice: Fix incorrect suffix on D3D shader cache 2023-08-23 17:31:41 +10:00
Stenzek 76b5b8ad06 MSBuild: Support building with clang-cl 2023-08-21 22:38:55 +10:00
Stenzek e3d9ba4c99 Rewrite host GPU abstraction
- Don't have to repeat the same thing for 4 renderers.
 - Add native Metal renderer.
2023-08-20 21:55:38 +10:00
Stenzek e57ad0b6aa Host: Backport translations cache
Note: You'll need a new command line for lupdate.

..\..\..\dep\msvc\qt\6.5.0\msvc2022_64\bin\lupdate.exe ../ ../../core/ ../../util/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP -ts duckstation-qt_LANGUAGE.ts
2023-08-20 12:40:47 +10:00
Stenzek 39f64a03ee Common: Error/FileSystem backports 2023-08-20 12:40:47 +10:00
Stenzek a00a4391ca Common: DynamicHeapArray/FixedHeapArray 2023-08-19 21:18:28 +10:00
Stenzek bb60170d9a Move frontend-common to util/core 2023-08-16 01:13:00 +10:00
Stenzek 5b980dafa5 System: Refactor main loop
Reduces JIT exits.
Improves runahead performance.
2023-08-16 01:13:00 +10:00
Stenzek 4ebd34fcb3 MSBuild: Use project referencing instead of .lib linking 2023-08-16 01:12:59 +10:00
Stenzek 165b277421 CDImageCHD: Support loading parent/delta CHDs 2023-08-12 14:46:09 +10:00
Stenzek 06a8349162 dep/libchdr: Re-add progress precaching 2023-08-12 14:46:09 +10:00
Stenzek 4b70853daa dep: Bump libchdr to 54bfb87 2023-08-12 14:46:09 +10:00
Stenzek 9aa6c24620 System: Store game hash as well as serial 2023-05-15 23:39:07 +10:00
Stenzek 33f5d9cb9c System: Remove BIOS from save state
Makes the states smaller, as well as not creating potential piracy
issues when sending across the wire.
2023-03-16 19:34:01 +10:00
Connor McLaughlin 395e9a934b InputManager: Support inverted full axis
i.e. pedals
2023-01-15 15:13:54 +10:00
Connor McLaughlin 4eb6b90825 AudioStream: Fix building without SSE on Linux 2022-12-20 21:25:15 +10:00
Connor McLaughlin 8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin 239b585d8c AudioStream: Fix several-second-looping bug on underrun 2022-09-18 11:56:22 +10:00
Connor McLaughlin 3a5bf6d29b System: Move overlay checking to common 2022-08-27 16:52:24 +10:00