Commit graph

309 commits

Author SHA1 Message Date
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