Commit graph

309 commits

Author SHA1 Message Date
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
Connor McLaughlin cab51c6764 FullscreenUI: Re-enable most previously-missing settings 2022-08-26 01:26:55 +10:00
Connor McLaughlin 7bbacd2392 Misc: Remove unused code 2022-08-22 19:55:38 +10:00
Connor McLaughlin e2ecfa64e9 IniSettingsInterface: Make writes atomic
Fixes potential settings corruption if we crash while saving.
2022-08-10 17:48:35 +10:00
Connor McLaughlin 1db24e8014 IniSettingsInterface: Prevent multiple threads loading/saving at once 2022-08-10 17:26:52 +10:00
Connor McLaughlin 916900be5d Misc: More warning fixes 2022-08-10 14:33:31 +10:00
Connor McLaughlin 477bb3d554 Misc: Clean up a few warnings 2022-08-10 13:41:13 +10:00
Connor McLaughlin 4f5722c932 AudioStream: Fix compiling with clang/arm64 2022-07-31 16:38:45 +10:00
Connor McLaughlin 66caaf6103 AudioStream: Fix null output 2022-07-29 22:39:38 +10:00
Connor McLaughlin d012f65d4f AudioStream: Fix possible NaN in forced tempo update 2022-07-29 22:16:22 +10:00
Connor McLaughlin be5b979713 AudioStream: Make speed changes less poppy 2022-07-29 21:16:02 +10:00
Connor McLaughlin f6ff7e48c1 Build: Fix compiling for arm64/linux 2022-07-28 22:38:08 +10:00
Connor McLaughlin 68b5dd869c SPU: Add time stretched audio output 2022-07-28 22:10:47 +10:00
Connor McLaughlin 9b22f0564f Misc: Remove backported license text
For anyone trying to start drama, I have copyright over this code and
never signed a CLA, therefore can relicense it how I see fit (in this
case is no license, i.e. no rights, although the entire DuckStation as
is currently distributed is GPLv3).
2022-07-23 13:55:09 +10:00
Connor McLaughlin a1edddc59d CDROM: Revamp/improve preload image procedure 2022-07-23 13:55:09 +10:00
Connor McLaughlin 8d7fdae683 CDImagePPF: Precache underlying image when requested 2022-07-23 13:55:09 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00