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