github stenzek/duckstation latest
Latest Rolling Release

latest release: preview
7 hours ago

Commits

  • 66956de GPUPresenter: Avoid empty viewport on blank deinterlace
  • 0614262 GPU/HW: Fix inconsistent device state after blank deinterlace
  • 4b30147 D3D12Device: Avoid render pass end when setting same target
  • af305d3 D3D12Device: Avoid second fence wait for infrequent readback
  • 5e6a18a VulkanDevice: Wait before starting next command buffer
  • d67b9b9 OpenGLDevice: Don't use glGetTextureSubImage() on NVIDIA
  • 1a81adb GPUThread: Fix crash concurrently changing renderer and deinterlacing
  • 6f9752a VulkanDevice: Simplify EndAndSubmitCommandBuffer() a bit
  • c76ee85 VulkanDevice: Don't submit during image acquire
  • d3bff97 Settings: Default optimal frame pacing to enabled
  • 4281de3 Qt: Make settings update check ignore skipped updates
  • ba180d6 Qt: Add option to edit game list serials
  • 1379d3a Qt: Fix recommended value for Optimal Frame Pacing
  • 60ab6a9 Qt: Reflect new defaults in settings help (#3687)
  • 81bee31 ImGuiManager: Fix possible memory leak on shutdown
  • dedc590 ImGuiManager: Allow renderer switch without destroying context
  • 65bb5bc ImGuiManager: Adjust fixed-width font weight based on DPI
  • ac8502c ImGuiManager: Swap fixed-width font to Google Sans Code
  • 91b0ed9 ImGuiManager: Use text font for frame time overlay
  • 2ac1d89 Spanish (Spain) translation update. (#3688)
  • 4d6932e GameDB: Tighten timing in Wing Commander III
  • 6c013db ImGuiManager: Increase font weight for OSD settings
  • 1608a6f FullscreenUI: Adjust footer item spacing
  • 3a53a89 Qt: Fix double save of custom serials
  • ac1e6b5 GameList: Fix some interactions with custom serials
  • 21dfa47 GameDB: Disable auto analog in Mizzurna Falls (#3689)
  • dcebea1 GameDB: Adjust cropping in FF8 and FF9
  • 83b3a2e GameDB: Adjust cropping in Threads of Fate
  • 0a9a77c Qt: Move OSD and Capture settings to their own sections
  • 0f35e4e Qt: Drop workaround for Classic Windows theme change bug
  • a0fbffe Qt: Don't store unneeded references to settings pages
  • 1f672d3 ImGuiManager: Fix spacing for media capture timer overlay
  • 38c6c3e Qt: Improve grouping of OSD options
  • dc69e3f Qt: Fix conflicting accelerators in Settings menu
  • 2da35d2 dep/rcheevos: Prioritize unsynchronized bucket over recently unlocked
  • 8643068 Achievements: Fix unsynchronized achievements missing from list
  • ddcc2e0 Achievements: Add missing lock to GetPauseThrottleFrames()
  • 499c08a Achievements: Warn on shutdown when unlocks are unconfirmed
  • fb682a9 Qt: Fix incorrect tab indices in graphics settings
  • 6be96f6 GameDB: PGXP CPU for World's Scariest Police Chases
  • 5c0a227 Qt: Ensure fields in MemoryViewWidget are initialized
  • 27afb31 Achievements: Fix overlap when >1 leaderboard tracker active
  • 7e48486 Achievements: Reduce the size of challenge notifications
  • df75737 WindowInfo: Move prerotation enum to global scope
  • 9b299fe GPUPresenter: Convert to namespace
  • 370df62 Qt: Add option to use the system font on Linux
  • 63102e9 Qt: Avoid locals symbol name clash in qtthemes.cpp
  • a04a312 GPUThread: Rename to VideoThread
  • 208a8a5 GPUPresenter: Rename to VideoPresenter
  • 219ee20 PostProcessing: Fix depth buffer always being requested
  • 31f9be1 VideoPresenter: Simplify post-processing settings update
  • 0bbb5b7 Qt: Fix tab order in OSD settings again
  • 7c4bcef Atualização Português do Brasil (#3691)
  • 4c523a6 VideoThread: Rename some missed references
  • 92b888f VideoThread: Fix overreserve in command allocator
  • 5516f7a Misc: Use 'Render Window' consistently instead of 'Display Window'
  • 335145b VideoThread: Avoid possible null presentation in PresentFrameAndRestoreContext()
  • 25211c6 VideoPresenter: Move present throttling from VideoThread
  • 36788b8 Misc: Eliminate unnecessary atomic thread fences
  • c28282c Qt: Always use FullscreenUI for confirm message if system valid
  • a875254 Controller: Add option to use right analog as trigger buttons (#3692)
  • d45e121 Qt: Remove QtUtils::GetRootWidget()
  • 8e5ec64 Qt: Adjust window bring-up order
  • 6f39b2f Qt: Fix fixed-width font not loading
  • 2fd81f5 ImGuiManager: Make margins consistent across OSD/achievements
  • f4b3d1c FileSystem: Add SetPathExecutable()
  • 0aa6e1e Qt: Add popup to create desktop file on Linux
  • 1330184 Qt: Fix log window appearing in front of main window on KDE
  • f245357 Qt: Move state into QtHost namespace
  • a87d2ae Qt: Fix application name in task switcher on GNOME
  • 130494f Qt: Allow changing executable with drag/drop
  • 7235494 VideoPresenter: Ensure skipped_present_count is zeroed
  • 467f2fa StateWrapper: Avoid unnecessary include
  • e509092 Common: Fix string tests building
  • 5cf8d08 GameDB: Max speedup cycles for Disruptor and Rescue Shot (#3693)
  • 511058d Qt: Fix crash on Linux when opening game properties (#3694)
  • 0aca150 Common: Fix incorrect float rvalid()
  • 1cfde39 Deps: Version updates
  • 44e055b Misc: Use delta from initial value for input binding
  • c13d04e InputManager: Remove Sensor source
  • 668a930 SDLInputSource: Add sensor (accelerometer) support
  • d66db16 Qt: Add controller sensor mapping
  • 0f280ac InputManager: Remove padding from struct
  • 2924126 Qt: Avoid rich text in message boxes (#3695)
  • b330b3e CMake: Simplify Metal shader build
  • fa4d084 CMake: Simplify resource copy
  • 566681f D3D11Device: Add missing push constant buffer destroy
  • d6915fb D3D11Device: Fix assigning integer to boolean
  • b20c2b2 Common: Add additional unit tests
  • 7db0555 CMake: Bump version requirement
  • 9630464 CMake: Remove pointless flags change
  • a64272b PostProcessing/FX: Fix incorrect min_point_mag_linear_mip_point translation
  • 87c4b66 OpenGLDevice: Fix error reporting in CreateFramebuffer()
  • 6685668 OpenGLDevice: Fix error reporting in SetSwapInterval() and SetVSyncMode()
  • ca49dd1 HTTPDownloader: Fix error description for WinHttpOpenRequest()
  • 84ff25e HTTPDownloader: Fix return value of curl write callback
  • e81fa84 HTTPDownloader: Add missing error status assignment
  • c60e3aa VideoThread: Fix core thread view missing surface format
  • fbf4cdd dep/rcheevos: Bump to dedfe2d
  • 7df574c Achievements: Fix notification icon opacity
  • 86dcbc6 Achievements: Remove hidden leaderboard check
  • 2bd0a6a VulkanDevice: Fix incorrect stage bits for compute PushUniformBuffer()
  • 3a54524 VulkanDevice: Add missing scissor clamp in SetInitialPipelineState()
  • 59aeb1e VulkanDevice: Fix query index in WaitForCommandBufferCompletion()
  • d8b8897 Qt: Reverse window open order on all Wayland platforms
  • fcd3f97 README: Update resource overrides section
  • 186d558 FileSystem: Check fclose() for WriteBinaryFile()/WriteStringToFile()
  • 22c8d91 Installer: Add windows installer program
  • 4756b17 Installer: Add Windows uninstaller program
  • 7e4efbf CI: Generate Windows installers
  • 5bf65fe Installer: Calculate estimated size for uninstaller entry
  • 43cf1d9 Installer: Share progress callback with updater
  • dc78763 Spanish (Spain) translation update (#3696)
  • faf988b System: Match console region to BIOS region when starting BIOS
  • bcd7a43 InputManager: Fix typo in variable name
  • ab959a5 InputManager: Always call SetHook()/RemoveHook() on core thread
  • 653d04c InputManager: HasAnyBindingsForSource() shouldn't check subtype
  • 682c9c6 InputManager: Only enable sensor polling if there are bindings
  • 372e1f3 InputManager: Fix needing double press for button binding

Don't miss a new duckstation release

NewReleases is sending notifications on new releases.