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