Releases: linuxserver/docker-duckstation
latest-ls69
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls69/index.html
LinuxServer Changes:
Full Changelog: latest-ls68...latest-ls69
Remote Changes:
Commits
- 2b1a6cf2b Qt: More appropriate icon for "Search on Redump" button
- a90182445 Qt: Improve icon consistency
- 15d8f68d3 Merge pull request #3747 from Pesa/overlap
- 00149a5be Qt: Disable buttons if controller port is empty (#3748)
- 2f0cd4d4c DiscDB: Remove duplicate entries for some multi-disc games
- 8dd88aad2 Qt: Make verify serial mismatch message clearer
- e21bf74f2 Qt: Replace most _L1 usage with _s
- 22ee4c076 CMake: Build with immediate binding/full relro
- e23bc84bb Achievements: Always prefetch game badge before achievement badges
- 02a41fa06 GameDB: Add metadata to
King's Field 3 - Pilot Style(#3749) - 8ac294d4f CDROM: Fix DisableReadSpeed() never having any effect
- 2c6ac7d4f CDROM: Add manual control of lid state
- 1d71915fb CDROM: Show effective read speed in debug window
- 18f581ef9 CPU: Use ternary in CPU::WriteRegDelayed()
- 667e1147a CPU: Add branch hints to interpreter dispatch
- 2b5baa1b8 CPU: Add more branch hints to interpreter
- 0b700d1b8 GTE: Eliminate bounds check in dispatcher
- 2f8e9a851 MSBuild: Enable strict aliasing for clang
- c660f8532 CPU: Use table lookup for mfc0
- 1f7fcb8c9 GameList: Fix race condition when refreshing from two sources
- 134f17239 Achievements: Don't tear down persistent state on enable toggle
- 8bf9562c3 Achievements: Fix hardcore toggle not showing summary
- 944beca2c Achievements: Populate saved credentials in ProcessStartup()
- cae25968f Achievements: Move init functions to private header
- 1e6a006bd Controller: Make center a distinct value
- 24fb22acf Controller: Move helper functions into their own file
- 0ec7d2bd4 Misc: Remove redundant static qualifier from force-inline functions
- 37878497b Qt: Disable labels for controller setting descriptions
- 2a32d7014 Qt: Fix white-on-light icon colours in Classic Windows theme
- c1adcb5a4 Qt: Fix initial icon colours in native theme
- a4e3afcdd Release MMPX Advanced v3.2: Optimize and Clean (#3750)
- f228b009c CDROM: Hopefully fix rare case of command event loss with states
- 0e0ef21d0 System: Clear memory save states on reset
- 09008bb3a Qt: Round round texcoords only applies to 3D
- ba08a6f70 Qt: Hide FSUI theme and font settings from game properties (#3751)
- 770cc586f Settings: Don't copy advanced/hidden settings to game
- a7a5faeb1 Qt: Fix warning in graphicssettingswidget.cpp
- 76ca9b15d Qt: Suffix unavailable audio and video devices
- fa167cab8 FullscreenUI: Add InputTextWithIcon()
- b3e8543ba FullscreenUI: Make ResetFocusHere() return a boolean
- 632aab3a0 FullscreenUI: Use InputTextWithIcon() for achievements login
- 1c89c6436 FullscreenUI: Add search to game list
- ce14eefd5 ObjectArchive: Swap to HTTPCache log channel
- 3a9856660 FullscreenUI: Fix input text text colour in light theme
- 6efef5b66 GameDB: PGXP-CPU for Digimon World 2
- c1a9d78e7 RegTest: Fix crash on startup
- c20a5c752 CPU: Copy entire value for zero shift cases
- c8064e75d CPU: Fix flipped operands on PGXP shifts in recompiler
- 0b4dfcd04 Settings: Remove unused field
- b7b31ef97 Qt: Use 'Global' instead of 'Default' for inherited spinners
- 2c527f4f2 Qt: Add reset buttons for tolerance/depth threshold
- 7d1996827 Qt: Fix memory leaks in SVG helpers
latest-ls68
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls68/index.html
LinuxServer Changes:
Full Changelog: latest-ls67...latest-ls68
Remote Changes:
Commits
- 2b1a6cf2b Qt: More appropriate icon for "Search on Redump" button
- a90182445 Qt: Improve icon consistency
- 15d8f68d3 Merge pull request #3747 from Pesa/overlap
- 00149a5be Qt: Disable buttons if controller port is empty (#3748)
- 2f0cd4d4c DiscDB: Remove duplicate entries for some multi-disc games
- 8dd88aad2 Qt: Make verify serial mismatch message clearer
- e21bf74f2 Qt: Replace most _L1 usage with _s
- 22ee4c076 CMake: Build with immediate binding/full relro
- e23bc84bb Achievements: Always prefetch game badge before achievement badges
- 02a41fa06 GameDB: Add metadata to
King's Field 3 - Pilot Style(#3749) - 8ac294d4f CDROM: Fix DisableReadSpeed() never having any effect
- 2c6ac7d4f CDROM: Add manual control of lid state
- 1d71915fb CDROM: Show effective read speed in debug window
- 18f581ef9 CPU: Use ternary in CPU::WriteRegDelayed()
- 667e1147a CPU: Add branch hints to interpreter dispatch
- 2b5baa1b8 CPU: Add more branch hints to interpreter
- 0b700d1b8 GTE: Eliminate bounds check in dispatcher
- 2f8e9a851 MSBuild: Enable strict aliasing for clang
- c660f8532 CPU: Use table lookup for mfc0
- 1f7fcb8c9 GameList: Fix race condition when refreshing from two sources
- 134f17239 Achievements: Don't tear down persistent state on enable toggle
- 8bf9562c3 Achievements: Fix hardcore toggle not showing summary
- 944beca2c Achievements: Populate saved credentials in ProcessStartup()
- cae25968f Achievements: Move init functions to private header
- 1e6a006bd Controller: Make center a distinct value
- 24fb22acf Controller: Move helper functions into their own file
- 0ec7d2bd4 Misc: Remove redundant static qualifier from force-inline functions
- 37878497b Qt: Disable labels for controller setting descriptions
- 2a32d7014 Qt: Fix white-on-light icon colours in Classic Windows theme
- c1adcb5a4 Qt: Fix initial icon colours in native theme
- a4e3afcdd Release MMPX Advanced v3.2: Optimize and Clean (#3750)
- f228b009c CDROM: Hopefully fix rare case of command event loss with states
- 0e0ef21d0 System: Clear memory save states on reset
- 09008bb3a Qt: Round round texcoords only applies to 3D
- ba08a6f70 Qt: Hide FSUI theme and font settings from game properties (#3751)
- 770cc586f Settings: Don't copy advanced/hidden settings to game
- a7a5faeb1 Qt: Fix warning in graphicssettingswidget.cpp
- 76ca9b15d Qt: Suffix unavailable audio and video devices
- fa167cab8 FullscreenUI: Add InputTextWithIcon()
- b3e8543ba FullscreenUI: Make ResetFocusHere() return a boolean
- 632aab3a0 FullscreenUI: Use InputTextWithIcon() for achievements login
- 1c89c6436 FullscreenUI: Add search to game list
- ce14eefd5 ObjectArchive: Swap to HTTPCache log channel
- 3a9856660 FullscreenUI: Fix input text text colour in light theme
- 6efef5b66 GameDB: PGXP-CPU for Digimon World 2
- c1a9d78e7 RegTest: Fix crash on startup
- c20a5c752 CPU: Copy entire value for zero shift cases
- c8064e75d CPU: Fix flipped operands on PGXP shifts in recompiler
- 0b4dfcd04 Settings: Remove unused field
- b7b31ef97 Qt: Use 'Global' instead of 'Default' for inherited spinners
- 2c527f4f2 Qt: Add reset buttons for tolerance/depth threshold
- 7d1996827 Qt: Fix memory leaks in SVG helpers
latest-ls67
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls67/index.html
LinuxServer Changes:
Full Changelog: latest-ls66...latest-ls67
Remote Changes:
Commits
- b0c277b10 optimization scanline-modern-ex.fx (#3733)
- 717424209 GameDB: Various fixes (#3734)
- 8dad651a2 GameDB: Add disc set for
Persona 2 - Eternal Punishment (USA)(#3735) - 023c0823d Qt: Update French translation by Corrigo
- ecc46d2d4 Qt: Don't draw OSD messages with zero opacity
- 12450a1e0 CDImageCCD: Support loading ccd+img without sub
- 6b5086900 Atualização Português do Brasil (#3737)
- c71fdd60a GameDB: Decrease cdromMaxReadSpeedupCycles for Resident Evil 2 (#3736)
- ee2530647 AudioStream: Reset staging buffer position (#3738)
- faa37fd9c CI: Bump Xcode to 26.4 (#3713)
- f6da96077 CI: Bump dependencies to 20260512
- 7e98f1717 GameDB: Force Round Texture Coordinates for Lego Island 2
- dfc894c88 AudioStream: Tidy up more state reset
- 7b6316189 FullscreenUI: Fix unused variable warning
- 33663c5ea Qt: Work around broken build in latest MSVC versions
- e1d9414ec Qt: Make binding tooltips/multi-window localisable
- a2a12da4b GPUDevice: Pack local state in struct
- 22a3302fa DynamicLibrary: Add symbol resolution helpers
- 7ee8fbc42 DiscordPresence: Use ResolveSymbols()
- 16d1dcb84 GPUDevice: Use ResolveSymbols()
- 4c89ddb00 VulkanDevice: Use ResolveSymbols()
- ad70cffd9 MediaCapture: Use ResolveSymbols()
- 59a3e09fa MediaCapture: Eliminate global load mutex
- 2225d366b GPUDevice: Pack shaderc/spirv-cross function pointers together
- 1758f43d9 ImGuiManager: Use 1/255 as opacity threshold
- 32af8280b optimization scanline-modern shader (#3742)
- 74cca15c2 Atualização Português do Brasil (#3741)
- 833dd2c9b Update Russian translation (#3740)
- dc5c5b7c3 GameDB: A few more fixes (#3739)
- 77ecf9939 MSBuild: Enable segment heap via vsprops
- 2307ad9b0 CMake: Drop Win32/MSVC specific paths. Use MSBuild.
- 5e57ff57d CDROM: Fix incorrect stat response in test command
- 1c936c496 DMA: Enforce read-only bits in OTC channel control
- fc72f17a5 CI: Drop unused input (#3743)
- 8f818af6d GPU/HW: Remove unnecessary reference to backend in texture cache
- f484af5f4 GPU: Merge gpu.cpp and gpu_commands.cpp
- b123c8e2b GPU: Convert frontend to namespace
- 4e0374ef8 GPU: Slightly faster path for DMA writes
- 3dd7497f6 GPU: Use InlineFIFOQueue
- d89476ad2 GPU: Fix incorrect bitmask for command primitives
- e6b938af3 CDROM: Fix incorrect date in comment
- f2e629f7e Achievements: Fix game not loading after token-expired late login
- cdb26ee7b ImGuiManager: Return wants_keyboard for all generic inputs
- 590605b8d FullscreenUI: Don't override existing window in PauseAndOpenMenuFromCoreThread()
- e903ff716 HTTPCache: Remove downloader mutex
- cf62df552 HTTPCache: Notify host when downloader is active
- 5b446d702 HTTPDownloader: Add owner tracking to requests
- 2091cb101 HTTPDownloader: Don't poll requests when cancelling
- 6e5877634 Achievements: Use request owner for waiting for server calls
- de8f42733 Qt: Avoid double cancellation in updater
- 8ae5c854e Qt: Add AsyncHTTPRequest class
- fc8446de6 Qt: Use main HTTP downloader for updater
- 29ba624f2 HTTPDownloader: Convert to namespace
- d7464e295 Spanish (Spain) translation update (#3744)
- 2467a7b1b Timers: Correctly handle sync mode 0/3 for timer 2
- 8347d1de9 Bus: Add option for enabling PCSX expansion region
- fab306cc7 FullscreenUI: Fix adapter list not updating on renderer change
- 83a1b0c45 Deps: Update to 20260526
- 2f4aafd0d Qt: Expose debugger and exit in toolbar
- d7c2e7785 Qt: Minimize controller SVGs
- 68da2ea9f Qt: Add monochrome icon theme
- 4cf5f38a8 Qt: Add ThemeSVGIconEngine to replace use of Qt SVG
- d58bfaacf Qt: Add more monochrome icons
- 6fccb181d Qt: Remove separate colour icon SVGs
- 65394a2b9 Qt: Remove unused PNG icons
- 49f5f38c4 Qt: Don't use QIcon::fromTheme()
- 538a82ad4 Qt: Set isMask property on menu bar action icons on MacOS
- 891ae3d9e ImGuiOverlays: Don't draw outline on status indicators
- 9e39295f0 Qt: Add icon to empty game list page
- f0ee83489 FullscreenUI: Optimize SVGs
- e4147da58 Qt: Optimize checkbox SVGs that were previously missed
- f352619a9 Qt: Move ReadFileToByteArray() to QtUtils
- 51457c22e Qt: Add SVGWidget
- 099f8bdd2 Qt: Rename ThemeSVGIconEngine to SVGIconEngine
- dddc09122 FullscreenUI: Fix double scaling of some UI elements
- ad676f7e3 FullscreenUI: Preserve aspect ratio of SVG images
- 8fe9077ca Qt: Store controller images in main data instead of qrc
- de69bc496 FullscreenUI: Add images to controller settings
- 5ad980b32 Qt: Fix incorrect icon path
- 70ec9c491 SPU: show friendly reverb mode names in debug window
- a3f4a086e SPU: increase volume display precision in debug window
- ef7637413 SPU: Use display fractional volume for voices as well
- 5a21a6c8d Host: Add icon to ConfirmMessageAsync()
- 61b31b3e2 Update Azerbaijani Translation (#3745)
- b429993e0 Qt: Move most recent migration to updater
- 21c6ab582 Qt: Use SVGWidget for empty game list icon
- 15bfa50ce Qt: Make SVGWidget respond to palette changes
- c1165ab03 MediaCapture: Fix Media Foundation refusing to load
- 00733714c CDImageCue: Remove unused variable
- bbde5c661 CueParser: Switch to fmt for errors
- e40105020 Qt: Preserve aspect ratio in SVGIconEngine
- f93965b84 Qt: Handle icon state in SVGIconEngine
- 11216ccd5 Qt: Tint non-coloured disabled icons in SVGIconEngine
- 872d6092b Qt: Use SVGWidget for icon in debugging settings
- 86b3c0e7d Qt: Fix missing monochrome in controller settings
- e8938f063 Qt: Remove more unused icons
latest-ls66
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls66/index.html
LinuxServer Changes:
Full Changelog: latest-ls65...latest-ls66
Remote Changes:
Commits
- b0c277b10 optimization scanline-modern-ex.fx (#3733)
- 717424209 GameDB: Various fixes (#3734)
- 8dad651a2 GameDB: Add disc set for
Persona 2 - Eternal Punishment (USA)(#3735) - 023c0823d Qt: Update French translation by Corrigo
- ecc46d2d4 Qt: Don't draw OSD messages with zero opacity
- 12450a1e0 CDImageCCD: Support loading ccd+img without sub
- 6b5086900 Atualização Português do Brasil (#3737)
- c71fdd60a GameDB: Decrease cdromMaxReadSpeedupCycles for Resident Evil 2 (#3736)
- ee2530647 AudioStream: Reset staging buffer position (#3738)
- faa37fd9c CI: Bump Xcode to 26.4 (#3713)
- f6da96077 CI: Bump dependencies to 20260512
- 7e98f1717 GameDB: Force Round Texture Coordinates for Lego Island 2
- dfc894c88 AudioStream: Tidy up more state reset
- 7b6316189 FullscreenUI: Fix unused variable warning
- 33663c5ea Qt: Work around broken build in latest MSVC versions
- e1d9414ec Qt: Make binding tooltips/multi-window localisable
- a2a12da4b GPUDevice: Pack local state in struct
- 22a3302fa DynamicLibrary: Add symbol resolution helpers
- 7ee8fbc42 DiscordPresence: Use ResolveSymbols()
- 16d1dcb84 GPUDevice: Use ResolveSymbols()
- 4c89ddb00 VulkanDevice: Use ResolveSymbols()
- ad70cffd9 MediaCapture: Use ResolveSymbols()
- 59a3e09fa MediaCapture: Eliminate global load mutex
- 2225d366b GPUDevice: Pack shaderc/spirv-cross function pointers together
- 1758f43d9 ImGuiManager: Use 1/255 as opacity threshold
- 32af8280b optimization scanline-modern shader (#3742)
- 74cca15c2 Atualização Português do Brasil (#3741)
- 833dd2c9b Update Russian translation (#3740)
- dc5c5b7c3 GameDB: A few more fixes (#3739)
- 77ecf9939 MSBuild: Enable segment heap via vsprops
- 2307ad9b0 CMake: Drop Win32/MSVC specific paths. Use MSBuild.
- 5e57ff57d CDROM: Fix incorrect stat response in test command
- 1c936c496 DMA: Enforce read-only bits in OTC channel control
- fc72f17a5 CI: Drop unused input (#3743)
- 8f818af6d GPU/HW: Remove unnecessary reference to backend in texture cache
- f484af5f4 GPU: Merge gpu.cpp and gpu_commands.cpp
- b123c8e2b GPU: Convert frontend to namespace
- 4e0374ef8 GPU: Slightly faster path for DMA writes
- 3dd7497f6 GPU: Use InlineFIFOQueue
- d89476ad2 GPU: Fix incorrect bitmask for command primitives
- e6b938af3 CDROM: Fix incorrect date in comment
- f2e629f7e Achievements: Fix game not loading after token-expired late login
- cdb26ee7b ImGuiManager: Return wants_keyboard for all generic inputs
- 590605b8d FullscreenUI: Don't override existing window in PauseAndOpenMenuFromCoreThread()
- e903ff716 HTTPCache: Remove downloader mutex
- cf62df552 HTTPCache: Notify host when downloader is active
- 5b446d702 HTTPDownloader: Add owner tracking to requests
- 2091cb101 HTTPDownloader: Don't poll requests when cancelling
- 6e5877634 Achievements: Use request owner for waiting for server calls
- de8f42733 Qt: Avoid double cancellation in updater
- 8ae5c854e Qt: Add AsyncHTTPRequest class
- fc8446de6 Qt: Use main HTTP downloader for updater
- 29ba624f2 HTTPDownloader: Convert to namespace
- d7464e295 Spanish (Spain) translation update (#3744)
- 2467a7b1b Timers: Correctly handle sync mode 0/3 for timer 2
- 8347d1de9 Bus: Add option for enabling PCSX expansion region
- fab306cc7 FullscreenUI: Fix adapter list not updating on renderer change
- 83a1b0c45 Deps: Update to 20260526
- 2f4aafd0d Qt: Expose debugger and exit in toolbar
- d7c2e7785 Qt: Minimize controller SVGs
- 68da2ea9f Qt: Add monochrome icon theme
- 4cf5f38a8 Qt: Add ThemeSVGIconEngine to replace use of Qt SVG
- d58bfaacf Qt: Add more monochrome icons
- 6fccb181d Qt: Remove separate colour icon SVGs
- 65394a2b9 Qt: Remove unused PNG icons
- 49f5f38c4 Qt: Don't use QIcon::fromTheme()
- 538a82ad4 Qt: Set isMask property on menu bar action icons on MacOS
- 891ae3d9e ImGuiOverlays: Don't draw outline on status indicators
- 9e39295f0 Qt: Add icon to empty game list page
- f0ee83489 FullscreenUI: Optimize SVGs
- e4147da58 Qt: Optimize checkbox SVGs that were previously missed
- f352619a9 Qt: Move ReadFileToByteArray() to QtUtils
- 51457c22e Qt: Add SVGWidget
- 099f8bdd2 Qt: Rename ThemeSVGIconEngine to SVGIconEngine
- dddc09122 FullscreenUI: Fix double scaling of some UI elements
- ad676f7e3 FullscreenUI: Preserve aspect ratio of SVG images
- 8fe9077ca Qt: Store controller images in main data instead of qrc
- de69bc496 FullscreenUI: Add images to controller settings
- 5ad980b32 Qt: Fix incorrect icon path
- 70ec9c491 SPU: show friendly reverb mode names in debug window
- a3f4a086e SPU: increase volume display precision in debug window
- ef7637413 SPU: Use display fractional volume for voices as well
- 5a21a6c8d Host: Add icon to ConfirmMessageAsync()
- 61b31b3e2 Update Azerbaijani Translation (#3745)
- b429993e0 Qt: Move most recent migration to updater
- 21c6ab582 Qt: Use SVGWidget for empty game list icon
- 15bfa50ce Qt: Make SVGWidget respond to palette changes
- c1165ab03 MediaCapture: Fix Media Foundation refusing to load
- 00733714c CDImageCue: Remove unused variable
- bbde5c661 CueParser: Switch to fmt for errors
- e40105020 Qt: Preserve aspect ratio in SVGIconEngine
- f93965b84 Qt: Handle icon state in SVGIconEngine
- 11216ccd5 Qt: Tint non-coloured disabled icons in SVGIconEngine
- 872d6092b Qt: Use SVGWidget for icon in debugging settings
- 86b3c0e7d Qt: Fix missing monochrome in controller settings
- e8938f063 Qt: Remove more unused icons
latest-ls65
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls65/index.html
LinuxServer Changes:
Full Changelog: latest-ls64...latest-ls65
Remote Changes:
Commits
- 3f502579f GPU/TextureCache: Dump textures to first disc directory
- 23d79f8a5 Qt: Fix themed slider disabled state
- 45460b906 PostProcessing/Slang: Skip over C-style comments in preset files
- ae44fa6f7 PostProcessing/Slang: Support parsing simple/reference presets
- 495141ab5 Qt: Fix postfx shader list with multiple nesting levels
- 8bb8fdd20 Update gpu_hw_shadergen.cpp (#3728)
- 558973f20 GPU/HW: Fix rare VRAM corruption after state load
- 0d60433e9 GameDB: Otona no Asobi again
- 4d95bb34e OpenGLDevice: Fix various issues in stream buffer
- bbffe729a OpenGLDevice: Disable PBOs completely on NVIDIA
- c7027a272 CDROM: Fix off-by-one error
- c2041702d FullscreenUI: Always reset transition before executing it
- 650c60e9e FullscreenUI: Fix fade transition on game exit
- 73a74b359 System: Remove unnecessary state function
- a94a90f34 CPU: Fix some unlikely-to-be-triggered issues
- 566ef446d DMA: Fix DICR register write mask
- ac7aa0d9f GPU: Fix incorrect debug log message
- 5823a0103 MDEC: Fix incorrect halfword tracking for some commands
- cfcfd8f86 CPU/Recompiler: Various minor error fixes
- 4780bfa35 Pad: Fix incorrect log message
- 50b545c36 Pad: Fix device_index with multitap 2 active
- ba7b5cdef SPU: Fix a couple of log and debug window fields
- acb546b87 SPU: Fix inverted volume level in voice register read
- 0c41d8131 SPU: Fix incorrect DMA overread handling
- 0b4b9a102 MemoryCard: Fix incorrect ACK at end of read
- bde74c54d MemoryCard: Fix incorrect output byte at end of write
- d85dcdb5f MemoryCard: Fix incorrect state/ack at end of ID read
- 6bd6a8d12 Timers: Interrupt request should be cleared after mode write
- 03a61b7ce Timers: Fix repeated IRQs possibly scheduling late
- 8601189df Bus: Fix incorrect logging of EXP1 memory timing
- 0eb8db8d2 Bus: Fix incorrect region pointer for RAMMirror3
- 077f23450 Bus: Fix error propagation in InjectExecutable()
- 2734a1bf1 Bus: Fix incorrect write mask for EXP1/EXP2 base
- ebe6af96c GTE: INTPL should be 8 cycles
- d80c5b9c3 VideoPresenter: Fix incorrect UVs for Rotate180 case
- 0016ef0e7 VideoPresenter: Fix incorrect changed flag when reloading overlay
- cc662e69b VideoThread: Fix dead code in VideoThreadEntryPoint()
- 2c1894709 VideoThread: Fix incorrect command size
- 3535455f4 ImGuiOverlays: Remove unused macro
- fa38d4f3f ImGuiOverlays: Fix incorrect capture box height
- 2d4259e17 ImGuiOverlays: Fix incorrect frame time calculation
- da339e477 MemoryScanner: Set changed flag in RemoveEntryByDescription()
- 63f5a6a5b SoundEffectManager: Fix buffer overallocation in upmix/shift path
- 66ddcae05 Justifier: Remove unused function
- 16ceae8bc Justifier: Last byte shouldn't ACK
- da7a2ccbd PlayStationMouse: Fix X sensitivity being used for Y
- c9c76453a InterruptController: Fix incorrect branch hint
- 17bea4719 AudioStream: Fix backend names not being translated on lookup
- 274d87ef1 CubebAudioStream: Fix a few logging errors
- f40a3c85f SDLAudioStream: Fix inconsistent start API usage
- 692e7ce03 WAVReader: Fix non-s16 handling in SeekToFrame()
- cac0eac05 GameList: Remove unused function
- 7b802e6b8 GameList: Fix incorrect constants in played time parsing
- 9a440652b GameDatabase: Fix incorrect log messages
- 3d43cfa42 GameDatabase: Fix setting wrong settings object
- 385ee9d30 GameDatabase: Add missing flush check for SaveToCache()
- 40b68939e System: Fix video capture args being read incorrectly
- 66702bc71 System: Fix some incorrect error messages
- ccfa0f493 System: Remove a couple of redundant comparisons
- 21f683555 CDImagePPF: Fix possible overpatching on spanning sectors
- 08015f192 CDImagePPF: Fix possible integer underflow in short files
- efc623c98 CDImagePBP: Fix error propagation in SwitchSubImage()
- 32f816304 CDImageMDS: Fix use of 32-bit fseek()
- 4a24d2930 CDImageDevice: Fix incorrectly formatted log messages
- 4e1cdd5d8 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
- 687059dda CDImageM3u: Simplify whitespace trimming
- 1494c6b6f PostProcessing: Fix OOB write in ParseVector()
- d5c22fc62 PostProcessing/FX: Fix PingPong state not being written back
- 1c9b0a95b PostProcessing/Slang: Fix include depth not being tracked
- 3ce975391 PostProcessing/Slang: Add missing Original scale type handling
- a9da0d86a Sockets: Fix various issues
- bd6f99800 ISOReader: Fix incorrect timestamp calculation
- 29ca1cbc8 GPUDevice: Fix incorrect log message
- fc9ce7fb2 GPUDevice: Fix incorrect RG16/RG16F pixel size
- 4e963c1fb System: Add capture file name format options
- 86aabe307 D3DCommon: Fix a bunch of copy/paste errors
- 730c44fef D3D11Device: Fix a couple of incorrect log messages
- 414f9f64a D3D12Device: Fix incorrect subresource calculation
- 9706df029 D3D12Device: Use move in D3D12DownloadTexture destructor
- 56f075688 MetalDevice: Fix various issues
- 6f405d9ee GPUDevice: Don't reserve unnecessary byte in stream buffer
- 690fcb674 System: Log disc details when booting
- cece5222c OpenGLDevice: Fix incorrect mipmap step in upload
- 49eb1ab23 OpenGLDevice: Fix off-by-one in Map() range check
- d940fb391 OpenGLDevice: Fix incorrect DSB binding without binding layout
- 2ac48161f OpenGLTexture: Fix a couple of incorrect format mappings
- f0b6ea978 VulkanDevice: Fix incorrect pointer alignment check
- a4904ddb0 VulkanDevice: Add missing swap of m_allocation
- 0f5124996 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
- 2a85f6734 FullscreenUI: Fix possible OOB on bad config
- 0e3c4714d FullscreenUI: Fix file dialog without filter set
- 22378bd9c FullscreenUI: Add fade transition to file selector
- 2b100621a FullscreenUI: Fix possible RemoveHook() call on wrong thread
- d3edaf50e FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
- d2e94217c Qt: Fix config binding of audio capture extra args
- 41a939f34 Qt: Fix resize-loading case for getCoverForEntry()
- ecc1fe260 Qt: Fix a couple of incorrect config keys in reset path
- d326c8bc7 Qt: Fix incorrect signal block in game summary
- 4ae89e294 Qt: Fix reading from UI thread in computeImageHash()
- 30583b444 Qt: Fix incorrect read in texture replacement settings export
- 00c956f4a Qt: Fix incorrect settings save after automap
- 182c87d76 Qt: Add missing master enable update in cheat settings
- 387d8b378 Qt: Remove redundant setNewBinding() in effect binding
- 0995654db Qt: Add null pointer check to hotkey setFilter()
- 5de2b77d0 CPU/CodeCache: Fix redundant begin/end code write
- 2af1cd640 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
- 0a816b657 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
- 23c94c5bd TimingEvent: Add missing current_event check in SortEvent()
- 89560f81d GDBServer: Fix incorrect shift in $G handler
- dd25610e3 GDBServer: Fix incorrect hex decode in $M handler
- 091d1b625 GDBServer: Fix double ack after single step
- 59b4fb84a GDBServer: Send SIGTRAP on system pause
- 6c6390286 Fix translation errors (AZ) (#3730)
- df64109df TimingEvents: Fix overzealous assertion
- f9254e23f CPU/CodeCache: Pack state in struct
- abf3b8cc0 CPU/CodeCache: Move JIT write protect out of MemMap
- 120d04958 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
- 12989d2bc VideoThread: Use thread instead of handle
- 53c4176a1 CPU/CodeCache: Don't skip filling backprop for first instruction
- 5d92da522 TimingEvents: Remove ticks_late parameter
- dea048016 AudioStream: Reintroduce XAudio2 backend
- c1d24b4e9 dep/cubeb: Bump to a37dadd
- 242b4b814 FullscreenUI: Fix files showing in directory selector
- 28297a3ae VideoThread: Pass clamped dimensions to thread
- 153fa1d23 Core: Get rid of base settings layer overrides
- 85c0b4eff System: Move gamescope screensaver hack to QtHost
- 71dafa719 System: Move socket multiplexer into GDBServer
- cc1775f0b System: Move Discord presence into its own file
- 678b6101e System: Move more core functionality out of file
- 70c6d5a1d VideoThread: Move private functions into own file
- 0b6d41e63 Achievements: Don't defer badge prefetch on game load
- 56783acc7 Qt: Use delete icon for restoring custom titles
- 348eaeef6 TaskQueue: Support single-threaded operation
- 735dc5ba2 Core: Centralize the async task queue
- b2d0fbdcb clang-format: Add lambda options
- 54c6a9faa Hotkeys: Make more formatting-friendly
- 00908b1b1 Qt: Remove some unnecessary includes
- 86fd69332 Qt: Use better title for capture file name format
- 122bd30ba Qt: Move RAIntegration setting to advanced settings
- 6513e4778 Achievements: Add progress indicator mode option
- d2e770131 dep/rcheevos: Increase the time the progress tracker is shown
- d1f597588 FullscreenUI: Fix load/save state leaving system paused
- 8ddaac326 Achievements: Add alpha to progress bars
- 38bbc115c Data: Add additional fonts
- bbe65219a ImGuiManager: Support multiple text fonts
- 9950e2243 SoundEffectManager: Fix low chance of deadlock on shutdown
- f7d937cb0 Qt: Fix debugger ignoring all messages
- acbb76c00 Qt: Fix off-by-one in edit RAM callback
- f080e798e Qt: Fix possible underflow in debugger wheelEvent()
- 9a410416e Qt: Fix incorrect colour of bytes in debugger
- 9f385b27f Qt: Fix last-data buffer management in MemoryViewWidget
- 970e191fa Qt: Improve debugger arrow drawing
- 2f35493d2 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
- 5731aa87a CI: Pass --fail to curl downloads
- 3fb89483b GPU/HW: Fix MMPX Quality compilation in Metal
- 730dcd9a9 VideoThread: Assert not on thread for async calls
- 1200cd589 FullscreenUI: Rework pause menu opening
- 75eddf171 Achievements: Adjust pause menu box padding
- e4c55ad02 Achieve...
latest-ls64
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls64/index.html
LinuxServer Changes:
Full Changelog: latest-ls63...latest-ls64
Remote Changes:
Commits
- 3f502579f GPU/TextureCache: Dump textures to first disc directory
- 23d79f8a5 Qt: Fix themed slider disabled state
- 45460b906 PostProcessing/Slang: Skip over C-style comments in preset files
- ae44fa6f7 PostProcessing/Slang: Support parsing simple/reference presets
- 495141ab5 Qt: Fix postfx shader list with multiple nesting levels
- 8bb8fdd20 Update gpu_hw_shadergen.cpp (#3728)
- 558973f20 GPU/HW: Fix rare VRAM corruption after state load
- 0d60433e9 GameDB: Otona no Asobi again
- 4d95bb34e OpenGLDevice: Fix various issues in stream buffer
- bbffe729a OpenGLDevice: Disable PBOs completely on NVIDIA
- c7027a272 CDROM: Fix off-by-one error
- c2041702d FullscreenUI: Always reset transition before executing it
- 650c60e9e FullscreenUI: Fix fade transition on game exit
- 73a74b359 System: Remove unnecessary state function
- a94a90f34 CPU: Fix some unlikely-to-be-triggered issues
- 566ef446d DMA: Fix DICR register write mask
- ac7aa0d9f GPU: Fix incorrect debug log message
- 5823a0103 MDEC: Fix incorrect halfword tracking for some commands
- cfcfd8f86 CPU/Recompiler: Various minor error fixes
- 4780bfa35 Pad: Fix incorrect log message
- 50b545c36 Pad: Fix device_index with multitap 2 active
- ba7b5cdef SPU: Fix a couple of log and debug window fields
- acb546b87 SPU: Fix inverted volume level in voice register read
- 0c41d8131 SPU: Fix incorrect DMA overread handling
- 0b4b9a102 MemoryCard: Fix incorrect ACK at end of read
- bde74c54d MemoryCard: Fix incorrect output byte at end of write
- d85dcdb5f MemoryCard: Fix incorrect state/ack at end of ID read
- 6bd6a8d12 Timers: Interrupt request should be cleared after mode write
- 03a61b7ce Timers: Fix repeated IRQs possibly scheduling late
- 8601189df Bus: Fix incorrect logging of EXP1 memory timing
- 0eb8db8d2 Bus: Fix incorrect region pointer for RAMMirror3
- 077f23450 Bus: Fix error propagation in InjectExecutable()
- 2734a1bf1 Bus: Fix incorrect write mask for EXP1/EXP2 base
- ebe6af96c GTE: INTPL should be 8 cycles
- d80c5b9c3 VideoPresenter: Fix incorrect UVs for Rotate180 case
- 0016ef0e7 VideoPresenter: Fix incorrect changed flag when reloading overlay
- cc662e69b VideoThread: Fix dead code in VideoThreadEntryPoint()
- 2c1894709 VideoThread: Fix incorrect command size
- 3535455f4 ImGuiOverlays: Remove unused macro
- fa38d4f3f ImGuiOverlays: Fix incorrect capture box height
- 2d4259e17 ImGuiOverlays: Fix incorrect frame time calculation
- da339e477 MemoryScanner: Set changed flag in RemoveEntryByDescription()
- 63f5a6a5b SoundEffectManager: Fix buffer overallocation in upmix/shift path
- 66ddcae05 Justifier: Remove unused function
- 16ceae8bc Justifier: Last byte shouldn't ACK
- da7a2ccbd PlayStationMouse: Fix X sensitivity being used for Y
- c9c76453a InterruptController: Fix incorrect branch hint
- 17bea4719 AudioStream: Fix backend names not being translated on lookup
- 274d87ef1 CubebAudioStream: Fix a few logging errors
- f40a3c85f SDLAudioStream: Fix inconsistent start API usage
- 692e7ce03 WAVReader: Fix non-s16 handling in SeekToFrame()
- cac0eac05 GameList: Remove unused function
- 7b802e6b8 GameList: Fix incorrect constants in played time parsing
- 9a440652b GameDatabase: Fix incorrect log messages
- 3d43cfa42 GameDatabase: Fix setting wrong settings object
- 385ee9d30 GameDatabase: Add missing flush check for SaveToCache()
- 40b68939e System: Fix video capture args being read incorrectly
- 66702bc71 System: Fix some incorrect error messages
- ccfa0f493 System: Remove a couple of redundant comparisons
- 21f683555 CDImagePPF: Fix possible overpatching on spanning sectors
- 08015f192 CDImagePPF: Fix possible integer underflow in short files
- efc623c98 CDImagePBP: Fix error propagation in SwitchSubImage()
- 32f816304 CDImageMDS: Fix use of 32-bit fseek()
- 4a24d2930 CDImageDevice: Fix incorrectly formatted log messages
- 4e1cdd5d8 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
- 687059dda CDImageM3u: Simplify whitespace trimming
- 1494c6b6f PostProcessing: Fix OOB write in ParseVector()
- d5c22fc62 PostProcessing/FX: Fix PingPong state not being written back
- 1c9b0a95b PostProcessing/Slang: Fix include depth not being tracked
- 3ce975391 PostProcessing/Slang: Add missing Original scale type handling
- a9da0d86a Sockets: Fix various issues
- bd6f99800 ISOReader: Fix incorrect timestamp calculation
- 29ca1cbc8 GPUDevice: Fix incorrect log message
- fc9ce7fb2 GPUDevice: Fix incorrect RG16/RG16F pixel size
- 4e963c1fb System: Add capture file name format options
- 86aabe307 D3DCommon: Fix a bunch of copy/paste errors
- 730c44fef D3D11Device: Fix a couple of incorrect log messages
- 414f9f64a D3D12Device: Fix incorrect subresource calculation
- 9706df029 D3D12Device: Use move in D3D12DownloadTexture destructor
- 56f075688 MetalDevice: Fix various issues
- 6f405d9ee GPUDevice: Don't reserve unnecessary byte in stream buffer
- 690fcb674 System: Log disc details when booting
- cece5222c OpenGLDevice: Fix incorrect mipmap step in upload
- 49eb1ab23 OpenGLDevice: Fix off-by-one in Map() range check
- d940fb391 OpenGLDevice: Fix incorrect DSB binding without binding layout
- 2ac48161f OpenGLTexture: Fix a couple of incorrect format mappings
- f0b6ea978 VulkanDevice: Fix incorrect pointer alignment check
- a4904ddb0 VulkanDevice: Add missing swap of m_allocation
- 0f5124996 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
- 2a85f6734 FullscreenUI: Fix possible OOB on bad config
- 0e3c4714d FullscreenUI: Fix file dialog without filter set
- 22378bd9c FullscreenUI: Add fade transition to file selector
- 2b100621a FullscreenUI: Fix possible RemoveHook() call on wrong thread
- d3edaf50e FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
- d2e94217c Qt: Fix config binding of audio capture extra args
- 41a939f34 Qt: Fix resize-loading case for getCoverForEntry()
- ecc1fe260 Qt: Fix a couple of incorrect config keys in reset path
- d326c8bc7 Qt: Fix incorrect signal block in game summary
- 4ae89e294 Qt: Fix reading from UI thread in computeImageHash()
- 30583b444 Qt: Fix incorrect read in texture replacement settings export
- 00c956f4a Qt: Fix incorrect settings save after automap
- 182c87d76 Qt: Add missing master enable update in cheat settings
- 387d8b378 Qt: Remove redundant setNewBinding() in effect binding
- 0995654db Qt: Add null pointer check to hotkey setFilter()
- 5de2b77d0 CPU/CodeCache: Fix redundant begin/end code write
- 2af1cd640 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
- 0a816b657 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
- 23c94c5bd TimingEvent: Add missing current_event check in SortEvent()
- 89560f81d GDBServer: Fix incorrect shift in $G handler
- dd25610e3 GDBServer: Fix incorrect hex decode in $M handler
- 091d1b625 GDBServer: Fix double ack after single step
- 59b4fb84a GDBServer: Send SIGTRAP on system pause
- 6c6390286 Fix translation errors (AZ) (#3730)
- df64109df TimingEvents: Fix overzealous assertion
- f9254e23f CPU/CodeCache: Pack state in struct
- abf3b8cc0 CPU/CodeCache: Move JIT write protect out of MemMap
- 120d04958 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
- 12989d2bc VideoThread: Use thread instead of handle
- 53c4176a1 CPU/CodeCache: Don't skip filling backprop for first instruction
- 5d92da522 TimingEvents: Remove ticks_late parameter
- dea048016 AudioStream: Reintroduce XAudio2 backend
- c1d24b4e9 dep/cubeb: Bump to a37dadd
- 242b4b814 FullscreenUI: Fix files showing in directory selector
- 28297a3ae VideoThread: Pass clamped dimensions to thread
- 153fa1d23 Core: Get rid of base settings layer overrides
- 85c0b4eff System: Move gamescope screensaver hack to QtHost
- 71dafa719 System: Move socket multiplexer into GDBServer
- cc1775f0b System: Move Discord presence into its own file
- 678b6101e System: Move more core functionality out of file
- 70c6d5a1d VideoThread: Move private functions into own file
- 0b6d41e63 Achievements: Don't defer badge prefetch on game load
- 56783acc7 Qt: Use delete icon for restoring custom titles
- 348eaeef6 TaskQueue: Support single-threaded operation
- 735dc5ba2 Core: Centralize the async task queue
- b2d0fbdcb clang-format: Add lambda options
- 54c6a9faa Hotkeys: Make more formatting-friendly
- 00908b1b1 Qt: Remove some unnecessary includes
- 86fd69332 Qt: Use better title for capture file name format
- 122bd30ba Qt: Move RAIntegration setting to advanced settings
- 6513e4778 Achievements: Add progress indicator mode option
- d2e770131 dep/rcheevos: Increase the time the progress tracker is shown
- d1f597588 FullscreenUI: Fix load/save state leaving system paused
- 8ddaac326 Achievements: Add alpha to progress bars
- 38bbc115c Data: Add additional fonts
- bbe65219a ImGuiManager: Support multiple text fonts
- 9950e2243 SoundEffectManager: Fix low chance of deadlock on shutdown
- f7d937cb0 Qt: Fix debugger ignoring all messages
- acbb76c00 Qt: Fix off-by-one in edit RAM callback
- f080e798e Qt: Fix possible underflow in debugger wheelEvent()
- 9a410416e Qt: Fix incorrect colour of bytes in debugger
- 9f385b27f Qt: Fix last-data buffer management in MemoryViewWidget
- 970e191fa Qt: Improve debugger arrow drawing
- 2f35493d2 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
- 5731aa87a CI: Pass --fail to curl downloads
- 3fb89483b GPU/HW: Fix MMPX Quality compilation in Metal
- 730dcd9a9 VideoThread: Assert not on thread for async calls
- 1200cd589 FullscreenUI: Rework pause menu opening
- 75eddf171 Achievements: Adjust pause menu box padding
- e4c55ad02 Achieve...
latest-ls63
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls63/index.html
LinuxServer Changes:
Full Changelog: latest-ls62...latest-ls63
Remote Changes:
Commits
- 3f502579f GPU/TextureCache: Dump textures to first disc directory
- 23d79f8a5 Qt: Fix themed slider disabled state
- 45460b906 PostProcessing/Slang: Skip over C-style comments in preset files
- ae44fa6f7 PostProcessing/Slang: Support parsing simple/reference presets
- 495141ab5 Qt: Fix postfx shader list with multiple nesting levels
- 8bb8fdd20 Update gpu_hw_shadergen.cpp (#3728)
- 558973f20 GPU/HW: Fix rare VRAM corruption after state load
- 0d60433e9 GameDB: Otona no Asobi again
- 4d95bb34e OpenGLDevice: Fix various issues in stream buffer
- bbffe729a OpenGLDevice: Disable PBOs completely on NVIDIA
- c7027a272 CDROM: Fix off-by-one error
- c2041702d FullscreenUI: Always reset transition before executing it
- 650c60e9e FullscreenUI: Fix fade transition on game exit
- 73a74b359 System: Remove unnecessary state function
- a94a90f34 CPU: Fix some unlikely-to-be-triggered issues
- 566ef446d DMA: Fix DICR register write mask
- ac7aa0d9f GPU: Fix incorrect debug log message
- 5823a0103 MDEC: Fix incorrect halfword tracking for some commands
- cfcfd8f86 CPU/Recompiler: Various minor error fixes
- 4780bfa35 Pad: Fix incorrect log message
- 50b545c36 Pad: Fix device_index with multitap 2 active
- ba7b5cdef SPU: Fix a couple of log and debug window fields
- acb546b87 SPU: Fix inverted volume level in voice register read
- 0c41d8131 SPU: Fix incorrect DMA overread handling
- 0b4b9a102 MemoryCard: Fix incorrect ACK at end of read
- bde74c54d MemoryCard: Fix incorrect output byte at end of write
- d85dcdb5f MemoryCard: Fix incorrect state/ack at end of ID read
- 6bd6a8d12 Timers: Interrupt request should be cleared after mode write
- 03a61b7ce Timers: Fix repeated IRQs possibly scheduling late
- 8601189df Bus: Fix incorrect logging of EXP1 memory timing
- 0eb8db8d2 Bus: Fix incorrect region pointer for RAMMirror3
- 077f23450 Bus: Fix error propagation in InjectExecutable()
- 2734a1bf1 Bus: Fix incorrect write mask for EXP1/EXP2 base
- ebe6af96c GTE: INTPL should be 8 cycles
- d80c5b9c3 VideoPresenter: Fix incorrect UVs for Rotate180 case
- 0016ef0e7 VideoPresenter: Fix incorrect changed flag when reloading overlay
- cc662e69b VideoThread: Fix dead code in VideoThreadEntryPoint()
- 2c1894709 VideoThread: Fix incorrect command size
- 3535455f4 ImGuiOverlays: Remove unused macro
- fa38d4f3f ImGuiOverlays: Fix incorrect capture box height
- 2d4259e17 ImGuiOverlays: Fix incorrect frame time calculation
- da339e477 MemoryScanner: Set changed flag in RemoveEntryByDescription()
- 63f5a6a5b SoundEffectManager: Fix buffer overallocation in upmix/shift path
- 66ddcae05 Justifier: Remove unused function
- 16ceae8bc Justifier: Last byte shouldn't ACK
- da7a2ccbd PlayStationMouse: Fix X sensitivity being used for Y
- c9c76453a InterruptController: Fix incorrect branch hint
- 17bea4719 AudioStream: Fix backend names not being translated on lookup
- 274d87ef1 CubebAudioStream: Fix a few logging errors
- f40a3c85f SDLAudioStream: Fix inconsistent start API usage
- 692e7ce03 WAVReader: Fix non-s16 handling in SeekToFrame()
- cac0eac05 GameList: Remove unused function
- 7b802e6b8 GameList: Fix incorrect constants in played time parsing
- 9a440652b GameDatabase: Fix incorrect log messages
- 3d43cfa42 GameDatabase: Fix setting wrong settings object
- 385ee9d30 GameDatabase: Add missing flush check for SaveToCache()
- 40b68939e System: Fix video capture args being read incorrectly
- 66702bc71 System: Fix some incorrect error messages
- ccfa0f493 System: Remove a couple of redundant comparisons
- 21f683555 CDImagePPF: Fix possible overpatching on spanning sectors
- 08015f192 CDImagePPF: Fix possible integer underflow in short files
- efc623c98 CDImagePBP: Fix error propagation in SwitchSubImage()
- 32f816304 CDImageMDS: Fix use of 32-bit fseek()
- 4a24d2930 CDImageDevice: Fix incorrectly formatted log messages
- 4e1cdd5d8 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
- 687059dda CDImageM3u: Simplify whitespace trimming
- 1494c6b6f PostProcessing: Fix OOB write in ParseVector()
- d5c22fc62 PostProcessing/FX: Fix PingPong state not being written back
- 1c9b0a95b PostProcessing/Slang: Fix include depth not being tracked
- 3ce975391 PostProcessing/Slang: Add missing Original scale type handling
- a9da0d86a Sockets: Fix various issues
- bd6f99800 ISOReader: Fix incorrect timestamp calculation
- 29ca1cbc8 GPUDevice: Fix incorrect log message
- fc9ce7fb2 GPUDevice: Fix incorrect RG16/RG16F pixel size
- 4e963c1fb System: Add capture file name format options
- 86aabe307 D3DCommon: Fix a bunch of copy/paste errors
- 730c44fef D3D11Device: Fix a couple of incorrect log messages
- 414f9f64a D3D12Device: Fix incorrect subresource calculation
- 9706df029 D3D12Device: Use move in D3D12DownloadTexture destructor
- 56f075688 MetalDevice: Fix various issues
- 6f405d9ee GPUDevice: Don't reserve unnecessary byte in stream buffer
- 690fcb674 System: Log disc details when booting
- cece5222c OpenGLDevice: Fix incorrect mipmap step in upload
- 49eb1ab23 OpenGLDevice: Fix off-by-one in Map() range check
- d940fb391 OpenGLDevice: Fix incorrect DSB binding without binding layout
- 2ac48161f OpenGLTexture: Fix a couple of incorrect format mappings
- f0b6ea978 VulkanDevice: Fix incorrect pointer alignment check
- a4904ddb0 VulkanDevice: Add missing swap of m_allocation
- 0f5124996 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
- 2a85f6734 FullscreenUI: Fix possible OOB on bad config
- 0e3c4714d FullscreenUI: Fix file dialog without filter set
- 22378bd9c FullscreenUI: Add fade transition to file selector
- 2b100621a FullscreenUI: Fix possible RemoveHook() call on wrong thread
- d3edaf50e FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
- d2e94217c Qt: Fix config binding of audio capture extra args
- 41a939f34 Qt: Fix resize-loading case for getCoverForEntry()
- ecc1fe260 Qt: Fix a couple of incorrect config keys in reset path
- d326c8bc7 Qt: Fix incorrect signal block in game summary
- 4ae89e294 Qt: Fix reading from UI thread in computeImageHash()
- 30583b444 Qt: Fix incorrect read in texture replacement settings export
- 00c956f4a Qt: Fix incorrect settings save after automap
- 182c87d76 Qt: Add missing master enable update in cheat settings
- 387d8b378 Qt: Remove redundant setNewBinding() in effect binding
- 0995654db Qt: Add null pointer check to hotkey setFilter()
- 5de2b77d0 CPU/CodeCache: Fix redundant begin/end code write
- 2af1cd640 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
- 0a816b657 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
- 23c94c5bd TimingEvent: Add missing current_event check in SortEvent()
- 89560f81d GDBServer: Fix incorrect shift in $G handler
- dd25610e3 GDBServer: Fix incorrect hex decode in $M handler
- 091d1b625 GDBServer: Fix double ack after single step
- 59b4fb84a GDBServer: Send SIGTRAP on system pause
- 6c6390286 Fix translation errors (AZ) (#3730)
- df64109df TimingEvents: Fix overzealous assertion
- f9254e23f CPU/CodeCache: Pack state in struct
- abf3b8cc0 CPU/CodeCache: Move JIT write protect out of MemMap
- 120d04958 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
- 12989d2bc VideoThread: Use thread instead of handle
- 53c4176a1 CPU/CodeCache: Don't skip filling backprop for first instruction
- 5d92da522 TimingEvents: Remove ticks_late parameter
- dea048016 AudioStream: Reintroduce XAudio2 backend
- c1d24b4e9 dep/cubeb: Bump to a37dadd
- 242b4b814 FullscreenUI: Fix files showing in directory selector
- 28297a3ae VideoThread: Pass clamped dimensions to thread
- 153fa1d23 Core: Get rid of base settings layer overrides
- 85c0b4eff System: Move gamescope screensaver hack to QtHost
- 71dafa719 System: Move socket multiplexer into GDBServer
- cc1775f0b System: Move Discord presence into its own file
- 678b6101e System: Move more core functionality out of file
- 70c6d5a1d VideoThread: Move private functions into own file
- 0b6d41e63 Achievements: Don't defer badge prefetch on game load
- 56783acc7 Qt: Use delete icon for restoring custom titles
- 348eaeef6 TaskQueue: Support single-threaded operation
- 735dc5ba2 Core: Centralize the async task queue
- b2d0fbdcb clang-format: Add lambda options
- 54c6a9faa Hotkeys: Make more formatting-friendly
- 00908b1b1 Qt: Remove some unnecessary includes
- 86fd69332 Qt: Use better title for capture file name format
- 122bd30ba Qt: Move RAIntegration setting to advanced settings
- 6513e4778 Achievements: Add progress indicator mode option
- d2e770131 dep/rcheevos: Increase the time the progress tracker is shown
- d1f597588 FullscreenUI: Fix load/save state leaving system paused
- 8ddaac326 Achievements: Add alpha to progress bars
- 38bbc115c Data: Add additional fonts
- bbe65219a ImGuiManager: Support multiple text fonts
- 9950e2243 SoundEffectManager: Fix low chance of deadlock on shutdown
- f7d937cb0 Qt: Fix debugger ignoring all messages
- acbb76c00 Qt: Fix off-by-one in edit RAM callback
- f080e798e Qt: Fix possible underflow in debugger wheelEvent()
- 9a410416e Qt: Fix incorrect colour of bytes in debugger
- 9f385b27f Qt: Fix last-data buffer management in MemoryViewWidget
- 970e191fa Qt: Improve debugger arrow drawing
- 2f35493d2 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
- 5731aa87a CI: Pass --fail to curl downloads
- 3fb89483b GPU/HW: Fix MMPX Quality compilation in Metal
- 730dcd9a9 VideoThread: Assert not on thread for async calls
- 1200cd589 FullscreenUI: Rework pause menu opening
- 75eddf171 Achievements: Adjust pause menu box padding
- e4c55ad02 Achieve...
latest-ls62
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls62/index.html
LinuxServer Changes:
Full Changelog: latest-ls61...latest-ls62
Remote Changes:
Commits
- 3f502579f GPU/TextureCache: Dump textures to first disc directory
- 23d79f8a5 Qt: Fix themed slider disabled state
- 45460b906 PostProcessing/Slang: Skip over C-style comments in preset files
- ae44fa6f7 PostProcessing/Slang: Support parsing simple/reference presets
- 495141ab5 Qt: Fix postfx shader list with multiple nesting levels
- 8bb8fdd20 Update gpu_hw_shadergen.cpp (#3728)
- 558973f20 GPU/HW: Fix rare VRAM corruption after state load
- 0d60433e9 GameDB: Otona no Asobi again
- 4d95bb34e OpenGLDevice: Fix various issues in stream buffer
- bbffe729a OpenGLDevice: Disable PBOs completely on NVIDIA
- c7027a272 CDROM: Fix off-by-one error
- c2041702d FullscreenUI: Always reset transition before executing it
- 650c60e9e FullscreenUI: Fix fade transition on game exit
- 73a74b359 System: Remove unnecessary state function
- a94a90f34 CPU: Fix some unlikely-to-be-triggered issues
- 566ef446d DMA: Fix DICR register write mask
- ac7aa0d9f GPU: Fix incorrect debug log message
- 5823a0103 MDEC: Fix incorrect halfword tracking for some commands
- cfcfd8f86 CPU/Recompiler: Various minor error fixes
- 4780bfa35 Pad: Fix incorrect log message
- 50b545c36 Pad: Fix device_index with multitap 2 active
- ba7b5cdef SPU: Fix a couple of log and debug window fields
- acb546b87 SPU: Fix inverted volume level in voice register read
- 0c41d8131 SPU: Fix incorrect DMA overread handling
- 0b4b9a102 MemoryCard: Fix incorrect ACK at end of read
- bde74c54d MemoryCard: Fix incorrect output byte at end of write
- d85dcdb5f MemoryCard: Fix incorrect state/ack at end of ID read
- 6bd6a8d12 Timers: Interrupt request should be cleared after mode write
- 03a61b7ce Timers: Fix repeated IRQs possibly scheduling late
- 8601189df Bus: Fix incorrect logging of EXP1 memory timing
- 0eb8db8d2 Bus: Fix incorrect region pointer for RAMMirror3
- 077f23450 Bus: Fix error propagation in InjectExecutable()
- 2734a1bf1 Bus: Fix incorrect write mask for EXP1/EXP2 base
- ebe6af96c GTE: INTPL should be 8 cycles
- d80c5b9c3 VideoPresenter: Fix incorrect UVs for Rotate180 case
- 0016ef0e7 VideoPresenter: Fix incorrect changed flag when reloading overlay
- cc662e69b VideoThread: Fix dead code in VideoThreadEntryPoint()
- 2c1894709 VideoThread: Fix incorrect command size
- 3535455f4 ImGuiOverlays: Remove unused macro
- fa38d4f3f ImGuiOverlays: Fix incorrect capture box height
- 2d4259e17 ImGuiOverlays: Fix incorrect frame time calculation
- da339e477 MemoryScanner: Set changed flag in RemoveEntryByDescription()
- 63f5a6a5b SoundEffectManager: Fix buffer overallocation in upmix/shift path
- 66ddcae05 Justifier: Remove unused function
- 16ceae8bc Justifier: Last byte shouldn't ACK
- da7a2ccbd PlayStationMouse: Fix X sensitivity being used for Y
- c9c76453a InterruptController: Fix incorrect branch hint
- 17bea4719 AudioStream: Fix backend names not being translated on lookup
- 274d87ef1 CubebAudioStream: Fix a few logging errors
- f40a3c85f SDLAudioStream: Fix inconsistent start API usage
- 692e7ce03 WAVReader: Fix non-s16 handling in SeekToFrame()
- cac0eac05 GameList: Remove unused function
- 7b802e6b8 GameList: Fix incorrect constants in played time parsing
- 9a440652b GameDatabase: Fix incorrect log messages
- 3d43cfa42 GameDatabase: Fix setting wrong settings object
- 385ee9d30 GameDatabase: Add missing flush check for SaveToCache()
- 40b68939e System: Fix video capture args being read incorrectly
- 66702bc71 System: Fix some incorrect error messages
- ccfa0f493 System: Remove a couple of redundant comparisons
- 21f683555 CDImagePPF: Fix possible overpatching on spanning sectors
- 08015f192 CDImagePPF: Fix possible integer underflow in short files
- efc623c98 CDImagePBP: Fix error propagation in SwitchSubImage()
- 32f816304 CDImageMDS: Fix use of 32-bit fseek()
- 4a24d2930 CDImageDevice: Fix incorrectly formatted log messages
- 4e1cdd5d8 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
- 687059dda CDImageM3u: Simplify whitespace trimming
- 1494c6b6f PostProcessing: Fix OOB write in ParseVector()
- d5c22fc62 PostProcessing/FX: Fix PingPong state not being written back
- 1c9b0a95b PostProcessing/Slang: Fix include depth not being tracked
- 3ce975391 PostProcessing/Slang: Add missing Original scale type handling
- a9da0d86a Sockets: Fix various issues
- bd6f99800 ISOReader: Fix incorrect timestamp calculation
- 29ca1cbc8 GPUDevice: Fix incorrect log message
- fc9ce7fb2 GPUDevice: Fix incorrect RG16/RG16F pixel size
- 4e963c1fb System: Add capture file name format options
- 86aabe307 D3DCommon: Fix a bunch of copy/paste errors
- 730c44fef D3D11Device: Fix a couple of incorrect log messages
- 414f9f64a D3D12Device: Fix incorrect subresource calculation
- 9706df029 D3D12Device: Use move in D3D12DownloadTexture destructor
- 56f075688 MetalDevice: Fix various issues
- 6f405d9ee GPUDevice: Don't reserve unnecessary byte in stream buffer
- 690fcb674 System: Log disc details when booting
- cece5222c OpenGLDevice: Fix incorrect mipmap step in upload
- 49eb1ab23 OpenGLDevice: Fix off-by-one in Map() range check
- d940fb391 OpenGLDevice: Fix incorrect DSB binding without binding layout
- 2ac48161f OpenGLTexture: Fix a couple of incorrect format mappings
- f0b6ea978 VulkanDevice: Fix incorrect pointer alignment check
- a4904ddb0 VulkanDevice: Add missing swap of m_allocation
- 0f5124996 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
- 2a85f6734 FullscreenUI: Fix possible OOB on bad config
- 0e3c4714d FullscreenUI: Fix file dialog without filter set
- 22378bd9c FullscreenUI: Add fade transition to file selector
- 2b100621a FullscreenUI: Fix possible RemoveHook() call on wrong thread
- d3edaf50e FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
- d2e94217c Qt: Fix config binding of audio capture extra args
- 41a939f34 Qt: Fix resize-loading case for getCoverForEntry()
- ecc1fe260 Qt: Fix a couple of incorrect config keys in reset path
- d326c8bc7 Qt: Fix incorrect signal block in game summary
- 4ae89e294 Qt: Fix reading from UI thread in computeImageHash()
- 30583b444 Qt: Fix incorrect read in texture replacement settings export
- 00c956f4a Qt: Fix incorrect settings save after automap
- 182c87d76 Qt: Add missing master enable update in cheat settings
- 387d8b378 Qt: Remove redundant setNewBinding() in effect binding
- 0995654db Qt: Add null pointer check to hotkey setFilter()
- 5de2b77d0 CPU/CodeCache: Fix redundant begin/end code write
- 2af1cd640 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
- 0a816b657 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
- 23c94c5bd TimingEvent: Add missing current_event check in SortEvent()
- 89560f81d GDBServer: Fix incorrect shift in $G handler
- dd25610e3 GDBServer: Fix incorrect hex decode in $M handler
- 091d1b625 GDBServer: Fix double ack after single step
- 59b4fb84a GDBServer: Send SIGTRAP on system pause
- 6c6390286 Fix translation errors (AZ) (#3730)
- df64109df TimingEvents: Fix overzealous assertion
- f9254e23f CPU/CodeCache: Pack state in struct
- abf3b8cc0 CPU/CodeCache: Move JIT write protect out of MemMap
- 120d04958 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
- 12989d2bc VideoThread: Use thread instead of handle
- 53c4176a1 CPU/CodeCache: Don't skip filling backprop for first instruction
- 5d92da522 TimingEvents: Remove ticks_late parameter
- dea048016 AudioStream: Reintroduce XAudio2 backend
- c1d24b4e9 dep/cubeb: Bump to a37dadd
- 242b4b814 FullscreenUI: Fix files showing in directory selector
- 28297a3ae VideoThread: Pass clamped dimensions to thread
- 153fa1d23 Core: Get rid of base settings layer overrides
- 85c0b4eff System: Move gamescope screensaver hack to QtHost
- 71dafa719 System: Move socket multiplexer into GDBServer
- cc1775f0b System: Move Discord presence into its own file
- 678b6101e System: Move more core functionality out of file
- 70c6d5a1d VideoThread: Move private functions into own file
- 0b6d41e63 Achievements: Don't defer badge prefetch on game load
- 56783acc7 Qt: Use delete icon for restoring custom titles
- 348eaeef6 TaskQueue: Support single-threaded operation
- 735dc5ba2 Core: Centralize the async task queue
- b2d0fbdcb clang-format: Add lambda options
- 54c6a9faa Hotkeys: Make more formatting-friendly
- 00908b1b1 Qt: Remove some unnecessary includes
- 86fd69332 Qt: Use better title for capture file name format
- 122bd30ba Qt: Move RAIntegration setting to advanced settings
- 6513e4778 Achievements: Add progress indicator mode option
- d2e770131 dep/rcheevos: Increase the time the progress tracker is shown
- d1f597588 FullscreenUI: Fix load/save state leaving system paused
- 8ddaac326 Achievements: Add alpha to progress bars
- 38bbc115c Data: Add additional fonts
- bbe65219a ImGuiManager: Support multiple text fonts
- 9950e2243 SoundEffectManager: Fix low chance of deadlock on shutdown
- f7d937cb0 Qt: Fix debugger ignoring all messages
- acbb76c00 Qt: Fix off-by-one in edit RAM callback
- f080e798e Qt: Fix possible underflow in debugger wheelEvent()
- 9a410416e Qt: Fix incorrect colour of bytes in debugger
- 9f385b27f Qt: Fix last-data buffer management in MemoryViewWidget
- 970e191fa Qt: Improve debugger arrow drawing
- 2f35493d2 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
- 5731aa87a CI: Pass --fail to curl downloads
- 3fb89483b GPU/HW: Fix MMPX Quality compilation in Metal
- 730dcd9a9 VideoThread: Assert not on thread for async calls
- 1200cd589 FullscreenUI: Rework pause menu opening
- 75eddf171 Achievements: Adjust pause menu box padding
- e4c55ad02 Achieve...
latest-ls61
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls61/index.html
LinuxServer Changes:
Full Changelog: latest-ls60...latest-ls61
Remote Changes:
Commits
- 3f502579f GPU/TextureCache: Dump textures to first disc directory
- 23d79f8a5 Qt: Fix themed slider disabled state
- 45460b906 PostProcessing/Slang: Skip over C-style comments in preset files
- ae44fa6f7 PostProcessing/Slang: Support parsing simple/reference presets
- 495141ab5 Qt: Fix postfx shader list with multiple nesting levels
- 8bb8fdd20 Update gpu_hw_shadergen.cpp (#3728)
- 558973f20 GPU/HW: Fix rare VRAM corruption after state load
- 0d60433e9 GameDB: Otona no Asobi again
- 4d95bb34e OpenGLDevice: Fix various issues in stream buffer
- bbffe729a OpenGLDevice: Disable PBOs completely on NVIDIA
- c7027a272 CDROM: Fix off-by-one error
- c2041702d FullscreenUI: Always reset transition before executing it
- 650c60e9e FullscreenUI: Fix fade transition on game exit
- 73a74b359 System: Remove unnecessary state function
- a94a90f34 CPU: Fix some unlikely-to-be-triggered issues
- 566ef446d DMA: Fix DICR register write mask
- ac7aa0d9f GPU: Fix incorrect debug log message
- 5823a0103 MDEC: Fix incorrect halfword tracking for some commands
- cfcfd8f86 CPU/Recompiler: Various minor error fixes
- 4780bfa35 Pad: Fix incorrect log message
- 50b545c36 Pad: Fix device_index with multitap 2 active
- ba7b5cdef SPU: Fix a couple of log and debug window fields
- acb546b87 SPU: Fix inverted volume level in voice register read
- 0c41d8131 SPU: Fix incorrect DMA overread handling
- 0b4b9a102 MemoryCard: Fix incorrect ACK at end of read
- bde74c54d MemoryCard: Fix incorrect output byte at end of write
- d85dcdb5f MemoryCard: Fix incorrect state/ack at end of ID read
- 6bd6a8d12 Timers: Interrupt request should be cleared after mode write
- 03a61b7ce Timers: Fix repeated IRQs possibly scheduling late
- 8601189df Bus: Fix incorrect logging of EXP1 memory timing
- 0eb8db8d2 Bus: Fix incorrect region pointer for RAMMirror3
- 077f23450 Bus: Fix error propagation in InjectExecutable()
- 2734a1bf1 Bus: Fix incorrect write mask for EXP1/EXP2 base
- ebe6af96c GTE: INTPL should be 8 cycles
- d80c5b9c3 VideoPresenter: Fix incorrect UVs for Rotate180 case
- 0016ef0e7 VideoPresenter: Fix incorrect changed flag when reloading overlay
- cc662e69b VideoThread: Fix dead code in VideoThreadEntryPoint()
- 2c1894709 VideoThread: Fix incorrect command size
- 3535455f4 ImGuiOverlays: Remove unused macro
- fa38d4f3f ImGuiOverlays: Fix incorrect capture box height
- 2d4259e17 ImGuiOverlays: Fix incorrect frame time calculation
- da339e477 MemoryScanner: Set changed flag in RemoveEntryByDescription()
- 63f5a6a5b SoundEffectManager: Fix buffer overallocation in upmix/shift path
- 66ddcae05 Justifier: Remove unused function
- 16ceae8bc Justifier: Last byte shouldn't ACK
- da7a2ccbd PlayStationMouse: Fix X sensitivity being used for Y
- c9c76453a InterruptController: Fix incorrect branch hint
- 17bea4719 AudioStream: Fix backend names not being translated on lookup
- 274d87ef1 CubebAudioStream: Fix a few logging errors
- f40a3c85f SDLAudioStream: Fix inconsistent start API usage
- 692e7ce03 WAVReader: Fix non-s16 handling in SeekToFrame()
- cac0eac05 GameList: Remove unused function
- 7b802e6b8 GameList: Fix incorrect constants in played time parsing
- 9a440652b GameDatabase: Fix incorrect log messages
- 3d43cfa42 GameDatabase: Fix setting wrong settings object
- 385ee9d30 GameDatabase: Add missing flush check for SaveToCache()
- 40b68939e System: Fix video capture args being read incorrectly
- 66702bc71 System: Fix some incorrect error messages
- ccfa0f493 System: Remove a couple of redundant comparisons
- 21f683555 CDImagePPF: Fix possible overpatching on spanning sectors
- 08015f192 CDImagePPF: Fix possible integer underflow in short files
- efc623c98 CDImagePBP: Fix error propagation in SwitchSubImage()
- 32f816304 CDImageMDS: Fix use of 32-bit fseek()
- 4a24d2930 CDImageDevice: Fix incorrectly formatted log messages
- 4e1cdd5d8 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
- 687059dda CDImageM3u: Simplify whitespace trimming
- 1494c6b6f PostProcessing: Fix OOB write in ParseVector()
- d5c22fc62 PostProcessing/FX: Fix PingPong state not being written back
- 1c9b0a95b PostProcessing/Slang: Fix include depth not being tracked
- 3ce975391 PostProcessing/Slang: Add missing Original scale type handling
- a9da0d86a Sockets: Fix various issues
- bd6f99800 ISOReader: Fix incorrect timestamp calculation
- 29ca1cbc8 GPUDevice: Fix incorrect log message
- fc9ce7fb2 GPUDevice: Fix incorrect RG16/RG16F pixel size
- 4e963c1fb System: Add capture file name format options
- 86aabe307 D3DCommon: Fix a bunch of copy/paste errors
- 730c44fef D3D11Device: Fix a couple of incorrect log messages
- 414f9f64a D3D12Device: Fix incorrect subresource calculation
- 9706df029 D3D12Device: Use move in D3D12DownloadTexture destructor
- 56f075688 MetalDevice: Fix various issues
- 6f405d9ee GPUDevice: Don't reserve unnecessary byte in stream buffer
- 690fcb674 System: Log disc details when booting
- cece5222c OpenGLDevice: Fix incorrect mipmap step in upload
- 49eb1ab23 OpenGLDevice: Fix off-by-one in Map() range check
- d940fb391 OpenGLDevice: Fix incorrect DSB binding without binding layout
- 2ac48161f OpenGLTexture: Fix a couple of incorrect format mappings
- f0b6ea978 VulkanDevice: Fix incorrect pointer alignment check
- a4904ddb0 VulkanDevice: Add missing swap of m_allocation
- 0f5124996 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
- 2a85f6734 FullscreenUI: Fix possible OOB on bad config
- 0e3c4714d FullscreenUI: Fix file dialog without filter set
- 22378bd9c FullscreenUI: Add fade transition to file selector
- 2b100621a FullscreenUI: Fix possible RemoveHook() call on wrong thread
- d3edaf50e FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
- d2e94217c Qt: Fix config binding of audio capture extra args
- 41a939f34 Qt: Fix resize-loading case for getCoverForEntry()
- ecc1fe260 Qt: Fix a couple of incorrect config keys in reset path
- d326c8bc7 Qt: Fix incorrect signal block in game summary
- 4ae89e294 Qt: Fix reading from UI thread in computeImageHash()
- 30583b444 Qt: Fix incorrect read in texture replacement settings export
- 00c956f4a Qt: Fix incorrect settings save after automap
- 182c87d76 Qt: Add missing master enable update in cheat settings
- 387d8b378 Qt: Remove redundant setNewBinding() in effect binding
- 0995654db Qt: Add null pointer check to hotkey setFilter()
- 5de2b77d0 CPU/CodeCache: Fix redundant begin/end code write
- 2af1cd640 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
- 0a816b657 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
- 23c94c5bd TimingEvent: Add missing current_event check in SortEvent()
- 89560f81d GDBServer: Fix incorrect shift in $G handler
- dd25610e3 GDBServer: Fix incorrect hex decode in $M handler
- 091d1b625 GDBServer: Fix double ack after single step
- 59b4fb84a GDBServer: Send SIGTRAP on system pause
- 6c6390286 Fix translation errors (AZ) (#3730)
- df64109df TimingEvents: Fix overzealous assertion
- f9254e23f CPU/CodeCache: Pack state in struct
- abf3b8cc0 CPU/CodeCache: Move JIT write protect out of MemMap
- 120d04958 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
- 12989d2bc VideoThread: Use thread instead of handle
- 53c4176a1 CPU/CodeCache: Don't skip filling backprop for first instruction
- 5d92da522 TimingEvents: Remove ticks_late parameter
- dea048016 AudioStream: Reintroduce XAudio2 backend
- c1d24b4e9 dep/cubeb: Bump to a37dadd
- 242b4b814 FullscreenUI: Fix files showing in directory selector
- 28297a3ae VideoThread: Pass clamped dimensions to thread
- 153fa1d23 Core: Get rid of base settings layer overrides
- 85c0b4eff System: Move gamescope screensaver hack to QtHost
- 71dafa719 System: Move socket multiplexer into GDBServer
- cc1775f0b System: Move Discord presence into its own file
- 678b6101e System: Move more core functionality out of file
- 70c6d5a1d VideoThread: Move private functions into own file
- 0b6d41e63 Achievements: Don't defer badge prefetch on game load
- 56783acc7 Qt: Use delete icon for restoring custom titles
- 348eaeef6 TaskQueue: Support single-threaded operation
- 735dc5ba2 Core: Centralize the async task queue
- b2d0fbdcb clang-format: Add lambda options
- 54c6a9faa Hotkeys: Make more formatting-friendly
- 00908b1b1 Qt: Remove some unnecessary includes
- 86fd69332 Qt: Use better title for capture file name format
- 122bd30ba Qt: Move RAIntegration setting to advanced settings
- 6513e4778 Achievements: Add progress indicator mode option
- d2e770131 dep/rcheevos: Increase the time the progress tracker is shown
- d1f597588 FullscreenUI: Fix load/save state leaving system paused
- 8ddaac326 Achievements: Add alpha to progress bars
- 38bbc115c Data: Add additional fonts
- bbe65219a ImGuiManager: Support multiple text fonts
- 9950e2243 SoundEffectManager: Fix low chance of deadlock on shutdown
- f7d937cb0 Qt: Fix debugger ignoring all messages
- acbb76c00 Qt: Fix off-by-one in edit RAM callback
- f080e798e Qt: Fix possible underflow in debugger wheelEvent()
- 9a410416e Qt: Fix incorrect colour of bytes in debugger
- 9f385b27f Qt: Fix last-data buffer management in MemoryViewWidget
- 970e191fa Qt: Improve debugger arrow drawing
- 2f35493d2 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
- 5731aa87a CI: Pass --fail to curl downloads
- 3fb89483b GPU/HW: Fix MMPX Quality compilation in Metal
- 730dcd9a9 VideoThread: Assert not on thread for async calls
- 1200cd589 FullscreenUI: Rework pause menu opening
- 75eddf171 Achievements: Adjust pause menu box padding
- e4c55ad02 Achieve...
latest-ls60
CI Report:
https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls60/index.html
LinuxServer Changes:
Full Changelog: latest-ls59...latest-ls60
Remote Changes:
Commits
- 3f52ebe01 gitignore: Add CLion generated directory
- 99acb8fb1 ThirdParty/SmallVector: Add missing include
- 9275e1ad7 Achievements: Add RA SVG icon variant
- a4c53a905 FullscreenUI: Add menu dropdown widgets
- 911fe99f8 FullscreenUI: Use dropdown menus in settings
- 121ae17a3 FullscreenUI: Remove duplicated string
- aeeb592a2 FullscreenUI: Disable achievement icon download if unavailable
- c4481f536 GameDB: Max speedup cycles for Monster Rancher 2 and some other fixes (#3712)
- 79387759b ImGuiManager: Add icon type to OSD message
- 513643adb Common: Add LockedPtr
- d731a6567 Common: Add OptionalWithStatus
- 79576be41 StringUtil: Add AppendUTF8ToWideString()
- 821cab5a5 HTTPDownloader: Support sending additional headers
- 7d24e64e5 HTTPDownloader: Support setting timeout per-request
- 574be46fe HTTPDownloader: Increase poll interval to 16ms
- ee1fb3529 FileSystem: Add OpenTemporaryCFile()
- 331571b38 Util: Add ObjectArchive class
- 1690c6949 Util: Add HTTPCache module
- 1c407c58d Achievements: Use HTTPCache's downloader
- 80b93d3e0 GameList: Use HTTPCache downloader
- 1260891e4 Qt: Use HTTPCache downloader for DownloadFile()
- d618413c5 Qt: Add AsyncPixmapLoader class
- 2f3e30ea0 Core: Remove GetHTTPUserAgent()
- 10a8f5e19 FullscreenUI: Support loading images from URLs with caching
- 32ab1b70f Achievements: Use HTTP cache instead of loose files
- df47c9f53 Qt: Move debug settings into its own category
- e3423e1a5 Qt: Move save states directory to memory card page
- d140fbf8b Qt: Move screenshot/capture directories to Capture Settings
- 5d8bad2c8 Qt: Style textures directory selector same as others
- 3b98973f1 Qt: Move remaining folders to advanced settings
- b05e7ce52 Qt: Add web cache section to advanced
- 3d6af6b4f GameDB: F1 games
- 1e591babc FullscreenUI: Keep choice over dropdown for larger lists
- e7361775f FullscreenUI: Add missing settings
- c8a56a96b Qt: Adjust touchpad tooltip text
- 76cda3180 Qt: Remove old achievement images directory on startup
- 2c52ff011 Settings: Prefetch badges should default to on
- 05efaaec2 Atualização Português do Brasil (#3715)
- 336f3b632 ImGuiOverlays: Fix oversized command allocation
- 4c032c0fb Common: Remove CancellableChanged() from ProgressCallback
- 05d470be1 VideoThread: Add VideoThreadAsyncBufferCallCommand
- 0033212b2 Qt: Don't read g_main_window on core thread
- d8afa5bdc Host: Remove unused LoadSettings() callback
- de57f47bd System: Fix possible video thread corruption on rewind
- 8b5e89f30 Qt: Clarify no data loss from cache cleanup
- f5d8fbd70 VideoThread: Remove RunOnBackend()
- 57a3dc407 FullscreenUI: Don't show fullscreen resolution when unsupported
- ee13585a2 FullscreenUI: Fix menu scrolling with single choice dialog open
- cfa62cab8 FullscreenUI: Fix start point in memory card settings
- 2aa3606fe FullscreenUI: Fix focus loss opening game properties
- 5a60e3707 FullscreenUI: Apply resolution change immediately
- 423e5fd62 FullscreenUI: Always place summary under title
- eb52ba363 FullscreenUI: Highlight menu item when dropdown open
- c9a7bf742 FullscreenUI: Prefetch two rows of covers in grid view
- fc017569b GameList: Only use lookup achievements icons if logged in
- 8682b4f41 Qt: Add Azerbaijani translation
- 7bcafb44f Qt: Fix tooltip
- d8bfa411d MMPXEnhanced v3.0 (#3717)
- f3220f106 GPU/HW: Rename MMPX Enhanced 3.0 to Quality
- 50023dcde FullscreenUI: Fix corrupted blur background on loading screen
- e3f6b4822 GameDB: Sol Divide does not support analog (#3716)
- d3b174ab4 FullscreenUI: Disable postfx in loading screen
- b3157ffe9 Qt: Fix path in create-update-and-edit-language.bat
- 70589b1f9 VideoThread: Fix backend leak on creation failure
- fa4a3eadd Achievements: Cache whether we have saved credentials
- 724c114cd MMPX Enhanced Lite (#3718)
- d8e11b54a Qt: Add manifest for binary
- 0eed1d93f Qt: Improve icon consistency
- a2cffcf5e Qt: Fix accidential QObject translation context
- 45fb8645e Qt: Add a bunch of missing _L1 suffixes
- ec6599d7c MemoryCard: Fix open error not propagating
- 7c6011eb5 Qt: Unmark some error messages from translation
- 993033eb1 Change Azerbaijani translation entry to 'Azərbaycanca' (#3719)
- b77af272b Update MMPXEnhanced v3.0.1 (#3724)
- 2031ef7ce Updating Spanish (Spain) translation with latest changes. (#3725)
- a4054fc05 Update Azerbaijani translation and add contributor (#3726)
- c28c55861 Atualização Português do Brasil (#3727)
- ec2101fe2 Achievements: Rename game icon -> game badge
- c7702bc9d Achievements: Make game badge cache internal
- 420ce679c GameList: Remove ShouldLoadAchievementsProgress()
- 0fcf4cce1 Achievements: Defer game list data update
- 54feef27d CI: Use 7z for symbols archives