Releases: stenzek/duckstation
Releases · stenzek/duckstation
Latest Preview Build
Commits
- Add 2D vector formatters (Stenzek)
- Move vertex culling to GPU thread (Stenzek)
- 25b0bb7: GPU/HW: Try truncating culled vertices (Stenzek)
- 74fd217: GPU/HW: Always update/load/save CLUT (Stenzek)
- c258946: GPU/HW: Remove extra debug group pop (Stenzek)
- Fix pointer scale loading (Stenzek)
- End timer on command flush (Stenzek)
- Assume vertex commands are 8-byte aligned (Stenzek)
Latest Rolling Release
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
v0.1-7836
Commits
- 26b6c70 MemMap: Support dynamic page size selection
- dde7ebb Deps: Update to Qt 6.8.0 and SDL2 2.30.8
- 7ce4c34 VulkanDevice: Scissor rect should never be negative
- 407dccb Qt: Move GDB server enable to advanced options
- 83a1386 FullscreenUI: Collapse macro button settings by default
- 8680900 ImGuiFullscreen: Fix horizontal menu items getting clipped
- 3d55036 Image: Span and Error-ify
- 3e26b7a Image: Support rendering SVGs
- 38a331f ImGuiFullscreen: Support loading SVGs
- dedc177 GameDB: Normalize language fields
- 2fc5856 StringUtil: Add CompareNoCase()
- ba0708a GameDatabase: Add parsing of Language field
- 6e26ba3 Qt: Display language flags instead of region
- 5ab65ff Qt: Remove now-duplicate flag icons
- 412c8f0 Replaced any : in #Cheat Descriptions
- 07cb8d9 Referenced svgs not in project
- 1e119c8 Added the rest of the flag svgs (#3309)
- 21ec3c1 Qt: Fix automatic binding button in per-game controller settings
- 86d66dd StringUtil: Don't call data() on empty string_view
- d8fef6f GameDatabase: Store strings as views
- 0d05548 MinizipHelpers: Add ReadZipFileToString()
- 2079bac StringUtil: Add FromCharsWithOptionalBase()
- e0b6f6f Cheats: Rewrite cheat management system
- 4694859 CI: Download chtdb at build time
- b3ae9cb Qt: Swap compatibility star image to SVG
- a11ed64 Qt: Add keyboard navigation to memory view
- 4a57ccc Cheats: Strip leading * when importing old files
- 11c2122 System: Only check controller changes when valid
- 2604df5 Qt: Fix crash when players column is visible
- afd3656 Atualização Português do Brasil (#3310)
- 219e890 GPU/HW: Write through VRAM transfers
- 7ad48c9 GameDB: Various fixes (#3311)
- 972a069 Memmap: Compatibility with old libc without MAP_FIXED_NOREPLACE
- d4f3e00 Host: Add missing SetBaseUIntSettingValue()
- e2cb54d Settings: Use uint getter/setter for more fields
- 005d48a System: Don't display setting warnings without game
- c6055af OpenGLDevice: Fix invalidating pipeline cache on Windows
- eb46142 GPUDevice: Extract swap chain to separate class
- 6dc2f0a Host: Add 'Auxiliary Render Windows'
- 86a28d5 ImGuiOverlays: Move debug state to auxiliary windows
- 854a109 Qt: Qt 6.8 deprecation fixes
- 50d8bb0 MemoryCard: Add RenameFile() and localize errors
- b99ee59 Qt: Add 'Rename File' to memory card editor
- f0be61b Atualização Português do Brasil (#3312)
- 2aea065 README: Mention chtdb
- baa9065 System: Add taints to save states
- 57cf0f2 System: Reload cheats/patches on safe mode toggle
- 76208f5 System: Display localized trait names
- f83cbbd Qt: Work around a couple of Linux issues
- 49134ef Settings: Fix PGXP suboptions getting disabled
- cc275b6 Atualização Português do Brasil (#3313)
- d3234a2 GameDB: Updating genres (#3315)
- 41c709e CMake: Reference shaderc/spirv-cross unconditionally
- e4a358c Controller: Add Pop'n and Densha De Go Controllers
- 9050098 GameDatabase: Rework deinterlace mode selection
- 43ed924 GPU/HW: Fix assert triggering in debug mode
- c279376 Qt: Fix menu creation from incorrect thread
- 163cb2f MemoryScanner: Fix default operator value
- 864d692 MSBuild: Fix default startup project
- 8cd4982 Spanish (Spain) translation update 2024/10/19 (#3317)
- aacd62b GameDB: Some more genre fixes (#3316)
- ecc0356 Atualização Português do Brasil (#3319)
- 5c4a9f9 MinizipHelpers: Close file after reading
- 6cc350a Cheats: Serialize access to zips
- e0bc03b Controller: Fix localization with new types
- dbb2274 GameDB: Fixing some codes for Lightspan games +more (#3318)
- 056b629 ImGuiManager: Add 'Screen Margins' (i.e. safe zone)
- 45f7829 CI: Temporarily disable Flatpak builds
- b277035 Qt: Use Qt 6.8 thread helpers
- 4666057 SettingWidgetBinder: Add enum overload that populates dropdowns
- 428c3e3 Host: Fix error when switching to surfaceless
- 4ab2292 GPUDump: Add GPU dump recording and playback
- 825dd13 GameDatabase: Fix crash with deinterlacing mode
- 60f6ee3 RegTest: Build fix
- 0d3501d Misc: Pass SettingsInterface by const reference
- c250209 System: Fix input profiles inheriting base settings
- 05c285f Settings: Fix cheats/patches not being removed on clear
- be268d8 Qt: Fix safe mode not resetting on gamesettings clear
- b62e587 System: Fix GPU usage disappearing on renderer change
- a9bfe26 System: Simplify error path in BootSystem()
- 6e1d8c5 Qt: Fix settings clear not resetting input profile
- 32e6272 Pad: Implement RX/TX IRQs
- 63685ce Atualização Português do Brasil (#3320)
- c11b250 Cheats: Search archives with disc set serials
- bd5a97f Qt: Fix global safe mode checkbox
- 396e7d9 System: Make global safe mode always take precedence
- 164c043 InputManager: Add pressure/deadzone to macros
- 19a0854 Deps: Update LZMA SDK to 24.08
- 3a76485 CompressHelpers: Support XZ compression/decompression
- 485f81a GPUDump: Support XZ compression
- 4963dc1 Host: Make resource routines fill error object
- 631f32a Common: Add ZipHelpers
- 761c8bd Deps: Build libzip
- a8d846a Cheats: Use libzip for reading archive
- 2d04f2e System: Support loading .CPE files
- 7d2216c GameList: Avoid double fopen/read of EXEs
- 903213c Hotkeys: Add hotkey to open cheat settings
- cdd230c ImGuiOverlays: Fix input overlay glyph clipping
- 080807e CDROM: Move subchannel replacement from CDImage
- 19ae3be Settings: Re-enable "Start Fullscreen" per-game (#3321)
- 9e5deb8 dep/libchdr: Update and fix numerous vulnerabilities
- b92eeec System: Warning fix
- d8cd32d GameDB: SLED-01340 requires subchannel
- 6af71be GPU: Work around nearest sampling issues on AMD
- 1ae2dcf GPU: Propagate initialization error to caller
- 7f5a4a0 Atualização Português do Brasil (#3322)
- 7782bb9 CDROM: Fix lockup when loading state with precaching
- 62de181 Flatpak: Build libzip
- 82e9bcc Qt: Compatibility with Qt 6.7
- 8def5b5 GameDB: Allow user to choose different mode for ForceDeinterlacing
- 24f15ac BPM: Adjust Hotkey And Button Legends (#3323)
- 218df62 Cheats: Fix crash on parsing invalid cheat
- 1d21ca6 Cheats: Allow hex literal in option ranges
- aa0c006 GPU/HW: Move shadergen parameters to functions
- 6cf8ac3 GPU/HW: Make copy/write shaders resolution independent
- c6b7468 GPU/HW: Split shaders into resolution independent/dependent
- 2c57817 System: Invalidate display on debug window change
- 99e6528 GPU/HW: Prefer shader over image copy if not dirty
- 875ccec System: Use frame rate for speed calculation
- 21d19a6 System: Move perf counters to separate namespace
- 166c930 System: Move private functions to separate header
- d34707a System: Pack state in struct
- 53fb5cd GTE: Remove dependency on GPUDevice
- b86fdc1 Threading: Add error checking to semaphore
- 0dc78e4 Timer: Fix sleep timer handle leak
- bfadd60 System: Add 'Task Threads'
- a3d55c6 Misc: Android build fixes
- dadc994 GPU/HW: GLSL ES compile fix
- d24e8fd GPU/HW: Only enable fbfetch/DSB when needed
- 2043128 System: Fix per-game fast boot applying too late
- 814f22f Cheats: Only apply overclock when it is not already enabled
- 5bca12a GameDatabase: Add ForceFullBoot trait
- 5518199 GPU/SW: Fix polyline culling
- 65d7f3b dep/libchdr: Correctness fixes for 9e5deb8
- dfc4e08 GameDB: Finished off the database DEMO genre entries
- 9cb2cab FullscreenUI: Fix footer text in save state submenu
- ad73093 Update Russian translation (#3325)
- afb9ab7 DMA: Show MADR in debug window
- 6551358 Log: Replace channel string search with bitset
- 145fbff Qt: Add log level/channels to debug menu
- b646f14 GameDB: DMA override for RE2
- 9733d8a Flatpak: Swap to KDE 6.8 SDK
- b4e509d Qt: Fix FF/turbo speed resetting in game properties
- 09a8257 dep/imgui: Fix smooth scrolling on scrollbar drag
- 775496a FullscreenUI: Ensure each cheat option has a unique name
- 12acecb FullscreenUI: Allow editing option range cheat values
- 2c3d1d9 dep/libchdr: Check that metadata seek succeeds
- 95be381 Qt: Fix cheat code delete message
- a8bc364 Cheats: Fix importing hash-formatted codes
- 0fc719c Cheats: Simplify code merging on import
- d416ecb Qt: Add 'Clear Cheats' option to cheats page
- 8f087ab Qt: Add prompt to enable cheats when list is checked
- a8b5883 SettingsInterface: Add missing const qualifiers
- 8c4d595 Qt: Make input source selection non-inheritable
- 98cce64 Qt: Fix empty device list when editing profile
- ac19768 Qt: Make multitap mode non-inheritable as well
- 88147d8 Qt: Fix legacy cht file clearing
- dae5973 Data: Remove non-functioning shader
- be271e3 Atualização Português do Brasil (#3326)
- bb74049 CDImageCHD: Show precaching in MB
- 4c13777 CI: Remove Flathub push
v0.1-7675
Commits
- aa9a5e3 ImGuiOverlays: Change icon colour depending on controller mode
- fda6140 GameDatabase: Add DisableAutoAnalogMode trait
- aa1596f GameDB: Set DisableAutoAnalogMode on various games
- a0fcbba SPU: Refactor volume envelopes
- 1e8ca51 Update README.md
- 86d4d92 TimingEvents: Switch to 64-bit counters
- 41c8607 TimingEvents: Don't defer frame done callback
- ef59a0d CPU: Fix assertion tripping in debug builds
- 3455a0d System: Fix lockup with runahead enabled
- b089eaf Qt: Reduce dialog height
- 6dd29eb VulkanDevice: Fix incorrect log
- b9679df System: Remove contradictory statement
- b656e1d Atualização Português do Brasil (#3280)
- 64a28aa CPU/PGXP: Fix typo in SLTU()
- 7dc78db CPU/PGXP: Make MTC2/LWC2 behave the same
- 9a6de19 CPU/PGXP: Use Instruction type
- 302652d CPU/PGXP: Purge psx_value from first half of instructions
- fc375d7 CPU/PGXP: Purge psx_value from shifts
- 2662694 CPU/PGXP: Purge psx_value completely
- 3548bbc CPU/PGXP: Combine static/variable shift instructions
- bcd2424 CPU/PGXP: Combine logical/arithmetic shift functions
- 514116e CPU/PGXP: Rewrite SLL handler
- 8629efc CPU/PGXP: Purge macros
- a764954 CPU/PGXP: Eliminate extra copy in SLT/SLTU
- 491179a CPU/PGXP: Remove remaining C-isms
- dadf388 CPU/PGXP: Make validate a member function
- d4d813f CPU/PGXP: Identifier name consistency
- 2971b2f CPU/PGXP: Inline valid flag updates
- 5c14ac2 GameDB: Allow clipping correction for Spyro 1
- ccd7ba9 Qt: Move language/theme setting to window
- 3578572 CPU/NewRec/x64: Fix data corruption on lwl/lwr with PGXP
- 1aa9c2d GameDatabase: Add DisableSpriteTextureFiltering trait
- 9a0d5db GameDB: Use disable sprite texture filtering for FF7/LoD
- 417c1e4 MediaCapture: Load media foundation on-demand
- 5433b30 Qt: Always display version info in settings
- 8b3fd53 System: Fix HW/SW rendering swap
- 9e3507e InputManager: Support multiple mice via raw input
- bda6869 Qt: Implement per-game controller configuration
- f0deab2 InputManager: Fix wheel scrolling in Big Picture
- 9dd83c4 InputManager: Remove unused pointer type
- 1425b2f Atualização Português do Brasil (#3281)
- 96b8e53 Deps: Bump shaderc
- 873b540 Deps: Switch to libjpeg-turbo
- 7745c9e Deps: Make some libraries optional for Linux
- 72fc81a CMake: Add install target
- 41fb5d3 CMake: Enable PIC on Linux
- a8cac70 Qt: Ensure window is raised after recreation
- 096a081 dep/imgui: Bump to v1.91.0
- c8e6130 StringUtil: Use unicode replacement character in DecodeUTF8()
- 599800d Deps: Version bumps
- f2c0303 Misc: Use lightgun controller icon
- 25d8f1b Deps: Build lunasvg
- b378ffb ImGui: Enable lunasvg
- a2aa040 deps/rc_client: Add rc_client_get_rich_presence_strings()
- 707453b FileSystem: Swap vector for DynamicHeapArray
- f37a97b Host: Add ReadCompressedResourceFile()
- f30844c ImGuiManager: Move glyph ranges to separate file
- e8b787f Misc: Change various icons
- a7f3d7b ImGuiManager: Add CompactFontRange()
- b8026a0 CMake: Remove unused file
- 5c2fc68 dep/imgui: Use stb_sprintf
- 6deb2eb Achievements: Fix badge download bug
- 44471a6 dep/imgui: Don't copy the font data on building
- 0f29cd8 Data: Update third-party notices
- 48c2760 dep/rcheevos: rc_validate does not need to be built
- a49be5d Data: Update SDL Game Controller DB
- 88e4bf6 SmallString: Tidy-up and add wide string helpers
- c9f5cfc Host: Add TranslatePluralToSmallString()
- b04f721 Achievements: Use plural form for points
- 7a05d5a Achievements: Reset focus when opening windows
- e54c4c8 ImGuiManager: Tweak OSD message size
- 344a4a6 FullscreenUI: Navigation improvements
- 46a6681 CDROM: Fix incorrect clamp with seek speedup
- 940200f FullscreenUI: More animation fixes
- 05c7e60 InputManager: Don't set key down for binds when ImGui has focus
- 63bf64b ImGuiOverlays: Use actual recording icon
- 2c27b20 ImGuiManager: Remove unused function
- ae2e79f Util: Add CompressHelpers
- c7a6e7e SHA1Digest: Span-ify
- f243dc0 Host: Use CompressHelpers for ReadCompressedResourceFile()
- 667d1bf GPUDevice: Use CompressHelpers
- 542ef3a GPUDevice: Warning fix
- d651c9f GameList: Support excluding disc sets
- 63c7f4a GPU/HW: Fix assert with accurate blending + true colour on
- 486f410 GameDB: Disable WS in Athena - Awakening from the Ordinary Life
- 7df5764 Data: Remove license-incompatible shaders
- fe8dada dep/libchdr: Add EDC computation functions
- ac139d9 CDImage/ECM: Use EDC/ECC functions from libchdr
- cdba1fe Common: Rename iNN -> sNN
- b84d3f1 SPU: Vectorize reverb resampling
- 81c9bde GSVector: Add a bunch of fp64 operations
- 14ab642 Common: Add aligned_unique_ptr
- 3fbdcdb AudioStream: Rewrite and integrate expander
- aa955b8 GPU/SW: Split out rasterizer, add dynamic selection
- 7f4e5d5 Misc: Update copyright headers
- 88ee70e Misc: Remove unused files
- bee80b0 Spanish (Spain) translation update 2024/08/30 (#3285)
- 7f9a69b Update the Simple-Chinese translation to latest. (#3282)
- 7b17859 Atualização Português do Brasil
- 0945a9a Atualização Idioma Turco
- 4322799 dep/rcheevos: Don't silently truncate buffers in rc_api_init_fetch_image_request()
- 5ed8af4 Achievements: Shrink URL buffer sizes
- 0ba068e GameDB: Disable PGXP culling in Spyro 1
- 51cfea4 ImGuiManager: Split OSD and debug window fonts
- b564f92 DiscordRPC: Add Rcheevos Icon Support (#3286)
- 164a353 System: Fix possible race condition in presence update
- 4c51337 ImGuiManager: Don't rasterize full glyph range for debug font
- 63abdb7 Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings (#3287)
- 6a3b1a2 MDEC: Vectorize 16 and 24-bit copy-out
- 56dac5f Deps: Bump SDL2 to 2.30.7
- 6d0f92d dep/fmt: Bump to v11.0.2
- 8274042 CI/AppImage: Build shrunk ffmpeg for media capture
- f9a5940 Settings: Force Frame Timings => Force Video Timing
- 503004f Data: Note third-party codecs in AppImage FFmpeg
- 94911ab System: Display disabled enhancements in safe mode
- 1446e30 Settings: Make Disable Interlacing a Deinterlacing mode
- 1eb1b03 MemoryCard: Defer creation of card until first save
- 87eded4 FileSystem: Fix FD leak with atomic updated file on Linux
- 060c555 INISettingsInterface: Use FileSystem atomic update routines
- a7d8e6d Host: Add disambiguation variants for translations
- 0458dfe MemoryCard: Don't display message for empty card
- a53dc85 GPUDevice: Fix initial pipeline cache not being created
- 129df84 PostProcessing/FX: Log pipeline creation error description
- 4a27141 Atualização Português do Brasil (#3288)
- 5b4d625 Add *.psx as a supported PS-X EXE file type (#3290)
- 2d3c6ac GameDB: Fix MGS Premium Package (#3289)
- a074699 Qt: Fix 'Boot and Debug' menu option
- 4c59513 GPUDevice: Fix pipeline cache loading
- ab1c857 CPU: Refactor execution mode switching
- 929b049 Qt: Save/restore additional window positions
- 153d959 RegTest: Compile fix
- 2e080d4 Qt: Add edit function to debugger memory view
- 95185b7 FSUI : some misc fixes (#3291)
- c5dd484 CI/MacOS: Don't use ninja for lunasvg
- 1c1b82e GPUDevice: Purge threaded presentation
- 4b0c1fd GPUDevice: Add recovery from lost device
- ac5a2a1 GPUDevice: Remove BeginPresent() skip parameter
- 71ec59b Qt/Debugger: Highlight changed bytes in memory view
- 6ea2bb1 Qt/Debugger: Auto refresh memory every 100ms
- 1b2ff7e CDImage: Support reading MODE1 sectors
- 47a3cd4 CDROM: Support reading MODE1 sectors
- af777c1 MediaCapture: Log video size
- 940cc63 GPU: Fix internal res screenshot AR with None cropping
- 9d6ec23 Common: Fix GSVector natvis
- 32a3311 System: Add option to automatically resize window
- 1956575 Cheats: Fix detection of ungrouped cheat import
- d29444e Update Russian translation (#3292)
- b6c4d6d Atualização Português do Brasil (#3293)
- 1d83e72 Achievements: Fix incorrect plural string
- b10f043 StringUtil: Fix typo
- 3078339 Common: Extract out ryml helpers
- 86bff86 dep/reshadefx: Update to 7bdfb03
- 432fd80 PostProcessing/FX: Use SPIR-V instead of GLSL for Vulkan
- 6a5f16d VulkanDevice: Handle rare case of unaligned SPIR-V
- c42fb7c GPUDevice: Support ingesting SPIR-V
- 4c31218 GPUDevice: Add API version field
- a22acfc Deps: Include DXC and DirectX Agility SDK
- 559aff0 D3D12Device: Use DXC and 12.0 feature level
- de551c1 D3D12Device: Fix crash when using media capture
- 7bcdf11 MediaCapture: Fix audio timestamp drift
- e2a3fe1 Cheats: Prevent inlining of memory functions
- 128d525 MSBuild: Disable RTTI on Windows builds
- c633a6b Qt/Debugger: Invalidate blocks on manual memory edit
- 936c945 Qt/Debugger: Highlight selection on dump address
- fe9d06a Qt/Debugger: Snap code view to center on goto address
- d1770b6 Settings: Default console logging to running from TTY
- e93dea5 SPU: Connect 0x1F801DB8/0x1F801DBA writes
- 891d5ce ImGuiFullscreen: Allow smooth scrolling
- 6c3f338 ImGuiFullscreen: Fix whole menu being unscrollable
- 2813b4b Achievements: Open profile on leaderboard selection
- 20b4581 Settings: Remove second source of truth for OSD notifications
- 0abd7c0 Qt: Expand Controller Profile Dropdown Width
- 065beff Qt: Rename NeGcon Rumble controller name
- b641475 Qt: Expand Controller List Width
- 66b4391 Qt: Tweak Grey Matter Theme
- d7ce028 Qt: Make Virtual Controller List Word Wrapped
- ddcb0cb Misc: Warning fixes
- f2720b9 System: Reduce force-displayed-warning scope
- 6f31e56 MetalDev...
v0.1-7371
Commits
- 81295c8 FileSystem: Correctly use lstat() on Linux
- e6a682f System: Reduce rewind/runahead memory usage w/o 8MB enabled
- 7041178 System: Make more functions static
- aeb9d38 System: Add save state compression mode options
- 4f16cb6 GPUDevice: Expose swap chain clear colour
- b2ca23e GPU: Use full display rect for postfx calculations
- 8ad133d FileSystem: Fix crash on file open fail in WriteAtomicRenamedFile()
- c97516b CDROM: Further improve seek timing
- d1f0669 SPU: Ensure all samples are generated prior to DMA write
- 624ab4d Atualização Português do Brasil (#3273)
- 5368a1d CI/AppImage: Work around broken AppImageLauncher
- 55d0951 CDROM: Defer init completion until after seek
- 76f6eaf Qt: Fix folder selection title bar
- 98b1a70 GPU/HW: Use texture instead of RTs for rewind/runahead w/o MSAA
- 010c7de dep: Bump vk_mem_alloc to 871913d
- 34df233 VulkanDevice: Enable VK_KHR_maintenance4 and 5
- b72e622 CubebAudioStream: Remove leftover field
- 8295fd9 GPUDevice: Fix debug assertion tripping in Vulkan
- 290c44f Error: Add TakeDescription()
- 5f80827 VulkanDevice: Fix download inside render pass
- af47eb6 System: Add video capture feature
- 62eb557 MediaCapture: Warning fix
- 00a58eb Bus: Fix sideloading EXEs without initial SP value
- db4e28f GPU: Add cycle penalty for reloading CLUT
- abbb21f GPU: Approxiate texture cache reload time for P8/C16 sprites
- 78398f8 GameDB: Battle Athletess - Daiundoukai GTO
- 5d84185 GameDB: Slightly bump up DMA rate for Chrono Cross
- 9a58327 GPU: Vectorize VRAM fills
- c30c4a5 GPU: Fix possible race in screenshot
- 422a0a0 MediaCapture: Fix OpenGL capture
- 8ad912c MediaCapture: Handle BGRA for MediaFoundation
- ee07e9e Hotkeys: Move Toggle Media Capture to General
- d5b6d35 dep: Add FFmpeg v7.0.2 headers
- da4b5df MediaCapture: Add FFmpeg backend
- da1fb4c Data: Update SDL game controller database
- e8693ed README: Various corrections/updates
- 3e708d0 Atualização Português do Brasil (#3274)
- 5786f3a System: Fix loading state without media
- f48d3b4 CMake: Copy FFmpeg dylibs into Mac bundle
- 71738d1 GPU: Clear RT before sending to media capture
- 9e09f53 Core: Add constexpr MIPS Encoder
- cbbfc2f StringUtil: Add BytePatternSearch()
- e96320d BIOS: Add Type 2 fastboot patch (PS2)
- 421bd23 Bus: Add stub for SIO2 accesses
- 34e0752 GameDB: Add hash for Starblade Alpha (Japan)
- a6ba2b5 BIOS: Prioritize image enumeration
- 09cdd98 Qt: Clarify BIOS support in setup wizard
- 0af2c01 Updated Spanish (Latin America) translation (#3275)
- f99d5ff FullscreenUI: Fix saving of list options (e.g. controller settings)
- 13a3741 FullscreenUI: Fix popup close resetting window scroll
- 7756c5a Qt: Fix log window mouse interaction
- 05f9f33 ImGuiFullscreen: Fix choice popup selected drawing over border
- f5815f3 ImGuiFullscreen: Display checkmark on right of choice dialog
- 0f03aa3 GameDB: Fix Starblade Alpha JPN hash (#3276)
- 159254c RegTest: Fix OOB array read
- f2896d5 RegTest: Report performance stats on exit
- 460acce MDEC: Ensure alignment of inputs
- 2e24519 Misc: Fix ARM32 build (again)
- 2f5aa45 SPU: Fix incorrect envelope rate
- add4624 Qt: Fix list focus restoration after system shutdown
- 7810c95 Atualização Português do Brasil (#3277)
- 823ce58 update Simple-Chinese translation to latest. (#3278)
- 681fab5 Qt: Update glyph ranges
- 052930a System: Fix reset with Type 2 fastboot
- ce7bbb4 FullscreenUI: Make "version" in Big picture translatable (#3279)
- 44a12db Log: Flush on every write
- b274bf4 System: Switch to new capture file on video FPS change
- c6d14fe System: Log information on startup
- 7ac3e2f Settings: Don't create deprecated achievement cache directories
- 9d7a3b1 Settings: Fix incorrect videos directory
- 6f9e8ef Qt: Fix a couple of theme switching glitches
- e2ea0bf Qt: Fix link colouring in setup wizard
- 3772706 System: Look up media capture settings on-demand
- 3175214 MediaCapture: Fix MP3 audio encoding
- ee98912 SPU: Fix SPU_DUMP_ALL_VOICES option
- 304f69e CDROM: Fix rare interrupt race when cancelling commands
- b2577ef Qt: Work around theme switching bug
v0.1-7294
Commits
- d841371 CI/AppImage: Use fuse3 compatible appimagetool (#3251)
- d70f5dd GSVector: Remove unused functions
- 59a2309 GPU: Use half width vector types where appropriate
- 640ed4a CPU/Recompiler: Eliminate redundant speculative reg read
- 154a5b3 CDImageCHD: Refactor mode conversion to string_view
- fee8887 System: Purge unused RecreateSystem()
- fae6b7a System: Fix double error on load/boot cancel
- cf15591 Add crt-hyllian-sinc.fx, crt-geo-zfast.fx and update others (#3252)
- 66f31d4 CI: Add workflow to upload cached deps/symbols
- 5381ad9 Qt: Adjust controller diagrams
- 00cc3b6 Qt: Fix a few places per-game settings were not checked
- 889427e Qt: Disable a couple of unusable per-game settings
- bc30569 SPU: Reverb input should be muted when SPU muted
- fb747d6 CDROM: Drop setloc on double Play
- 44b9d16 CDROM: Defer set of autopause track
- 9392c19 CDROM: Handle audio sectors in 2X mode
- f1ca914 CDROM: Further adjust IRQ delay
- 9a89ab3 GameDatabase: Add deinterlacing mode override
- c925bec GameDB: Set deinterlacing mode and line offset on a few games
- 8d94fd5 GameDB: Use SW readbacks for 360 Three Sixty
- 5d5c04c RegTest: Fix compare with only missing but no diffs
- 0a86aba Atualização Português do Brasil (#3253)
- 92038da CDROM: Handle speed change while reading
- c286112 Updater: Replace all StdStringFromFormat() with fmt
- 00ccea8 GPUDevice: Replace remaining StdStringFromFromFormat() with fmt
- ca2a8f1 Host: Purge C format string error overloads
- aa94b07 Qt: Purge format string usage from AutoUpdaterDialog
- 567b86c Host: Purge ReportFormattedDebuggerMessage()
- 24ef76b StringUtil: Purge StdStringFromFormat()
- 6176a21 ProgressCallback: Eliminate redundancy and drop C format strings
- a6cf320 Qt: Fix scan percent dropping back to 0% at end
- 41e1553 FileSystem: Add Error parameter to more functions
- 7217536 MD5Digest: Span-ify
- 19063d4 Bus: Mirror BIOS area up to 4MB
- f0945ca BIOS: Refactor loading/hashing of images
- 6a920b2 CDROM: Handle BFRD clears inbetween DMA transfers
- d9a224e GameList: Fix bogus entries on disc change due to disc set
- 5f36c29 Updater: Fix missing newline on MacOS
- 2e96931 CPU/CodeCache: Dynamically compute BIOS memory access timing
- 0815aed FileSystem: Drop use of stat64()
- 56dd987 Misc: RISC-V build fixes
- 4f7ddfa TimingEvents: Remove pointer indirection
- 9b77a9a TimingEvents: Move interrupt dispatch to end of loop
- 495b2ff GameDB: Front Mission 2
- efd8aab TimingEvents: Fix events ending up out-of-order
- 52f9e85 CDROM: Deactivate command attempt before queueing another
- f1f89d3 BinarySpanReaderWriter: Add subspan methods
- 79644bf CPU: Add Safe{Read,Write}MemoryBytes
- f2e88ce PINE: Add MsgReadBytes/MsgWriteBytes
- cc667cd Sockets: Add SetNagleBuffering()
- 3172eac PINE: Disable nagle buffering
- d9ada75 Qt: Toggle for DualSense Player LED (#3254)
- a6e34fa Fix ui_step for crt-consumer.fx (#3256)
- 14d8760 Resources: Update SDL game controller database (#3255)
- 6b78364 Sockets: Ignore SIGPIPE on Linux
- 7880087 Sockets: Properly handle POLLHUP events
- ad374ef Sockets: Use epoll on Linux
- 022b2fc Qt: Disable incompatible settings in game properties
- b4136d2 TimingEvents: Avoid heap allocation in SortEvents()
- 2938602 Qt: Remove BIOS search directory from per-game settings
- 533022b Qt: Ensure fullscreen UI is stopped on exiting
- 28c74f1 update the Simple-Chinese translation to latest. (#3257)
- fe55446 ImGuiManager: Fix stutter when multiple OSD messages lapse
- deed0c9 GameDatabase: Merge compatibility messages
- ba6b654 GPUDevice: Improve pipeline error reporting
- 298f39a GPU/HW: Fully report shader/pipeline creation failures
- e743c5d GPU/HW: Force update CLUT on save state
- 1006fa0 GPUDevice: Add support for Raster Ordered Views
- 2a617c5 GPU/HW: Support using ROV for accurate blending
- 49772f0 GameDB: Set accurate blending for Addie no Okurimono
- 7bbc174 GameDB: Accurate blending for High Heat Major League Baseball 2002
- b7bfbc0 Atualização Português do Brasil (#3258)
- 0407f93 CPU: Fix loading recompiler-saved states with interpreter
- 5e8870e D3D12: Avoid redundant render pass restarts
- 861d4a5 FullscreenUI: Reorder graphics settings to match Qt
- 5ec9c8a CDROM: Fix handling of 8-bit ADPCM and decoder overruns
- 68575d1 CDROM: Shift instead of divide in ZigZagInterpolate
- dce1221 Bus: Log when RAM_SIZE changes
- 0b5287f Bus: Implement RAM_SIZE register
- 0f4af03 CMake: FreeBSD build fix
- 1771bfa Atualização Português do Brasil (#3259)
- e455a5e ImGuiFullscreen: Fix incorrect notification width
- bf1b023 Add a new port of crt-royale.fx (#3260)
- 3282366 PostProcessing/FX: Preserve option declaration order
- 5656f91 Qt: Fix missing line on first postfx category
- 7a3a72e GPU: Add display rotation option
- d3dc3ec Organize crt-royale params in categories. (#3261)
- 440e08c Qt: Fix crash opening game compatibility report
- f051aa5 GameDB: Include London Mission Pack in GTA disc set
- c2d24f4 CDROM: Re-enable error-on-seeking-pause behaviour
- fcd4e60 Atualização Português do Brasil (#3262)
- 5026e1b Spanish translation update 2024/07/27 (#3263)
- a3acb0c GPU/HW: Always allow shader blend with fbfetch
- 7b99fcb GPU: Fix edge bleeding with Bilinear Integer scaling
- 6fe0c98 System: Rewrite EXE override/loading
- 40356fc FileSystem: Remove unnecessary checks
- 876f212 DynamicLibrary: Add patch to versioned filename
- b6b0997 Build: Favor git repositories over in-tree patches
- 11c6f89 gitignore: Add /deps/
- 6da84bf GameDB: Disable WS for Rally de Europe
- a3f8162 Qt: Add a new Justifier controller icon (#3264)
- ab7a3e1 BinaryReaderWriter: Add class for files as well as spans
- c83b5fd FileSystem: Add AtomicRenamedFile
- 7aaaf7c GameDatabase: Purge use of ByteStream
- b5009da GameList: Purge use of ByteStream
- dd8bf2c MemoryCard: Purge use of ByteStream
- a6518ff System: Rewrite save state I/O
- 6ce9e57 Misc: Purge remaining ByteStream references
- 0321a2c Common: Purge ByteStream
- 998f77c GameDB: More WS disables
- e0911d7 GPU/HW: Fix spec violation with Vulkan fbfetch
- 2d2bc93 dep/reshadefx: Avoid snprintf() when writing float constants
- 410cea0 PostProcessing/FX: Use ToChars instead of to_string()
- 8c9a885 GameDB: Add missing hash
- 534a82d dep/reshadefx: Fix float printing regression
- 33f6cc2 System: Use default compression level
- 2f90651 Spanish (Spain) update - 2024/07/29 (#3266)
- f1f57d8 Atualização Português do Brasil (#3267)
- 24abd10 Add CRT-Guest-NTSC (#3268)
- 0afcbd3 Update Russian translation (#3269)
- aa400f1 GameDB: Analog support for Nightmare Creatures (#3270)
- 6d70d24 AudioStream: Swap to shared soundtouch library
- 75cf877 Deps: Bump SDL2 to 2.30.6
- 0518bfb Data: Update SDL game controller DB
- 4eb3b2a dep: Remove soundtouch
- 3a83c42 Misc: Fix a bunch of code analysis warnings
- 9a626ca Qt: Reduce game list jank after shutting down VM
- a793741 Qt: Slightly bump grid view font size
- 7cbd67e MSBuild: Remove redundant include
- 1b9b469 Qt: Fix render-window-resize with 270deg rotation
- 30c5eba GPUDevice: Fix instances of RWTexture not clearing
- 5b590d4 D3D11Device: Fix blend state not applying to MRTs
- 143acca Core: Purge resources.cpp
- a2f9854 Misc: Slim down some header includes
- ee538ae CDROM: Improve resampling quality of 18900hz XA
- f9079b0 CDROM: Display XA coding info in debug window
- ec5d8cb Achievements: Use badge IDs from server
- 59a1cca dep/rcheevos: Bump to v11.5.0 + local changes
- 6c0a0e6 GPU: Fix incorrect lightgun line with force progressive
- c538df3 GameDatabase: Add crop mode override
- 02fbfae System: Add advanced 'Export Shared Memory' option
- c3bf267 System: Remove redundant remap
- 0c15c9e Qt: Fix bug where config-based RAIntegration occasionally failed
- 35dd4fd Qt: Fix incorrect list access for async cover load
- c23ea4b CI/AppImage: Pin versions
- 6e795c8 CMake: Fix duplicate SPIRV-Cross library on MacOS
- d862043 CMake: Fill version in bundle info plist
- 79bb5f0 GPUDevice: Fix SPIRV-Cross load error on Mac
- 6c5ffba MemMap: Fix object leak on fallocate() failure
- 2fb5e44 Atualização Português do Brasil (#3272)
- e499f90 MemMap: Fix inverted condition
- 0517aef CDROM: Don't allow deferred INT1 after Pause ACK
- cabba81 CI/Flatpak: Switch from JSON -> YAML
- efc821b VulkanDevice: Fix incorrect condition in UnbindTexture()
- 3a08ad1 Qt: Purge some unused debug menu options
v0.1-7139
- e4cb359 GameDB: Breath of Fire III
- 810ce1c GPU: Remove duplicate display params fields
- 0c3cf1f PostProcessing: Split into internal and display chains
- 80d1056 GPU: Add virtual call when buffers are swapped
- 1cb3e6b ShaderGen: Support multiple render target output
- 3f25db7 D3D11Device: Make depth targets sampleable
- d8bd35e GPUDevice: Add D24S8/D32F/D32FS8 types
- e39a2d0 GPU/HW: Use D32F for PGXP depth
- 34d5cde GPU/HW: Expose depth buffer to internal postprocessing
- 07e9a01 Atualização Português do Brasil (#3237)
- 66ba600 A super-simple shader (#3236)
- 89eea91 Extras: Update to PadTest 1.1
- 890f3fc Common/Log: Make actually writing unlikely
- 5bf9e1d dep/vixl: Fix ARM32 build
- 8c0af03 MSBuild: ARM64 only builds with Clang
- 0d3e674 Qt: Move resources out of exe into rcc file
- be8fbaf CPU/CodeCache: Always dynamically allocate code buffer
- 9b42ad3 CPU/CodeCache: Purge JitCodeBuffer
- f3671d2 CPU/CodeCache: Reduce far code size when using NewRec
- 44142ab CPU/Recompiler: Prefer adrp over trampoline for +/-4GB branches
- 4221029 CMake: Remove unused macro
- 0375199 GL/ContextEGL: Fix red_size to blue_size (#3238)
- e169189 GPU/HW: Fix possible crash when changing texture filtering
- 1963d80 RegTest: Fix crash on startup
- da2dc5f FIFOQueue: Optimize PopRange() for trivially-copyable types
- 6d6659c MDEC: Increase intermediate IDCT precision
- e1f90e6 MDEC: Store scale/IDCT matrix transposed
- fbdeea7 GameDB: Duke Nukem games
- aabe39d GPU: Allow DMAs in Mode 1
- 31c3af4 RegTest: Add spacebar swapper
- 31aa040 Deps: Build cpuinfo
- a255b5b Deps: Remove cpuinfo from in-tree
- 173a610 System: Use cpuinfo for cache line size check
- baab966 System: Check for SSE4.1 in early hardware checks
- 0ae6ddc Common: Add GSVector
- b094c9c MDEC: Vectorize IDCT
- 0654b2d AudioStream: Use GSVector
- faa151d CDImageCHD: Use GSVector
- 6947195 ImGuiOverlays: Use GSVector
- 0968610 CDROM: Use GSVector
- f9bf2e8 GPU: Use GSVector for SW scanout
- 044d7a4 GPU: Eliminate heap allocation on state load
- e16f2c4 README: Mention SSE4.1 requirement
- 2a7de25 Common: Remove gsvector.h dependency on assert.h
- ef152c4 GPU/HW: Interpolate native texture coordinates when upscaling
- 9ef7e8c GPU/HW: Use GSVector instead of Rectangle
- 2bcb85d GPU/HW: Push all draws/writes through a common path
- 2953365 MetalDevice: Rectangle -> GSVector4i
- e0509eb Common: Remove Rectangle class
- 3c230ba PlatformMisc: Swap include order for Mac
- d178853 PostProcessing/FX: Fix incorrect draw rect
- 63b30e2 Qt: Annotate unofficial release builds
- 7927ec6 Qt: Fix a couple of instances of inconsistent sorting
- 4b61a3c Qt: Unrestrict resolution scale up to device limits
- eb8df23 Qt: Fix gap in advanced graphics settings on Linux
- f35397c Deps: Build discord-rpc
- 00d2d86 Build: Use shared discord-rpc
- f6d3a79 System: Load discord-rpc dynamically
- e59e936 CMake: Fix warning building with MSVC
- 69c35c9 Deps: Remove rapidjson from in-tree
- 82b5772 Deps: Move build scripts/patches into own directory
- 87f2995 TextureReplacements: Namespace-ify
- 487eb10 Common: __m128 shouldn't be used in nosimd
- c02bf0f CPU/NewRec/RV64: Compile fix
- 9fcc98a InputSource: Explicitly construct binding key
- 3749b81 GPUDevice: Add ExecuteAndWaitForGPUIdle()
- 4c02507 GPU/HW: Ensure buffers are freed prior to recreating
- d021a61 GameDB: PGXP-CPU for Rat Attack
- 77488db Misc: Align CPU state and SPU voices to cache lines
- 536b48d SPU: Pack state in struct
- e1a4c7d DMA: Pack state in struct
- a57101c Timers: Pack state in struct
- b6a264b TimingEvents: Pack state in struct
- 23962fd GTE: Pack local config in struct
- c51db5c Update Russian translation (#3241)
- b9155ec Atualização Português do Brasil (#3242)
- 9196250 Fix crt-cyclon and update others (#3240)
- 29b3fa2 GSVector: Add {min,max}v_{u8,u16}
- eba0794 FileSystem: Add Error to file writing
- 9a70003 MSBuild: Silence MSVC warning C4324
- b06fcef GDB/PINE: Fix listen socket leak on shutdown
- 1fd8d27 Sockets: Add HasAnyClientSockets()
- bc73dac System: Use socket multiplier for sleeping when connected
- ed5a990 GPU: Cull off-screen sprites/lines
- d372609 Add memory contents to "Addr=" string in debugger
- e4470a9 fix: out-of-border access
- 40048cb fix: remove duplicated code
- 5cdcdb5 fix: string to c-string to string
- a3d600d fix: moved vairable access
- 6f50e12 PostProcessing/FX: Remove debug shader dump
- ff7bfaa dep/reshadefx: Avoid emitting more reserved keywords as identifiers
- d63ae87 GPU: Always calculate draw rect
- e1a9c69 Deps: Bump to SDL 2.30.5
- aac7a99 CI/AppImage: Drop gcc13 workaround
- fe05528 Deps: Patch macdeployqt timeout
- 7f21226 GameDatabase: Warn if vertex cache is enabled but unnecessary
- 7373342 GameDB: CPU-PGXP for Resident Evil 3
- f5cc709 CMake: Fix typo in Mac CMAKE_CXX_FLAGS
- b6f7420 CPU/PGXP: Don't force inputs to valid on add/sub
- 985b9f8 GameDB: CPU-PGXP for Xenogears
- 22b2738 Add geom-overlay and fix other shaders. (#3245)
- 5410a42 CPU/PGXP: Explicitly handle addi rt, zero, nnnn
- d831cb6 CPU/PGXP: Normalize variable names
- 3b7844b CPU/PGXP: Don't force valid inputs on mult/div
- d922a43 CPU/PGXP: Don't force valid input on slt/sltu
- f0e2d1a CPU/PGXP: Rewrite SLTI/SLTIU handlers
- de27e5d GPU: Add option to disable PGXP on 2D polygons
- 36abbd9 GameDB: Set DisablePGXPOn2DPolygons on Xenogears
- ec851c9 FileSystem: Add FTruncate64()
- 8659c8c Core: Add MemoryCardIconCache
- 9143116 Qt: Show memory card icons in game list
- addadba Qt: Use memory card icon as window icon
- 9383663 Qt: Center type icon in game list
- a56ebf2 Qt: Fix incorrect sort indicator on loading
- 4bd7256 Add Gaussian blur shaders and update psx.jpg (#3247)
- 989a19d Atualização Português do Brasil (#3246)
- c1976f4 Add ntsc-adaptive-lite.fx shader (#3248)
- 7c818c0 CI/Flatpak: Bump to flatpak-github-actions b6c9217
- 18b0b11 CommonTests: Add GSVector MDEC YUVToRGB test
- 9be7a37 GSVector: SIMD-ify YUVToRGB
- 5881133 CPU/PGXP: Set valid on bitwise ops from lowprec
- e5c62b8 CPU/PGXP: Fix incorrect Y on invalid add/sub
- 11f7bfc CPU/PGXP: Refactor add/sub for small speedup
- 226a8ea MemoryCardIconCache: Ignore shared cards
- 58470ce Atualização Português do Brasil (#3249)
- 3b9c489 CPU: Pass instruction query values by reference
- 2ac2ad6 CPU/Recompiler: Break blocks on invalid instructions
- 7c45ad3 GameList: Add dedicated gameicons directory
- 0f0cc4e Qt: Re-add QDarkStyle theme option (#3250)
- 97e555a README: Update link to last non-SSE4.1 build
- 2cfa535 System: Fix certain GPU settings not applying until unpause
- 5da6c92 GameList: Always open icon cache with r+b on Linux
- b7da118 Qt: Don't boot system twice on rapid clicking
- afea18f Image: Fix crash loading corrupted/invalid JPEG files
- ff77bd0 ImGuiFullscreen: Don't upload failed-loaded images
- fd0626a GameList: Re-extract memcard icon if deleted
- 594962d Qt: Scale down custom icon pixmaps
- 5d4f6e4 Qt: Use device pixel ratio when scaling gameicons
- a5a3207 GPU/HW: Fix incorrect dirty rect union
- 8698298 CPU/NewRec: Fix incorrect condition in GenerateCall()
- 500fbe5 Achievements: Fix potential uninitialized data read
- df979d4 Build: Fix DiscordRPC not being included in Mac bundle
v0.1-6995
NOTE: This is the last build of DuckStation that does not require a SSE4.1-capable CPU (i.e. anything released in approximately 2008).
- f0c2832 Dep: Update vixl to 662828c
- ef69c31 GPUDevice: Support transpiling shaders at compile time
- 964b949 Postprocessing/FX: Ensure RT isn't bound as sampler
- eb80a82 GameDB: Disable widescreen on Final Fantasy Tactics
- 54097fc Postprocessing/FX: Expose 'viewportoffset' uniform
- 2a90a88 Add crt-consumer and crt-cyclon. Update others. (#3223)
- 51648b0 CI/AppImage: Explicitly remove libwayland-*
- c179210 GPU/HW: Eliminate raw texture pipeline permutations
- d16470d Update Japanese translation (#3225)
- 451d15a Atualização Português do Brasil (#3224)
- 5be2e68 Qt: Update glyph ranges
- 1582b2a GPU/HW: Make texture filtering a fragment shadergen parameter
- 8455c9c GPU/HW: Add 'Force Round Upscaled Texture Coordinates'
- 0563350 GameDB: Set force round texcoords on Crash games
- 3d6b9e1 Settings: Include cheats in disable-all-enhancements
- e9a4723 GPUDevice: Compile warning fix
- 6870010 GPU/HW: Remove log spam
- be4abb0 GPU/HW: Reduce multiple setting source of truth
- 34f2079 GPU/HW: Add separate 3D/2D (sprite) texture filtering
- 7b1ec5d GameDB: Force round texcoords on Digimon World 3
- a5f8684 BIOS: Add further detail to missing BIOS message
- 1ae79c8 System: Refactor unsafe settings warning
- da51827 GameDB: Over Drivin' DX - Rally Edition (Japan) (#3226)
- 70d7d4a MSBuild: Enable Vulkan on Windows ARM64
- 01fc325 CPU/Recompiler: Warning fix for ARM64/Clang
- ccb76d1 GameList: Add custom title/regions
- 4827e54 BinarySpanReaderWriter: Fix off-by-one error (#3230)
- 7491ba6 Spanish (Spain) Translation update 2024/06/19 (#3229)
- 59c3c33 Deps: Update to SDL 2.30.4 (#3228)
- d8b7e25 Atualização Português do Brasil (#3227)
- 3d00957 Resources: Update gamecontrollerdb.txt
- 63055f1 FullscreenUI: Add sprite texture filtering option
- ea3fa7f Postprocessing/FX: Fix locating shaders in subdirectories
- 966cce1 Postprocessing: Sort shader list lexiographically
- e854164 Deps: Bump versions
- 6892c3d Qt: Work around theme swap bug with Classic Windows
- 1797050 VulkanDevice: Release swap chain images on resize
- b8ed013 dep/reshadefx: Fix UBO reference with OpenGL
- 6bfd862 GPUDevice: Fix transpiled interface linking with OpenGL
- 6021e43 Qt: Work around QList marshalling issue
- 9189588 Shaders: Add new pack of shaders (reshade) (#3232)
- dd4b282 Atualização Português do Brasil (#3233)
- 1a2ad89 dep/rcheevos: Bump to d54cf8f
- 17d4595 dep/rcheevos: Hash functions are not needed
- e7e0902 Achievements: Avoid malloc on state save/load
- b9ff358 Achievements: Support scratchpad memory
- db30566 Achievements: Implement disc change without state reset
- 8c1228a Qt: Tidy up theme change workaround
- ebf50ed System: Allocate JIT space before fastmem area
- ad27f8b Add some shaders and update others. (#3234)
- 12f2ff9 Indonesian Translation
- 71c319c dep/rcheevos: Set RC_NO_THREADS
- 5c94ab9 dep/rcheevos: Avoid -1 return in rc_runtime_progress_size()
- a89ec0e Achievements: Always recompute state data size on save
- dd420cb Common: Alloc failures in HeapArray are unlikely
- 8c72fd5 GPUDevice: Disable SPIR-V optimization on GLSL output
- 41f4024 Atualização Português do Brasil (#3235)
- 3877486 System: Ensure titles are sanitized for screenshots