Releases: stenzek/duckstation
Releases · stenzek/duckstation
Latest Preview Build
Commits
- Fix crash in game properties on non-scanned file (Stenzek)
Latest Rolling Release
Commits
- f4aa5e1 MemoryCard: Filename -> Path
- 13d58d8 Qt: Move fast boot/fast forward to console settings
- e9bfca8 System: Add 'Fast Forward Memory Card Access' option
- 2bfc408 Bus: Enable mmap fastmem on uppermost KSEG0 mirror
- 2fcf115 GameDB: Drop LUT fastmem overrides
- 7d80a74 GameDatabase: Remove now-unused traits
- 8772c33 CPU: Don't stall until GTE completion on write
- 958fd00 GPU/HW: Don't use shader for self-overlapping copies
- ce8b1f0 GPU: Small optimization to lanczos shader
- 4562573 Update Russian translation (#3372)
- 369f623 Cheats: Only display codes for selected revision
- 1b3ca81 Qt: Fix hotkey search placeholder localisation
- b45f9c3 Atualização Português do Brasil (#3373)
- cba9d00 Qt: Further improve async cover loading
- 9928d01 Common: Fix ARM64 build on clang-cl 19
- e688e24 GTE: Use floating-point math for preserve-proj-fp
- 5bd1a49 GameDatabase: Turn PGXPPreserveProjFP into a boolean setting
- 4ce1b1a GameDB: Set PGXPPreserveProjFP for Vagrant Story
- cb10c6f Qt: Ensure build warning is themed
- 0c30acb Qt: Work around QtWayland bugs
- 9a75af2 Qt: Explicitly set desktop file path on startup
- b57049f CI: Enable Wayland on AppImage/Flatpak builds
- 2f5c4d8 Common: Add xorshift-based PRNG class
- 6f25cf3 CDROM: Add randomness to repeated seek times
- 72ac4f9 CDROM: Increase delay for pause-when-paused
- 31a5d8c GameDB: Tama - Adventurous Ball in Giddy Labyrinth hash
- 78bd0fd Qt: Always use ARGB32 for padded cover images
- 6a0c73b Qt: Add AMOLED theme (#3374)
- 373c83c GameDB: PGXP-CPU for Twisted Metal 2
- d1b9473 Deps: Update cpuinfo
- f96ab3a Deps: Switch zlib to zlib-ng
- d5c83a8 GameDB: Sorcerer's Maze (#3375)
- f2715b3 GameDB: Falcata - Astran Pardma no Monshou hash (#3376)
- 90cb92b CI: Ensure libz.so.1 is packaged in AppImage
- fa3815d Achievements: Fix progress database corruption
- 91370ee Achievements: Update both HC and SC counts on unlock/boot
- 5fea81c Qt: Show only HC achievement count if HC == SC
- d812463 Qt: Ensure SIGCHLD is ignored properly
- 3ea26cc GPU: Rewrite automatic resolution scaling
v0.1-8636
Commits
- acb355a CDImage: Make .bin loader track length match .cue
- 81bca06 System: Add hash to OnGameChanged
- 160c34e CDROM: Avoid additional stat() call loading subchannel
- 2663ac9 CDImage: Improve PBP load error reporting
- 06b0218 GPU/HW: Split transparent draws if dual-source blend unsupported
- 94b2060 GPU: Clear display texture on fatal error
- 901927d CDROM: Don't panic on unknown register read
- 3e8ef44 Deps: Update to SDL3 3.2.4
- 0428a93 Qt: Fix possible crash when rescanning game list
- 4236bea System: Fix setting-altering patches not applying on startup
- 8132c51 Cheats: Add 'Ignore' field to file format
- 07f9730 update the Simple-Chinese Translation to latest. (#3363)
- ac4ef4f Gt: Update glyph ranges
- 4ce48ab GPU/HW: Fix incorrect source rect for page replacements
- 46ae3e5 Cheats: Show disabled code count when HC/safe mode is active
- 5fb5dcd Achievements: Improve summary popup
- c1f8a52 Spanish (Spain) translation update 2025-02-09 (#3366)
- 2dfa164 GameDB: Dezaemon Plus Select 100 does not support analog mode (#3364)
- 788b9cd Update the Simple-Chinese translation to latest. (#3365)
- 3eed0d0 CI/Flatpak: Don't strip SDL3 libraries
- 7a587d9 Qt: Fix overlapping widgets in macro trigger shift-click
- ef4c00a Qt: Use display name for a couple of recommended values
- 2876713 Update the Simple-Chinese translation to latest. (#3368)
- f6e8ebe Updating Swedish translation (100%) (#3367)
- 36d5708 GPU/HW: Fall back to replacements from first disc
- c137c56 Qt: Fix incorrect recommended value
- ce616f1 Cheats: Reapply frame end codes immediately on reload
- cd89f62 Atualização Português do Brasil (#3369)
- a25d5dc CI: Apply SDL3 joystick patch
- 7bc18c8 DDGoController: Rewrite to support axis input
- f90fdf6 Update the Simple-Chinese translation to latest. (#3371)
- 995a34e CMake: Correctly unset host page size if set via cache
- 3a44c3a GPU: Fix prerotated presenting with OpenGL
- 5913de9 VulkanDevice: Fix incorrect texture format for A1BGR5
- 9b2cf0a InputSource: Fix Wcast-function-type-mismatch
- b68d7c8 Image: Vectorize RGBA8 conversion and add A1BGR5
- 953bd09 RegTest: Fix flipped images in OpenGL
- 5ae32d3 System: Fix black screen when changing options while paused
- 5060e72 Qt: Fix missing vibration binding for NegConRumble
- dc6d6b9 PostProcessing: Fix abort on slow compile in big picture
- ced9ee4 Qt: Update glyph ranges
- af085d7 CI: Bump to LLVM/clang 19
- 6802f77 CrashHandler: More Wcast-function-type-mismatch fixes
- bceadad Image: Fix possible unaligned movaps
- e0620fc System: Fix setting-altering game patch behaviour
v0.1-8591
Commits
- 573b2eb SPU: Move device failure message to OSD
- 4e97420 InputManager: Switch to SDL3
- 2b7a4f8 Qt: Avoid game list refresh on shutdown
- 543704d HTTPDownloader: Drop some log messages to debug
- ca509a8 StringUtil: Add fixed-length DecodeHex()
- 21aa6ea Scripts: Add script to download/generate achievement database
- 1bfc4b6 dep/rcheevos: Update to 08999e0
- 6a09d6e Achievements: Don't store hash as a string
- d4b0b7f Achievements: Include rc_client version in user agent
- 6512ed8 Achievements: Add offline tracking of progress and hash library
- 0e3668a GameList: Show achievement information in game list
- 5630f39 Qt: Fix loading webp images on Windows
- 0665cb5 FullscreenUI: Further refine achievements login dialog
- afd619a GameDB: Pro-Pinball needs same traits as others in the series (#3359)
- d7c78ee GPU/HW: Fix box downsampling on OpenGL ES
- 7188ab8 GPU/HW: Treat fill-like sprites as fills if TC is enabled
- b0c0d64 GPU/TextureCache: Fix parsing of C16 replacement names
- f58fa22 GPU/TextureCache: Only use a single palette record for C16
- 70c45f7 GPU/TextureCache: Handle replacements larger than 256x256
- e36dbaf Qt: Show current fullscreen resolution in UI even if invalid
- 231ba05 GPUThread: Switch to borderless if exclusive fullscreen fails
- 224cb6a FullscreenUI: Fix ClosePauseMenu() running on wrong thread
- 1b678d0 FullscreenUI: Allow using right mouse button for 'back'
- 4da7692 System: Adjust initialization order to better fit FullscreenUI
- 28f6358 Qt: Use FSUI to service ConfirmMessageAsync() if active
- 4dd6365 System: Simplify HC disable confirm on startup
- 128bab2 Host: Allow button title override in ConfirmMessageAsync()
- 0223471 FullscreenUI: Move UpdateRunIdleState() for system soft-fail to host
- d314b25 System: Fix per-game achievements hardcore mode
- 0d9e6bd FullscreenUI: Use effective value for achievement options enable
- 9b6021b FullscreenUI: Fix progress bar padding in loading screen
- aae7573 Achievements: Fix build with regtest
- 369879e Settings: Log when creating EmuFolders fails
- 44a75d6 GPUThread: Fix setting change crash with thread off
- f7d7eec GPU/TextureCache: Fix replacements starting in second page
- 96058f5 System: Use recreation logic for toggling GPU threading
- 03181d1 GPUThread: Fix crash during FSUI language switch
- b5925ab Achievements: Include any codepoints above 0x100 in dynamic range
- d65c4ef GPU/TextureCache: Prefill dumped texture list with replacements
- 635ae5d GPU/HW: Don't use sprites-as-fills for small/offscreen points
- b01c06b GPU/TextureCache: Prevent wrapping for replacement lookup
- a681386 Qt: Fix some options not being disabled with SW
- 804d90d System: Fix overriding console region
- 24354cb GPU: Fix more GPU thread-reading-CPU-thread-settings locations
- 7316b01 CI: Dependency library updates
- a5940b2 GPU: Use constants for display overscan range
- 0c3d55a GPU: Fix incorrect PAR with overscan cropping
- 64d3716 GPU: Further simplify draw rect calculation
- 4ceeb58 GPU: Use display size for calculating internal screenshot size
- 5788391 CI: Add ARM64 flatpak build
- 1ca5782 Threading: Handle EINTR on sem_wait()
- 1f5a103 GPUThread: Handle rare race condition in frame queueing
- 5977350 System: Recreate memory save states when device options change
- af277d4 Settings: Default to nearest sprite texture filtering
- cb205c4 Qt: Show icon in settings console region dropdown
- 455836a CMake: Check C++20 features that are missing on some systems
- 51bef1b CMake: Don't print status messages for deps CMakeLists
- 4ad2d0a GPU: Fix incorrect PAL overscan range
- c6563a4 VulkanDevice: Require Vulkan 1.1 for most extension probing
- 99e81f1 GPU: Fix incorrect condition in WaitForOneQueuedFrame()
- ecbb79c GPU: Add Lanczos scaling option
- 57cb2f8 FullscreenUI: Fix system unpausing on shutdown
- 2cfc39e System: Move cheat reload to Initialize()
- 8aa97a8 Data: Update game controller database
- bee2dab Misc: Replace stringstream str() with C++20 move str()
- f8c39ac GPU/HW: Warning fix
- 5148081 Atualização Português do Brasil (#3360)
- 5ae6d90 update Chinese translation. (#3361)
- 063bb96 D3D11Device: Always query timestamp before present start
- 0844223 Updated Swedish translation (#3362)
- f2cca01 ImGuiManager: Fix achievement unlock icon not showing
v0.1-8520
Commits
- e34d23c FullscreenUI: Implicitly close non-multichoice dialogs
- 7cc4755 FullscreenUI: Fix parent scroll resetting on directory change
- f98b904 FullscreenUI: Add 'Set Cover Image' to game list
- b982260 FullscreenUI: Show game icons in game list
- 1481c1d System: Post-processing is shut down on GPU thread
- e41f179 PostProcessing: Fix erroneous reload message
- 08d2586 System: Allow host to set async worker count
- 8f19ac2 System: Set rapidyaml error handlers on startup
- d52bf79 GPU: Split backend into Backend+Presenter
- 6cba825 System: Add fatal error shutdown path
- dd97882 GPU: Refactor display presentation workflow
- da13579 GPU: Align presenter/backends to cache line
- 609fa5c GPUDevice: Add sampler cache to base class
- 338d29d GPUDevice: Move empty/null texture to base class
- d589696 PostProcessing: Get rid of GPU-dependent globals
- e0a9bbe PostProcessing: Move into GPU presenter
- 313f653 Data: Add one example overlay
- 7fcf0a3 README: Update feature list for 2025
- d62261e GPUDevice: Allow nested GL_SCOPE macros
- 88b4337 GPUDevice: Replace explicit GL_PUSH/GL_POP with nested GL_SCOPE
- 6131ddb GPU: Fill in unused/padded area in overlays
- 725dcea GPU: Fix crash toggling border overlays
- e1cbb50 GPU: Fix various capture/screenshot issues
- 9b8d2a8 System: Required changes for Android
- 9fdeeb3 GPU: Add alpha blending support to overlay
- ade8bf7 GPU: Fix overlay+postprocessing combination
- 8c5c0e6 Common: Fix Vector2->Vector4 zero-extend constructor
- 7905793 GPU: Use screen alignment for overlay instead of display rect
- 21b167d CDImage: Tidy up Open() method
- c03b6f3 Misc: Replace isspace() usage with StringUtil::IsWhitespace()
- 7c2488c PostProcessing/GLSL: Fix image moved off-screen with alignment
- f219b47 FullscreenUI: Use constant width/height scale on Android
- cc0ccf2 Data: Update resources
- 78902d7 FullscreenUI: Fix several more unsafe reads
- 4b20fc6 Path: Fix several errors in URLEncode/Decode and add tests
- 17b0da7 GameList: URL encode custom properties paths with brackets
- 9d4789e FullscreenUI: Fix blank screen flicker starting game
- 389276b GPUDevice: Normalize supports_texture_buffers => texture_buffers
- fb3e290 GPUDevice: Move exclusive fullscreen to features
- 9c4b211 GPU: Fix incorrect screen draw rect
- 080eccd GPUThread: Shutdown instead of panicing on switch failure
- 19ca9cb GPU/HW: Use texture loads for native resolution
- 78f6e11 GPUThread: Skip debug window update on Android
- 4e588bb GPU: Fix incorrect interface for postfx config
- af58740 System: Always display OSD warning messages
- be75a97 GPUDevice: Fix swap chain clear colour normalization
- 0166939 PostProcessing/GLSL: Clear alpha to 1.0
- 0129679 GPU: Reduce overdraw when using overlays
- 8eaa1f3 GPU: Fix overlay destination alpha with postfx
- f045a17 GPUThread: Fix order of updating state
- 89504b0 GPUThread: Push settings through FIFO
- d395be0 Qt: Fix global setting showing incorrectly for int-list
- b08ab9f Qt: Fix border overlay export button
- 9113a6e Qt: Add 'Multiple Devices' to automatic mapping
- df88227 GPU/HW: Further tweaks to replacement alpha handling
- 4da1f61 System: Simplify CD speedup warnings
- 13c7b85 GPUThread: Fix starting big picture mode
- 807094d Atualização Português do Brasil (#3357)
- dc5f85a System: Display safe mode warning when toggling on
- 9096402 GameDB: Rakugaki Showtime does not support analog mode (#3358)
- 9666abc FullscreenUI: Hook up to disc change hotkey
v0.1-8459
Commits
- 9bc5ffe Common: Add Vector4i xyxy(Vector2i)
- b918613 GPU/HW: Use sized tristrips instead of fullscreen quads
- 4c801c3 GPUDevice: Move size-matches check into ResizeTexture()
- 0030bc2 GPUDevice: Ensure 16 byte minimum UBO alignment
- 670dc46 GPU/HW: Slight re-shuffling of field offsets
- 1daa60c GPU: Use tristrips for presentation as well
- 45afc8f OpenGLDevice: Add map-based stream buffer paths
- 87743c7 FullscreenUI: Fix crash reloading postfx shaders
- 08a3c31 CMake: Fix scmversion PRE_BUILD warning
- fc8fbd8 Qt: Disable shared memcard settings outside of shared mode
- 0ad0859 Atualização Português do Brasil (#3351)
- 561397a CDROM: Add 'maximum' read speedup option
- b76ebd2 FullscreenUI: Fix scrollbar rounding in choice dialogs
- bed3dd6 FullscreenUI: Use span for DrawIntListSetting()
- 2b4e60a FullscreenUI: Fix loading screen font
- 9b339d4 PostProcessing: Remove StageCount key for game settings
- 4449ae7 Settings: Rearrange fields to avoid padding
- 40589dc Settings: Add advanced option to set delay for max CD speedup
- 1c9b9ca GPUThread: Restore context after backend creation
- 7d2898b GPU/HW: Exclude 2D polygons from depth buffer
- d9c9b30 GPU/HW: Fix ROV depth being written with semitransparency
- d25cffe GPU/HW: Disable depth testing with semitransparency
- 29934d6 System: Improve rewind behaviour
- 1320d9b Common: Use __builtin_shufflevector() for NEON blend()
- 18c9071 GPU/SW: Skip pixel load if none preserved
- ccfc60e GPU/HW: Remove extra barrier on VRAM download
- 7ac4a85 InputManager: Fix per-bind sensitivity/deadzone not copying to profile
- ee33044 InputManager: Fix SDL sub-options not copying to profile
- ea4e756 Data: Update SDL Game Controller DB
- a26cac1 Cheats: Added register cheat types 5107 & 5147 (#3352)
- c98dbb9 Atualização Português do Brasil (#3353)
- 93a7e7c Cheats: Add bounds check to 5107/5147
- 05b0b03 Cheats: Order special characters before alpha characters
- 440aaf2 FullscreenUI: Modernize achievement popup a bit
- 4af5e96 Controller: Remove analog-mode-start OSD message
- 4b0bb9f FullscreenUI: Increase input dialog padding
- 844287b FullscreenUI: Fix scrollbar on choice dialog at some screen sizes
- 13b8572 Qt: Refactor input device/motor tracking
- 6f9caa6 InputManager: Add proper binds for vibration motors
- 2298227 FullscreenUI: Add binding of vibration motors
- 2d63b34 Qt: Add icons/decorations to input devices
- e4c11aa Qt: Separate controller settings to global and profiles
- d3bee3c Qt: Rename 'Input Profile' to 'Controller Preset'
- e6c0725 InputManager: Hold lock while manipulating devices/sources
- 9971b9e Data: Update PromptFont with KamFretoZ's changes
- d6ce322 Controller: Use additional icons
- 234e1f7 FullscreenUI: Improve controller settings page
- 348e335 Qt: Fix BP start/stop menu item after first activation
- 54780d4 Qt: Fix fullscreen state stuck after exit
- 6785285 Qt: Fix game list toolbar/view menu desync
- 36590f3 InputManager: Fix crash on controller connect on Windows
- 9c35b0e FullscreenUI: Get rid of Timer global
- 9779cee GPU/HW: Ensure texture window bits are initialized
- ee1da34 GPU/HW: Use default initialization for BatchConfig
- ab790ed Common: Fix ARM32 build (again)
- c43533f FullscreenUI: Extend achievement overlays to screen margins
- ce06896 Qt: Fix editing first controller preset
- 0f76543 Achivements: Set rc_client log level from host log level
- e43d704 Achievements: Attempt relogin on system boot
- e4dea69 System: Drop state load OSD duration to quick
- be7cff5 CDROM: Fix loading of subimage SBI files
- 035762a System: Fix subimage change OSD message
- 19ee37c FullscreenUI: Render notifications on top of OSD
- d3ee12d Achievements: Login error notification should be translatable
- a422e06 Qt: Fix incorrect InitialSortOrderRole use
- ea82dac FullscreenUI: Fix a couple of GPU thread race conditions
- 738c96f FullscreenUI: Fix slot disappearing after delete in save state menu
- 2f854de Qt: Invalidate FSUI cover cache when cover changed
- 8f39dbb Achievements: Fix race condition invalidating images
- 3621705 Achievements: Ensure loading old states behave the same as new
- 17e8930 ImGuiManager: Pack state based on thread access
- 9d3c56f ImGuiManager: Fix data races in input forwarding
- 21aef08 XInputSource: Arrays to std::array and forward generic axis
- c45e59f SDLInputSource: Arrays to std::array and forward generic axis
- 062776c ImGuiManager: Map left stick to dpad
- 462a4a3 Controller: Refactor so that GetControllerInfo() can't return null
- 3476140 GPUThread: Add BeginASyncBufferCall()
- aaf2a4b InputManager: Adjust scope of constants
- dd7fd32 Controller: Add GetVibrationMotorState()
- f6c7681 ImGuiOverlays: Double buffer input OSD and add vibration
- dc58d85 Data: PromptFont additions by KamFretoZ
- d3854d0 AnalogController: Use variant vibration icon for large motor
- 0dc257a System: Set time constraints for GPU thread on MacOS
- 991405c Qt: Add search and sorting to cheat list
- 5aa23fa CI: Only pin to major version of actions
- 33c0674 Qt: Remove unused struct
- 6db1dbb GameList: Don't return nonexistant path on icon extract fail
- da1590e Qt: Fix cheats sort button tooltip
- 88e18a8 Image: Fix crash on loading corrupted JPEG file
- 3a13806 Hotkeys: Fix Toggle OSD hotkey
- 880c76d Qt: Fix columns being hidden after editing cheats
- 6a6d362 Atualização Português do Brasil (#3354)
- 1aa1b5a Qt: Make main toolbar editable
- ccb2b61 FullscreenUI: Fix incorrect back button
- 3130e16 FullscreenUI: Add user-selectable backgrounds
- 2fd8940 FullscreenUI: Name landing icon files after action
- bbb1bef RegTest: Build fix
- 2e95667 Qt: Fix returning to desktop mode from Big Picture
- 7973a91 FullscreenUI: Make menu item backgrounds slightly transparent
- 135d99a FullscreenUI: Fix incorrect help text
- 050bda8 FullscreenUI: Fix scroll reset on resume state popup
- 68d9971 Updated Swedish translation (#3355)
- 1952869 Cheats: Author field should be exported
- 3687697 CPU/CodeCache: Only reset used portion of buffer
- 45b500b GPU/HW: Fix draw call count spiking in some scenarios
- 0189e1e Common: Fix vector allfalse() on ARM32
- 57f3fee Common: Further optimize alltrue()/allfalse() on ARM
- 79245b6 FullscreenUI: Make footer text background semitransparent
- 9377198 FullscreenUI: Add sort alphabetically option to cheat page
- 0507054 Common: Add vector rsize()
- f6f709b System: Fix vsync preventing fast forward/turbo
- 074a8a2 GPUThread: Fix input OSD with threaded rendering off
- 10de915 System: Remove 'sync_to_host_with_vsync'
- 804b8ff CDROM: Remove redundant min()
- c4a7456 GPU/SW: Use no_unique_address for potentially-unused varyings
- add76c2 Achievements: Fix request spam downloading own badge icon
- a0c075e CI/Flatpak: Bump to SDL2 2.30.11
- cd8a160 GPU/HW: Clear alpha channel in opaque replacements
- 092b280 GPU/HW: Flipping the mask bit test should flush
- 2957f55 Atualização Português do Brasil (#3356)
- bf7ca19 Qt: Fix game list search box oversizing
- 3be4f19 GPU: Fix playback of VRAM updates during draws
- e554456 System: Fix blank display on pause-on-start
- 7deaaa8 FullscreenUI: Use ImGui dialogs for boot failure
- fbb63a8 FullscreenUI: Change default background and add Strobe
- feeb8d9 CI: Fix Flatpak manifest URL
- d054d76 FileSystem: Add Error to CopyFilePath()
- e94973c FullscreenUI: Fix disc swap running on GPU thread
- e8a4296 FullscreenUI: Add missing settings lock acquire
- c34dda3 FullscreenUI: Fix invalidating images with size hints
- 227c249 FullscreenUI: Skip SVG prefix if image is not a SVG
- 43e7be9 Misc: Add missing error reporting to a couple of WriteBinaryFiles()
- a7ab53f GPU: Fix GLSL ES compile error with weave deinterlacing
v0.1-8326
- 7116a80 Common: Add RESTRICT macro
- 5686677 CPU/CodeCache: Avoid log calls in faults outside of JIT code
- fe1fa76 CPU/Recompiler: Don't back up value to stack in mtc0
- 10e2079 CPU/Recompiler: Don't use far code for mtc0 cache check
- 6993e6c GPU/SW: Fix double draws of polyline vertices
- 831c982 System: Rewrite memory save state handling
- 2d659fc GPU: Move backend work off CPU thread
- 7826c25 System: Frame step after runahead
- c4b0430 System: Remove unused SetExpansionROM()
- 26db661 GPU: Remove global indirection
- 6b754e6 FullscreenUI: Fix CPU/GPU thread race on achievements toggle
- 62285dc Settings: Split into GPU and main settings
- 01dfc9a GameDB: PGXP-CPU for Muppet Monster Adventure
- e1bd569 Misc: Slightly reduce include pollution from settings.h
- 9b97bd5 Packaging: Add scripts to include libc/libstdc++ in AppImage
- 0aa89ec System: Fix some GPU settings not updating
- ad980a7 GPU: Fix 480i resolution display in OSD
- 080d30b GPU: Slightly adjust PAL active range
- a919fa7 GameDB: PGXP-CPU for Wipeout games
- 556a53e Fix Typo in Russian tr (#3346)
- 9b62632 Achievements: Re-add NeedsIdleUpdate()
- b81287e GPUBackend: Remove duplicate num_vertices
- 0b4e302 GPU: Implement PGXP for lines
- 515a4d0 System: Fix pre-frame sleep getting stuck
- 448009f CPU/CodeCache: Fastmem RAM faults are always writes
- 7f1ebd3 PageFaultHandler: Warning fix
- a8361f9 GPU: CLUT should not be saved on CPU thread memory state
- 9e04b0b GPU/TextureCache: Add 'Always Track Uploads' option
- 406cd1b Qt: Shuffle a couple of graphics options
- f3f99f7 FullscreenUI: Support renderer swapping without restart
- 8e254c4 GPUBackend: Fix VRAM loss with runahead/rewind
- 9a22ac3 GPU/HW: Download VRAM when enabling sw-for-readbacks
- 2aa466d Atualização Português do Brasil (#3347)
- 307bd86 SPU: Fix determinism loss when loading state where IRQs differ
- 18c509a CPU/Recompiler: Exit block early on DCIC/BPCM change
- ac05c35 CPU: Fix DCIC not being cleared on reset
- 9f73e69 CPU: Debug mode flag should be updated on state load
- 89f1109 CPU: GTE completion cycle should be reset/serialized
- b8fa97e GPU: Fix sprite texture filtering with TC enabled
- 00278fa PIO: Fix failure to load state with different cart type
- 33083cf Settings: Add missing bitfield width
- 86d78e5 GPU/TextureCache: Only use shader bilinear for initial pagefill
- f4265ed SmallString: Add append_vformat()
- dc18ce2 System: Warn if fastmem mode is not optimal
- c4e0e7f InputManager: Fix mouse-mapped axes getting stuck
- 0565320 ImGuiFullscreen: Enable smooth scrolling for file/choice selectors
- e7ff547 GameDB: Street Fighter games
- ad7318f FullscreenUI: Fix spacing in game list
- d010f76 FullscreenUI: Fix smooth scrolling in game/state/etc lists
- b81c879 Qt: Fix F3 getting intercepted when game/FSUI active
- 8f6db2c Qt: Add missing icon to System Display
- b33aa31 FullscreenUI: Update translation strings
- dd180f2 System: Fix dump VRAM writes not updating on GPU thread
- 6f3e991 GPU/HW: Fix VRAM write dumping only first row
- b03127b GPU: Move background dumping to HW+GPU thread
- 8c2fe43 GPU/TextureCache: Apply 'Dump Replaced Textures' option to backgrounds too
- d360564 GameList: Fix lock not re-acquired on failure
- 00eb54c Achievements: Refactor state serialization
- 0528ce5 Achievement: Fix glitchy fade indicator animation
- 6903abb CDROM: Adjust missed INT1 sector behaviour
- fa99384 Qt: Update English/Plural strings
- 750dd1c dep/rcheevos: Bump to 3a91a58
- 55c5e17 GameDB: Driver 2 settings
- 272aa4f ImGuiManager: Add Begin/EndTextInput()
- 5c83bbe FullscreenUI: Slight tidy-up to achievements login dialog
- 9921d20 Achievements: Fix serialization on Linux
- 7b9664d Atualização Português do Brasil (#3348)
- a44dd18 RegTest: Update CLI help
- ce71b16 CPU/CodeCache: Add static to a couple of missing functions
- 4b34825 CPU/CodeCache: Remove InstructionInfo pc field
- 4e5b4ba CPU: Fix AdEL/IBE on instruction fetch
- 2a8cfc7 CPU/CodeCache: Simplify code LUT addressing
- 2da692b CPU/Recompiler: Swap bl{x,r} for b{x,r} on ARM
- 69ed6e5 Hotkeys: Screenshot should not be present on Android
- 58b0ccf Common: Add 2D vector formatters
- c99625e GPU: Move vertex culling to GPU thread
- 25b0bb7 GPU/HW: Try truncating culled vertices
- 74fd217 GPU/HW: Always update/load/save CLUT
- c258946 GPU/HW: Remove extra debug group pop
- 7bb0c7d InputManager: Fix pointer scale loading
- 8c80711 GPUDevice: End timer on command flush
- 799f5bd GPU: Assume vertex commands are 8-byte aligned
- 5c3abb4 Common: Fix vector sse2_max_u16()
- 0e6ade0 FileSystem: Add error reporting to DeleteDirectory()
- 1a211e0 GPU/HW: Fix mask bit regression from FF8 fix
- b7832e6 GPU/HW: Vectorize flipped sprite handling
- 1ed9e60 RegTest: Support replaying GPU dumps
- 82a843c RegTest: Log state and RAM hashes on exit
- 242561d CPU/Recompiler: Align dispatchers and JIT blocks
- ab10772 Scripts: Add -only-download option to Linux deps
- d4e393f Common: Fix write overflow with nosimd vector
- 468c907 Cheats: Compiler warning fix
- 9cba1de GPU/HW: Compiler warning fix
- 156b3f9 Scripts: Add Linux cross-compile deps script
- a08bd43 CMake: Fix incorrect message for cache line size
- 401582b PlatformMisc: Load libdbus at runtime
- d65ae6c Scripts: Add cross-compiled AppImage generator
- 4e928d7 Common: Work around LLVM LTO inline asm issue
- 9cd9042 CMake: Fix RISC-V building with LLVM
- c5bd410 GPU: Refactor and simplify deinterlacing
- 4d4523d GPU: Use same early culling rules for lines as polygons
- 3c5db39 GPU/SW: Remove polygon size checks from backend
- 7228f6f System: Don't fail startup if cpuinfo init fails
- a3645f3 GameDB: Gokujou Parodius Da! Deluxe Pack
- 69826f2 FullscreenUI: Fix incorrect section for Deinterlacing Mode
- e0877c1 System: Add IsUsingPS2BIOS()
- 1bf076c VulkanDevice: Fix crash on shutdown if swapchain creation fails
- b76618f System: Should call PGXP Reset not Initialize() in InternalReset()
- 79b0533 Common: Fix RISC-V/64 fastjmp buffer size
- a4b3596 Common: Switch fastjmp.cpp asm to tabs
- 4c08c71 CPU/Recompiler: Fix dispatcher crash on RISCV64
- 34f2600 CPU/Recompiler: Fix ICache update codegen on RISCV64
- f25302c CPU/Recompiler: Actually use fetch ticks for uncached EXP1
- d69d254 VulkanDevice: Hopefully fix init under Vulkan 1.0 drivers
- ffef0c2 CPU/CodeCache: Don't compile invalid jumps via block links
- 884459d FullscreenUI: Fade alpha change when switching to postfx settings
- 57be62f FullscreenUI: Remove a couple of untranslated titles
- 8605722 GameDB: GTA does not support analog mode
- a08acdb System: Improve texture recycling when changing rewind/runahead settings
- f51dda3 GPUDevice: Allow this-frame pooled textures when not uploading data
- d0e1efb Common: Add more GSMatrix ops
- 22202f1 Common: Fix vector blend32() and dot() on SSE2
- dcd439e GTE: Add 'Free Camera' feature
- 1d63648 Qt: Forward text input to aux render windows
- 5ac5a1d Hotkeys: Fix resolution scale with memory save states
- f3b7686 System: Fix crash with memory save states + renderer switch
- 37e5e64 System: Move state display updates to call sites
- c11468b Qt: Drop log messages if rate is too high
- e036318 Qt: Add 'Controller Test' to tools menu
- 0fdf984 GTE: Disable freecam on Android
- 179e2f1 FullscrenUI: Fix field spacing scaling in game list view
- b213128 FullscreenUI: Fix popup sizes for postfx settings
- 3a64c5e FullscreenUI: Improve field alignment in achievements login
- cd873eb GTE: Add 'Reverse Transform Order' option to freecam
- 08cd649 InputManager: Fix pointer-bound bind movement
- 83b4757 Qt: Controller Test should be disabled while running
- 90cb266 Common: Small tidy-up and constexpr-ify GSMatrix4x4
- fc5553a GTE: Improve reverse transform freecam
- d3fe1df ImGuiManager: Separate debug and OSD fonts
- ba15a76 ImGuiManager: Pack state in struct
- 87e3670 PostProcessing: Get rid of Timer global
- e08dda0 CPU: Declare state with constinit
- e096827 Updated Swedish translation (#3349)
- 88cd086 Cheats: Eliminate extra newlines during code editing
- b2c8d25 GPUBackend: Only display CPU thread blocked messages if queueing
- dda10d3 Qt: Add search box to hotkey settings
- f9bb413 Qt: Enable clear button on hotkey search
- 52e6e8f PostProcessing: Compile warning fix
- 5476015 Common: Add TaskQueue class
- db14824 System: Use task queue for saving states/screenshots/gpudumps
- 8085509 Qt: Rewrite cover loading/generation
- 9054801 ImGuiManager: Update viewport and display size
- 548f1da Atualização Português do Brasil (#3350)
- 78ccbc7 Cheats: Fix error while exporting
- 920f254 Qt: Simplify Fullscreen UI state tracking
- 076f4a6 Qt: Fix delay in progress dialog opening
- 8353a33 X11Tools: Fix refresh rate query failing with XLib handle
- 886040b Qt: Display 'No Image' instead of 0x0 in status
- 6043b23 Platform: Fix incorrect dbus shared library name
- a5d90c0 Deps: Bump to SDL2 2.30.11
- 4d6124d Platform: Fix AppImage dbus library mismatch
- 5ee069f FullscreenUI: Add option to display PS buttons instead of Xbox
- 9f41ef9 Scripts: Add release commit generation script
- 1765590 Qt: Add 'Disable Window Rounded Corners' option
- 0960160 System: Don't check for subchannel with GPU dump
- dc9cddd Qt: Add zst/xz GPU dumps to file filter
- cae1ddc GPU: Ensure batches are flushed before presenting frame
- 092e819 ImGuiFullscreen: Move texture loading to async tasks
- 6318223 Qt: Remove Apperance/Update settings from Game Properties
- dacbb7c Qt: Behaviour -> Behavior
- 2b7b3d8 S...
v0.1-8153
Commits
- 0079f7a CDImageCue: Support reading .wav files (WAVE cuesheet files)
- b984f34 System: Fix audio CD images not showing title
- 5d85198 Image: Fix uninitialized read without SIMD
- d26fc89 dep/imgui: RISC-V compile fix
- bb24d40 Pad: GCC compile fix
- 5c03e1d Misc: Fix alignment errors on ARM32
- d2d06ad CPU/NewRec/ARM32: Shifts need to be explicitly masked
- f67eacc CPU: Default to new recompiler/remove old recompiler
- 5261cfe CPU/Recompiler: Tidy up type names
- 5bcf99f CDImage: Merge bin/ecm handling into one class
- 88836c4 GameDB: King's Field I/II (Japan)
- e987b56 Log: Remove unused ISOReader channel
- c970740 InputManager: Workaround macro chord trigger issue
- ff01068 Updated Swedish translation (#3333)
- affbdfc Timer: Fix >1 second sleeps on MacOS
- e647192 GPUDevice: Add compute shader support
- 3ff1b04 GPUDevice: Support generating mipmaps
- 24dfd30 Image: Refactor to a more generic class
- 7eb1d4e GPUDevice: Support compressed textures
- 8567293 Util: Add TextureDecompress
- ae14c87 Image: Support decompressing BC1-7
- 7b230dc GPU/HW: MSAA samples change needs to recreate pipelines
- 70a4b5c GameDatabase: Add missing flags
- 852239e Qt: Add game list language override option
- 9fa8fee Achievements: Use rc_client for pause throttling
- 40a1bee CDROM: Fix incorrect clmap in XA-ADPCM decoding
- 0076af6 SPU: Zero out upper ADPCM filters
- 0ae8fcc GPU/HW: Fix incorrect sampling at 1x with TC
- a804801 GPU/HW: Support filtering with texture cache
- dec4689 GPU/HW: Fix sprite mode triggering on screen-aligned UVs
- b180b26 GPU: Rework "All Borders" cropping to be aspect correct
- 982dccb D3D12Device: Clang warning fixes
- 4a650fc GPUDevice: Fix VRAM usage calculation for compressed textures
- 57595c4 GPU/TextureCache: Move replacement cache onto the GPU
- 5fd7925 GPU: Fix crash when toggling software renderer
- be7a20f GPU/TextureCache: Map replacement non-255 alpha to fully transparent
- 0befbf8 GPU: Add Uncorrected Borders crop mode
- d1b904a Qt: Fix game properties crash opening non-DB game
- 4edae3c GPU/HW: Depth buffer needs to be a RT in ROV mode
- b97788a PostProcessing/FX: Force native paths for includes
- 1434507 FileSystem: Add span overload for WriteBinaryFile()
- 57d3aa4 FileSystem: Add Error parameter to StatFile()
- b28ca2b Qt: Improve updater error reporting
- eb390a9 GPU/TextureCache: Specify max hash cache size/memory in config
- 97700b8 GPU/HW: Clear ROV depth on fill/copy/write
- a879c11 Qt: Prevent multiple update download button clicks
- 4e43b1e Debugger/MemoryScanner: Add 'Freeze Selected' (#3334)
- b81d671 Updated Swedish translation (#3335)
- 2e0825a Atualização Português do Brasil (#3336)
- cd216d9 Qt: Re-enable download button on update failure
- 73dc52a Adding Swedish flags to UI (#3337)
- c4d4a7a Fix Missing Flag (#3338)
- 208e6c4 Cheats: Strip whitespace from code names
- eeee1e6 Cheats: Support importing native format
- 6be2424 AnalogController: Simplify rumble config
- 3ed6cc2 GameList: Fix crash loading custom language options
- 6d72a48 Qt: Disable All Enhancements -> Safe Mode in Debug menu
- dac5dd5 HTTPDownloader: Improve error reporting
- 2e31a40 Qt: Zero spacer size hints in Graphics Settings
- da501b9 StringUtil: Add ParseFixedHexString()
- bbe6612 Common: Add SHA256Digest
- c0b4627 StringUtil: Drop old MacOS workaround
- b39f155 StringUtil: Add Base64 decode/encode functions
- 83274c7 ThirdParty/SmallVector: Compile fixes
- d3246de ThirdParty: Add aes.cpp
- ff3214b SmallString: Add span helpers
- 5401dc8 Settings: Add EmuFolders::IsRunningInPortableMode()
- 9970944 Achievements: Add encryption of login tokens in ini
- 6cbfab6 MetalDevice: Warning fix
- 19eee76 AnalogController: Reduce log spam
- d5b9b54 GPU/SW: Vectorize VRAM writes/copies
- 682ba71 GPU: Fix aspect ratio with Show VRAM enabled
- ae18db9 RegTest: Use filename instead of database title
- aafc029 Misc: Un-namespace Timer
- b059cda Achievements: Pack state in struct
- cbc16be GPU: Display scanout resolution regardless of crop mode
- b7fff84 System: Move thread name init to host
- 0f51472 Misc: Android build fix
- ee750b4 Settings: Normalize texture replacment option titles
- dfacf9e VulkanDevice: Only create swap chain framebuffer without dynamic rendering
- fa4dc38 GPUDevice: Rename RGBA5551 to RGB5A1
- c6e2235 GPU/HW: Vectorize texture conversion routines
- 53008eb GPU/HW: Allow use of RGB5A1 for texture cache
- f1435dc Settings: Bump maximum hash cache size
- 9dec34c Settings: Disable texture replacements if TC disabled
- 145ad2d GameList: Fix scanning of ELF files
- 67041d2 Qt: Improve shortcuts
- 62414b0 CPU/Interpreter: IBE should not set BD/BT
- c6746e7 CPU/Intepreter: Raise #RI on invalid COP0 move
- 42c5f91 CI: Merge all packaging scripts to one directory
- 9c2244f Qt: CustomizeWindowHint should be set for no-close-button
- 00132c6 AnalogController: Fix more log spam
- 9fc9f4b Settings: Fix hash cache fields not being compared
- 4fe3e11 Controller: Add GetPortDisplayName() that takes pad index
- b87c6dd CDROM: More logging tidy-up
- d7d028a GameDB: Recompiler ICache for Resident Evil 3
- f9c125c InputManager: Add ForceFeedbackDevice interface
- 7c627a8 Controller: Add JogCon
- aff623b GameDB: JogCon games
- 4aa9857 Qt: Fix fallback binding layout not including motors
- 2a7625e CI: Add workflow dispatch triggers for all jobs
- 0faa9cf Build: Add Devel configuration
- 9df5971 GPUDevice: Put debug messages/scopes behind conditions
- e9848a6 Misc: Collapse more niche log channels
- 2f70d1b CPU: Write trace log to data directory
- 71e1032 GameDB: Army Men: Sarge's Heroes
- 6756c96 CDROM: Improve SeekL -> ReadN timing
- 22edf23 GPU: Fix parameter logging of some commands
- 3959c83 GPU/TextureCache: Fix split writes not dumping
- ac79e43 Deps: Bump versions
- cbc22a8 GPU/HW: Fix TC + SW-For-Readbacks combo
- 297165d Deps: Fix MacOS build
- 14ff89d MetalDevice: Fix incorrect pixel format for RGB5A1
- 25063d4 Achievements: Fix overlay stacking
- 03eb4a6 Atualização Português do Brasil (#3339)
- 9a5ee3a Qt: Fix horizontal scrollbar showing in summary track list
- d3ceda0 CPU/CodeCache: Improve block host size heuristics
- 0a2facf Settings: Don't enable fastmem without recompiler
- 5b6e3a9 System: Reset code cache on fastmem mode change
- d93c713 FileSystem: Make POSIXLock moveable
- 04e472d FileSystem: Add non-blocking option to POSIXLock
- 84a1e20 OpenGLDevice: Lock pipeline cache on Linux
- 3ca2579 Qt: Add additional early SSE4.1 check on Windows
- fe3b415 PostProcessing: Fix crash on UI open with OpenGL
- 20df4ec Spanish (Spain) update 2024/12/03 (#3340)
- e9644c7 ISOReader: Add file extraction helpers
- 58f5d7e Qt: Fix missing status message on delayed progress show
- 541985f Qt: Add ISO Browser
- 0c7636b System: Add missing safe mode disable messages
- ea63266 Qt: Fix possible game settings save error with sliders
- 3670c13 Qt: Hook up extract button in ISO browser
- 6d080c1 GPU: Fix additional GL_POP() causing validation errors
- 5c4d95f Settings: Add missing GPU feature disables
- 042a2d7 Threading: Add IsCallingThread() to ThreadHandle
- c9c4307 FileSystem: Android build fix
- 52feb1a PostProcessing: Improve compile error reporting
- 9c327af GPUDevice: Typedef auto-recycled texture
- e22d67f GSVector: Add 4x4 matrix class
- acf04ed GPUDevice: Use row-major matrix packing
- f0c4568 GPUDevice: Support pre-rotating swap chains
- c3a9ab3 Atualização Português do Brasil (#3341)
- dbba8de Packaging: Fix path in pkgbuild/spec
- 8c5fada GPUTexture: Add A1BGR5 format
- 5725a03 GPU: Use A1BGR5 format for SW/HashCache if available
- f9155e5 Settings: Fix incorrect data type for rewind slots
- d5432da Settings: Disable runahead/rewind in Safe Mode
- 3a661a1 Cheats: Move file clearing into core
- 7f3687d Common: Report assertion failure/panic message for Android
- 2999f15 StringUtil: Add UTF-16 encoding/decoding functions
- b6eb41e Qt: Improve binding widget tooltip
- 1adf36c Build: Fix out-of-tree CMake scmversion extraction on Windows
- 5bf7227 CPU/CodeCache: Use code buffer section on Android
- 9b0a906 GameDB: Add more missing hash entries
- 31d953d System: Prevent memcard blocking resume state save
- a4af88b GameDB: More PSX.EXE hashes
- 5d7cb6c System: Move state compression/writing to worker thread
- 53c08c5 ImGuiFullscreen: Pack state in struct
- 765a46f FullscreenUI: Pack state in struct
- 09ba2ed GameDB: Remove duplicate code entries
- 8bb0135 GameDB: Remove redundant codes sections
- a1928de ImGuiOverlays: Pack SaveStateSelectorUI state
- 4253559 HTTPDownloader: Log errors on request failure
- 1bea881 Host: Add ConfirmMessageAsync()
- b814666 CPU/Recompiler: Fix ARM32 build (again)
- 2e6deca FileSystem: Don't use POSIX locks on Android
- 1e83922 CDROM: Fix physical disc reading without SubQ on Linux
- 0bb83f6 OpenGLDevice: Fix inverted cache file lock
- 5767397 Qt: Remove 'Enable Cheats' from Console Settings
- e137d3b Common: Fix rectangle rempty() on ARM32
- cc567d9 Cheats: Fix hash-suffixed files incorrectly loading
- 1edcc8c System: Merge system taints with state taints on load
- 5eac1e4 VulkanDevice: Blacklist FSI on AMD Windows
- d871c17 Settings: Set sprite texture filter on reset
- 69947fb GPU/TextureCache: Look for replacements outside of subdirectory
- 9743ce0 OpenGLDevice: Support GLES 3.0
- d8af8e4 GPU/HW: Fix possibly-stale display with MSAA+Show VRAM
- e507fdc System: Load state before calling OnSystemStarted()
- cdcf05a CPU/Recompiler: Only tr...
v0.1-7928
Commits
- 482f99c CI: Add icons to main sub-jobs
- 4763b67 GameDB: PGXP-CPU for Vandal Hearts II
- 5cf2c86 CDROM: More accurate approximation of sectors per track
- 97938a8 CDROM: Improve command logging clarity
- 5f607d8 CDROM: Avoid double seek on repeated Setloc+ReadS
- a2af51b CDROM: Simulate backwards track jump after seek/pause
- 5219e4f CDROM: Simulate real pause timing
- 801ddf7 GameDB: Remove DMA override for RE2
- b8f397c GameDB: Aces of the Air
- babaffc GPU/HW: Don't enable no-color-perspective when unsupported
- 3504294 FileSystem: Move separator macro to path.h
- c2316df InputManager: Fix relative mode engaging for gun controllers
- 2da32d8 Qt: Allow saving empty string to config
- 8ec9c90 Qt: Fix settings not applying immediately when editing profile
- 3cf7a94 GunCon: Allow empty/disabled crosshair
- 41a8912 VulkanDevice: Work around older NVIDIA driver present bug
- 194e9bb Spanish (Spain) translation update (#3330)
- 49b669c Qt: Make image verification cancellable
- 61dae0e Qt: Disable close for non-cancellable progress dialog
- 854a8eb Qt: Fix non-cancellable progress dialog height
- d5e2db0 Misc: Fix new clang-cl warnings
- 9fbb760 CI/AppImage: Bump to LLVM 18
- 5cfb76e GameDB: PGXP-CPU for Sheep Raider
- 8543194 ImGuiFullscreen: Fix position resetting to top of list on popup close
- d56bcfa FullscreenUI: Fix activate button stuck on input bind
- bb450d5 FullscreenUI: Fix nav focus loss on input bind
- 49a6ef7 FullscreenUI: Add icons to remaining options
- 8747101 FullscreenUI: Fix enable state of skip dupe frames
- 7255309 FullscreenUI: Move remaining OSD settings to main page
- 7a11b95 Qt: Update Korean translation by Hack茶ん
- 97d8a35 GameDatabase: Fix compatibility rating localization
- 574f127 FullscreenUI: Hide advanced settings by default
- ed78a20 FullscreenUI: More icon replacements
- 122fe3d Updated Swedish translation (#3331)
- 6c1b98e GPU/SW: Fix 256-bit AVX2 path
- 9838dd9 GPU/TextureCache: Purge copy-target sources from hash cache
- 1451e96 GPU/TextureCache: Pack state in struct
- 988a7c8 GameDB: Fix Cardcaptor Sakura names
- 869b159 DiscDB: Fix Cardcaptor Sakura names
- cf0c2ea GameDB: PGXP-CPU for Tenchu 2
- 4b71428 GPU/TextureCache: Fix tracking getting enabled without TC
- 5a94880 Achievements: Purge first-disc-from-playlist option
- 81e2619 FullscreenUI: Add missing icon
- 2791a9a Scripts: Move l10n glyph range script to scripts
- b726fa8 Scripts: Fix SyntaxWarning in glyph range updater
- b59f9a1 ImGuiManager: Plumb through clipboard access
- 2da7859 Qt: Fix incorrect parent window for locks
- ca9af62 FullscreenUI: Add a BP achievements login dialog
- 378fd80 CDROM: Defer subq read until needed
- e6892e0 Common: Fix incorrect condition in PreviousPow2/NextPow2
v0.1-7878
Commits
- ca2ed61 Timers: Work around possible MSVC codegen bug
- b5c83e6 Qt: Drop Qt 6.7.0 workarounds
- d0ad4e7 dep/libchdr: Fix mismatched function pointer type
- 8bd0e6c CPU/CodeCache: Clear blocks on system shutdown
- bcd5cd0 GPU/ShaderGen: Fix debug assert tripping with fbfetch
- 2cd3f20 dep/rcheevos: Bump to 3106e6d
- f889136 PostProcessing: Don't try other types after first failure
- a854ed2 Qt: Use game start fullscreen flag for BP too
- 88e14dd RegTest: Support using global data directory
- 57ca5dd ImGuiFullscreen: Default input source to keyboard if none
- 7b7dd2b AnalogController: Reset state on analog->digital switch
- 3952661 GPU: Write initial rendering attributes to GPU dump
- 2044e35 GPUDump: Fix unknown compression type reported with Zstandard
- 65f3dcb HeapArray: Fix assignment/move with aligned variant
- ead9e56 System: Support loading ELF files
- 886ef4c WAVWriter: Add matching reader class
- c461ad7 D3D11Device: Ensure we don't drop to feature level 10 on query failure
- 2d22409 dep/libchdr: Fix handling of duplicate codecs
- a6c19cc OpenGLContext: Compile fix on MacOS
- 5f6daf8 CI: Bump flatpak-github-actions version
- dec40e2 Deps: Bump to SDL2 2.30.9
- 7ac7175 Qt: Right clicking while binding should not clear input
- e8bb6ba Qt: Don't allow doubleclick-to-fullscreen in relative mode
- 160c27e Adding Swedish translation (#3327)
- 3a271ff Qt: Enable Swedish translation
- 3874df6 Qt: Enforce minimum progress dialog height
- e3e0fe6 Log: Prepend timestamp to multi-line messages
- 2bf0838 MetalDevice: Fix import of non-page-aligned buffers
- 5b60078 GPU: Page align VRAM storage on Apple Silicon
- 8611f4f System: Handle GPU device loss in BP-only mode
- b70a848 OpenGLDevice: More verbose logging of surface creation failure
- 0234137 VulkanDevice: Use VK_EXT_surface_maintenance1
- 92bcf64 VulkanDevice: Refactor present failure handling
- 439e05b Update duckstation-qt_sv.ts (#3329)
- 5caadec Cheat bugfix and new A8 cheat type (#3328)
- 596cca9 RegTest: Improve -maxframes option
- 3f41dcc Log: Add option coloured variants
- 6ffa5bf CPU: Handle mirrors of BIOS syscalls
- 365e129 CPU: Fix puts() hook incorrect arg
- 816ef45 OpenGLDevice: Fix possible missing eglMakeCurrent() after FS
- e69f0d3 OpenGLDevice: Support both XCB and Xlib
- 5bc38ff CI: Split and add dedicated Flathub publish