Commit Graph

12447 Commits (8051b4f0c46011de65260fd38b329a78b080cf8a)
 

Author SHA1 Message Date
Stenzek 8051b4f0c4
PerformanceCounters: Ignore reset boundary sample
Establish a fresh frame-time baseline after reset and average only valid
frame intervals.
6 days ago
Stenzek b54fc14bcf
FullscreenUI: Synchronize pause menu toggle
Resolve the toggle action on the video thread synchronously so the core
pauses before another frame can be queued.
7 days ago
Stenzek 142bdc8c89
FullscreenUI: Make cheats/achievements/leadboards hotkeys toggles 7 days ago
Stenzek e0e6920234
FullscreenUI: Add 'Toggle Pause Menu' hotkey 7 days ago
Stenzek 5005991435
InputManager: Type button transitions
Replace magic -1/0/1 callback values with scoped cancellation, release, and
press events so handlers must explicitly choose cancellation behavior.

Also require a positive press state for press-triggered PGXP and VRAM debug
toggles so the negative chord-cancellation state cannot activate them.
7 days ago
Stenzek 3af2d36d6e
ImGuiManager: Track text input separately
Cache WantTextInput independently from WantCaptureKeyboard, use it when
forwarding character input, and clear cached capture state during shutdown.

Also fix out-of-date comments, and use acquire-release for all states
since we might only look at one of them.
7 days ago
Stenzek 0ccc553df6
InputManager: Fix effect sync device matching
Require both the input backend and device index to match before restoring
vibration or LED state on connection.
7 days ago
Stenzek 3d16465175
InputManager: Clear bindings when input is lost
Cancel active bindings for a disconnected device and when background input is
disabled. Match source cleanup by source type and device index so buttons,
axes, and hats are all reset together.
7 days ago
Stenzek 396dae9233
InputManager: Release cancelled hold bindings
Treat cancellation like release for hold hotkeys and macro triggers, preventing
fast-forward, turbo, rewind, or macros from remaining active after chord
supersession or state clearing.
7 days ago
Stenzek ef86bf11ca
InputManager: Add hotkey flag for UI-activatable 7 days ago
Stenzek 6ef27141fd
MSBuild: Force SHA256 source file hashes
Works around disassembly view being broken in Clang-CL builds.

See https://developercommunity.visualstudio.com/t/Debugger-disassembly-view-fails-with-cla/11123599
7 days ago
Stenzek d7036f3470
Qt: Persist use-serial-file-names in cover downloader 1 week ago
Stenzek 63d72ac156
GameDB: DisableUpscaledDirectTextures for Fear Effect 1 week ago
Stenzek 28ea031c40
GPU: Add Disable Upscaled Direct Textures option
Needed for games like Fear Effect which use FMV/16-bit backgrounds.

Probably others, feel free to suggest/add them.
1 week ago
Stenzek 024face27d
Qt: Add context menu to game list exclusion list
And allow multiple items to be selected.
1 week ago
Stenzek 5b056fc8df
Qt: Fix icon missing on newly-added excluded paths 1 week ago
Stenzek 0874ed65d2
Qt: Fix empty debugger toolbar window title 1 week ago
Stenzek 9c335d9e03
Qt: Add icons to context menu 1 week ago
Stenzek 5cc77ac186
Qt: Persist debugger window state 1 week ago
Stenzek c81a747ff8
Qt: Add multi-instruction selection to debugger
And the ability to copy code to the clipboard.
1 week ago
Stenzek b5f0fb9c36
FullscreenUI: Tweak separator style 1 week ago
Stenzek 8c6ff3bfc7
VideoThread: Propagate thread startup failure
Return video thread creation errors through CoreThreadInitialize and unwind
the core-thread resources initialized before the failure.

Unlikely to occur, and if thread creation fails we have bigger problems,
but whatever.
1 week ago
Stenzek 0cad5f5054
VideoThread: Dispatch thread toggle failures safely
Run fatal reconfiguration handling through the active video execution context
so video-owned teardown and thread assertions execute on the correct thread.
1 week ago
Stenzek c54f16ae57
VideoThread: Snapshot fullscreen state for resize
Pass the core-thread fullscreen state through the queued resize callback so
video-thread recovery does not read mutable core-owned state.

Assert fullscreen entry points stay on the core thread.
1 week ago
Stenzek 7131d91442
VideoThread: Destroy inline reconfigure commands
Run the non-trivial reconfigure command destructor after direct single-threaded
execution to release copied settings resources before FIFO storage is reused.
1 week ago
Stenzek e0519a899f
VideoThread: Use video-owned fullscreen settings
Read exclusive fullscreen control from the GPU settings copy on the video
thread, preserving queued settings ordering and avoiding a settings race.
1 week ago
Stenzek 67d5943128
VideoThread: Keep successful software fallback
Mark backend creation successful after the fallback software renderer
initializes so it is not immediately destroyed.
1 week ago
Stenzek 7c173d9147
VideoThread: Enforce command producer ownership
Assert that command allocation, submission, and synchronization run on the
core thread. Marshal exclusive-fullscreen loss to the core thread instead
of enqueueing recursively from the video thread.
1 week ago
Stenzek 6fe06b99e7
VideoThread: Preserve command queue empty slot
Reserve one aligned command slot so full and empty ring states cannot alias.

Assert that aligned commands fit within the usable queue capacity.
1 week ago
Stenzek 74a743a5e4
GPU/HW: Use multi-threaded pipeline compilation 1 week ago
Stenzek 94e5f08f18
GPU/HW: Use multi-threaded shader compilation 1 week ago
Stenzek 7c239271fd
GPU/HW: Use UIDs as shader cache keys 1 week ago
Stenzek 5ebeff9c23
GPU/HW: Use UIDs for shader generation 1 week ago
Stenzek f541abb11e
GPUDevice: Add LoadPipeline() for supported backends
Returns null if the cache isn't hit, so the caller can know when to
parallelise pipeline creation.
1 week ago
Stenzek 7951eba8a0
GPUDevice: Support looking up cached shaders and opaque keys 1 week ago
Stenzek 5420d699e2
GPUDevice: Use ObjectArchive for shader cache 1 week ago
Stenzek 79371c47a2
HTTPCache: Use object archive synchronization 1 week ago
Stenzek 3151c5256b
ObjectArchive: Synchronize access internally
Reduces the locked portion to not include compression/decompression.
1 week ago
Stenzek 60b06c0e28
ObjectArchive: Use binary keys instead of strings 1 week ago
Stenzek 0d2e66235c
Core: Make TaskQueue thread count dynamic 1 week ago
Stenzek efecb78dbd
Threading: Add GetProcessorCount() 1 week ago
Stenzek 563c355131
TaskQueue: Add GetOutstandingTasks() and ExecuteOneTask() 1 week ago
Davide Pesavento e26fa60915
Update Italian translation (#3798) 1 week ago
ranchodelaluna 390c878f78
GameDB: Persona localizedName 1 week ago
Stenzek 96268ab66a
Qt: Remove empty widget text 1 week ago
Stenzek 0910d4edc6
FullscreenUI: Reduce text size of small-mode category badges
So it's not larger than the title itself...
1 week ago
Stenzek 3c141418a3
FullscreenUI: Fix extra uneven height in achievement notifications 1 week ago
Stenzek 16452a0483
Achievements: Check for login request in LoadStateFromBuffer()
Game load request won't be created if we're still logging in and it's
taking a while to complete.
1 week ago
Stenzek 88ccab2a23
Achievements: Fix some options potentially not live-updating 1 week ago
Stenzek 025ea24fc4
GPU/HW: Fix typo in CompilePipelines()
Results in VRAM copy pipeline always succeeding even when it failed.
1 week ago