Changelog:

Split Core_EnableStepping into Core_Break and Core_Resume
Start moving the CPU debug-step logic to Core.cpp
Same with Step Over
Same with Step Out
Harmonize the various step functions in the disasm window
Unify the step functions
Rework the step functions.
Decouple the last part of step()
Add disasm event WM_DEB_AFTEREVENT
Better notification mechanism to scroll the disasm window after step
Apply that to breaking execution as well.
thin3d: Add partial support for 32-bit index buffers. Add DrawIndexedUP.
Change the 2D matrix generation to query the coordinate convention from the draw context
Add the base IMGUI code, including a Vulkan backend that we’ll convert to thin3d
Imgui build system
More work, starting to integrate into the EmuScreen
Get it rendering on Vulkan and D3D11 (OpenGL is bugged though)
Hook up basic keyboard and mouse input
Build system fixes
Code fixes. Correct the UWP fix
Back out the 32-bit index buffer support. Not actually needed for ImGui.
Add a mappable key for toggling the imgui interface. For now it’s called Toggle debugger.
Cleanup, add right-click support to UI framework
Disable the right mouse button on “Clickables”
Merge pull request #19576 from hrydgard/rearchitect-steppingMove CPU stepping logic out of the disassembler window code
Merge pull request #19569 from hrydgard/imgui-integrationImGui integration prototype
Plumb deltatime into imgui
Update uk_UA.iniupdate for badges
Initial build setup for including lua
Merge pull request #19587 from QmanaQ/patch-1Update uk_UA.ini
imgui: Code cleanup, fix clean shutdown
Merge pull request #19588 from hrydgard/imgui-fixesImGui: Fix resource management
Remove return value from Core_PerformStep
Be more consistent about thread naming
Don’t block the render thread while the CPU is paused. This is a prereq for imgui debuggers.
Update Italian translation, thanks giona888
Merge pull request #19552 from hrydgard/lua-build-setupInitial build setup for lua
Merge pull request #19589 from hrydgard/refactor-executionRefactor execution: No longer freeze the “EmuThread” when paused in the debugger
Update ko_KR.ini
Merge pull request #19590 from DDinghoya/patch-25Update ko_KR.ini
Update uk_UA.ini (#19592)* Update uk_UA.ini

controls and audio category is now fully translated. (:

* Update uk_UA.ini

158 item fixed.

* Update uk_UA.ini
Warning fixes
SDL mouse input fixes
Merge pull request #19596 from hrydgard/sdl-mouse-fixSDL mouse fix
Update uk_UA.inisome categories translated, some not fully
Merge pull request #19598 from QmanaQ/patch-3Update uk_UA.ini
Fix Translation ID
Fix Translation Account To ID
Merge pull request #19599 from XJustForYouX/PatchLanguageIDSmall Fix Some Feature For Translation ID
RAIntegration: Fix the filename in the not-found messages.
Add some translation strings
Merge pull request #19600 from hrydgard/raintegration-error-fixRAIntegration not-found error message fix
Fix Some String To Translation ID
Merge pull request #19602 from XJustForYouX/PatchLanguageIDFix Some String To Translation ID
Attempt to fix the build after adding lua
Another post-lua-merge buildfix (windows)
Remove the separate lua vcxproj. Somehow cursed on the buildbot :/
Merge pull request #19604 from hrydgard/remove-lua-vcxprojRemove the separate lua vcxproj.
Fix Some String To Translation ID (#19603)* Fix Some String To Translation ID

* Fix Some String To Translation ID – 2
Implement mousewheel vertical scroll and hover in ImGui integration
Fix mouse hover in SDL builds
Merge pull request #19605 from hrydgard/imgui-integration-workImGui integretion: Implement mousewheel and mouse hover
Fix Some String To Translation ID
Fix Some String To Translation Java ID
Merge pull request #19606 from XJustForYouX/PatchLanguageIDFix Some String To Translation ID
Merge pull request #19607 from XJustForYouX/PatchLanguageJavaIDFix Some String To Translation Java ID
Bugfix taking screenshots of rotated framebuffers, common in Vulkan on many Android devices
Remove obsolete ifdef
Start work on imdbg
Add basic register view
ImGui debugger: assorted work
Improve register view, fix follow PC, some cleanup
Cache symbols and use a clipper to speed up the symbol list.
Merge pull request #19608 from hrydgard/screenshot-fixFix for error taking screenshots in Vulkan on many devices
Fix black background in old debugger
Merge pull request #19609 from hrydgard/imgui-debuggerImGui debugger
Actually fix the black background in the win32 debugger
Make some more ImGui debugger windows (modules, threads, callstack)Funcionality is a bit limited though (no context menus yet)
Merge pull request #19610 from hrydgard/more-debuggerMore ImGui debugger windows
Fix Some String To Translation Java ID
Merge pull request #19611 from XJustForYouX/PatchLanguageJavaIDFix Some String To Translation Java ID
Downgrade the lua submodule to 5.4.7 stable, instead of a random commit
Merge pull request #19613 from hrydgard/downgrade-luaDowngrade the lua submodule to 5.4.7 stable, instead of a random commit
Fix bug where the ‘o’ char input got eaten because the char matches the keycode for Esc..
Crashfixes
Some cosmetic fixes to the ImGui debugger
Merge pull request #19614 from hrydgard/imgui-fixesMore minor ImGui fixes
Update uk_UA.inilittle update
Update uk_UA.ini
Update ko_KR.ini
Merge pull request #19618 from DDinghoya/patch-26Update ko_KR.ini
Merge pull request #19617 from QmanaQ/patch-4Update uk_UA.ini
Disable the ImGui debugger if RetroAchievements hardcore mode is enabled.
Disable the native debugger when RetroAchievements hardcore mode is enabled
Merge pull request #19624 from hrydgard/disable-debuggerDisable debuggers when the RetroAchievements hardcore mode is enabled
Update uk_UA.ini3 categories translated fully
Update uk_UA.ininew categories translated fully
Memory::IsValidAddress: Consider VRAM with a kernel flag invalid.We don’t have it mapped in our memory map, so this can actually crash
checked reads like Read_U32.
Since it isn’t mapped, and it can’t possibly be valid in retail PSP
games to access VRAM this way, I don’t think this will cause any
problems.
However, if it does, we’ll have to add the corresponding mappings to the
memory map.
Merge pull request #19626 from QmanaQ/patch-5Update uk_UA.ini
Remove duplicated imgui keycode logging (already logs in the conversion function)
Fix crash due to null break reason
Make imdebugger visibility a config option instead of emuscreen state
Don’t full-screen-on-doubleclick if ImGui debugger is active
Merge pull request #19628 from hrydgard/assorted-debugger-fixesAssorted debugger fixes
Merge pull request #19627 from hrydgard/consider-kernel-vram-invalidMemory::IsValidAddress: Consider VRAM with a kernel flag invalid.
Update uk_UA.iniad hoc, memstick, (also language category) translated fully now
Merge pull request #19630 from QmanaQ/patch-6Update uk_UA.ini
ImDebugger: Add initial HLE module explorer window`
Sort the modules in the HLE module viewer
Stackwalk safety fix. Stackwalk logic fix (although probably not veryimportant)
Memmap error message improvements
Implement selection in modules and threads views
ImDebugger: Add atrac context viewer
Merge pull request #19635 from hrydgard/more-debugger-stuffImDebugger: Add some new minor things
Throttle the display rate when stepping in the debugger. Fixes powerregression from the debugger refactor
Merge pull request #19636 from hrydgard/dont-spin-when-steppingThrottle the display rate when stepping in the debugger.
Add GhidraClient
Add struct viewer debugging tool
Support copy address and value in Struct viewerReorganize add breakpoint menu
Style fixes
Struct viewer, fix buildFix open check
Add GhidraClient and ImStructViewer docsFew more code comments and misc clean up
Merge pull request #19629 from kotcrab/struct-viewerStruct viewer debugging tool
Force LoongArchCPUInfoParser::TotalLogicalCount() to return int on all code paths
Merge pull request #19639 from k0tran/masterForce LoongArchCPUInfoParser::TotalLogicalCount() to always return
Add a “reason” argument to sleep_ms().sleep_ms() should generally be avoided when possible. This can be used to try
to track down unnecessary sleeps by adding some logging.

This commit on its own doesn’t actually add any logging.
Merge pull request #19642 from hrydgard/tag-sleep-functionAdd a “reason” argument to sleep_ms()
Nemo’s buildfixes
Add a way to access the ImDebugger from the DevMenu
Update Cargo.lock
Fix the ImDebugger on OpenGL
Fix a runtime warning in text rendering
Fix ImDebugger rendering on D3D9 as well (although not very optimally).
ImDebugger: Fix issue with HLE Modules window always showing, more granular sleep logging
Merge pull request #19643 from hrydgard/imgui-fixesImDebugger fixes: OpenGL and D3D9 rendering fixed
Implement new fast queue data structure CharQueue
Use CharQueue in Buffer
Buildfix
Merge pull request #19644 from hrydgard/buffer-optimizationOptimize “Buffer” with a new data structure
Buffer: Optimize scanning for the next crlf
Fix some issues with clicking touch buttons using the mouse after thehover change.

Increase a buffer size.
Merge pull request #19645 from hrydgard/more-buffer-optOptimize Buffer slightly more, fix using touchscreen controls using the mouse
Fix comments style
Various struct viewer fixes and improvements- Can’t add multiple watches at once from globals
– Removing watch incorrectly affects tree state
– Fix formatting bitfield enum member with 0 value
– Better formatting for non bitfield enums
– More accurate setup instructions
– Improved UI for setting number of pointer elements
– Chunked display for large arrays and pointers
Merge pull request #19648 from kotcrab/struct-viewer-fixesStruct viewer fixes and improvements
Update ko_KR.ini
Merge pull request #19649 from DDinghoya/patch-27Update ko_KR.ini
Ge Debugger: Add a framebuffer listing, along with some plumbing
Add search functionality to disassembler
ImDebugger: Fix a bunch of keyboard shortcuts
ImDebugger: Add ability to rename function symbols
Merge pull request #19647 from hrydgard/more-debugger-stuffImDebugger: Framebuffer listing, keyboard shortcuts and more
ImGui: Add TTF font supportWe use the Roboto font that we’re already shipping for now, although, we could
also support other fonts or have a setting.
ImGui: Fix DPI scale, disable unneeded logging
Still use a fixed-width font for the disassembly (might change this)
Make CBreakpoints an object
Merge pull request #19646 from hrydgard/imgui-ttf-supportImGui debugger: Add TTF font support
Start work on membkpoint listing
Add basic breakpoint editing window. Need UI refinement
ImGui: Implement Shift/Ctrl/Alt modifier support
Disable F11 fullscreen shortcut in imdebugger (collides with stepping)
Buildfix
Merge pull request #19654 from hrydgard/additional-imdebugger-featuresImDebugger: Add Breakpoints window
Add “Rename function” functionality. Fix some input and stepping bugs.
Fix step over, other stepping issues
ImDebugger: Add basic filesystem browser. Add partial support for “save file dialogs” to System.
Merge pull request #19655 from hrydgard/more-im-debuggerMore ImDebugger stuff
Fix printscreen keyboard mapping (although kinda useless)
Slightly better right-click behavior in disasm view
Add kernel object viewer, reimpl “Run to here”
Show the filesystem types and origins in the list (except ISO)
Merge pull request #19656 from hrydgard/misc-debuggerImDebugger: Add a basic kernel object list
ImDebugger register window: Show fpcond on FPU tab. Fix display issuein kernelobj window
ImGui thin3d backend: Add texture binding support
Implement texture binding in draw batches. Framebuffer viewer now works in Vulkan.
Implement ImGui clipped batch texturing support in the other backendstoo
Merge pull request #19657 from hrydgard/debugger-framebuffer-viewerImDebugger: Basic framebuffer viewer
Bump the gradle plugin version again
Merge pull request #19659 from hrydgard/gradle-updateAndroid: Bump the gradle plugin version again
Fix toast warning in SDL buildRelated to #18951

Add toast warning for unpacked ISO directories in SDL build.

* Check if the path to a directory containing an unpacked ISO is passed as a command line argument.
* Display the toast warning “Warning: Playing unpacked games may cause issues.” if an unpacked ISO directory is detected.
ImDebugger: Fix the ability to close the kernel objects viewer
ImGui drawing: Allow varying the pipeline when binding textures
ImGui: Finish implementing pipeline switching for all backends
Add basic window for the output display
Convert argv[i] to Path type before passing it to `File::IsDirectory`

* Fix the error by converting `argv[i]` to `Path` type before passing it to `File::IsDirectory`
Merge pull request #19662 from hrydgard/more-im-debuggerImDebugger: Add the ability to draw using multiple pipelines
Merge pull request #19660 from vishwamartur/fix-toast-warningFix toast warning in SDL build
Add config save/load for imdebugger, move the imgui.ini to PSP/SYSTEM
ImDebugger: Add new Raw audio channels window
Show sceMp3 in audio codecs window
Merge pull request #19663 from hrydgard/more-imdebuggerImDebugger: Add config saving, add new audio channels window
Fix broken check for intel macs (for auto-disabling Vulkan)
Logging: When not on EmuThread, log with the host thread name insteadof the PSP thread name.
Merge pull request #19664 from hrydgard/log-current-threadLog “host” thread names when not on EmuThread
Use a separate file for the “Failed GPU backends” on all platforms.This avoids saving config to clear it during startup.
Ghidra client fix
Fix crash with mismatched pushfont/popfont
Merge pull request #19666 from hrydgard/failed-gpu-own-fileUse a separate file for the “Failed GPU backends” on all platforms.
Remove some obsolete debugging stuff
I/O: Add a (disabled) mode to artifically slow down I/O for debugging
Enable early logs on Windows (just stuff them in the thread queue)
Theme: Avoid checking the ui_atlas multiple times
Avoid a couple of unnecessary Exists checks
Don’t save config when launching a game (it should already have beensaved)
Assorted warning fixes
Merge pull request #19668 from hrydgard/file-system-perfFile system perf part 1: Remove some unnecessary file access
[Libretro] Fix crash on boot
Merge pull request #19669 from bslenul/lr-crash-fix[Libretro] Fix crash on boot
[Libretro] Fix deadzone and sensitivity
Merge pull request #19670 from bslenul/lr-input-fixes[Libretro] Fix deadzone and sensitivity
Early-out checking for pinned folders
Add support for prefix filtering in directory listing.
GameInfoCache: Use directory prefix filtering to speed things up.Probably not much improvement in practice.
Improve logging in GetFilesInDir
Merge pull request #19671 from hrydgard/file-system-perf-part-2File system perf, part 2
Fix wrong homebrew name generation
MetaFileSystem: Clean up unused function
Move the MemoryStick free space calculation to a task instead of a thread
Bypass the PSP file system when calculating the savedata size to avoid a lock
For the free-space savedata scan, only scan relevant subdirectories.
Avoid running the initial savedata size scan except on games that need it.
Add a separate bool for I/O logging
Merge pull request #19672 from hrydgard/file-system-perf-part-3File system perf, part 3
Fix regression with Debug->Stop (Ctrl+W). Delete some duplicate code.
ImDebugger: Add a basic texture browser
Merge pull request #19673 from hrydgard/stop-hang-fixFix regression with Debug->Stop (Ctrl+W)
Merge pull request #19674 from hrydgard/debugger-texture-viewerImDebugger: Add a basic texture browser
Optimize away a File::Exists when checking savestate dates
Remove unnecessary check when creating subdir chains
GameScreen: Remove a redundant savedata size calc on the main thread
Use Exists instead of GetFileInfo in more cases
Game config loading: Remove redundant Exists calls
Minor perf improvement in ini file parser
ZipFileReader: Save the zip path so we can log it
Savedata multiload: Do a directory listing so we can filter missing directories faster.
TextureReplacer: Remove a lock that I don’t think should be there. Blacklist another folder.
Fix crash in logging
Faster savedata deletion
Remove the java-side directory listing filtering, didn’t work.
Cleanup after prev PR
Merge pull request #19676 from hrydgard/file-system-perf-part-4File system perf part 4, fix save deletion regression
Remove locks on safe zip file operations (that don’t involve the filepointer)
TextureReplacement: Call CloseFile as early as possible when loadingtextures.
Fix bug in ini parsing on non-Windows
TextureReplacer: Improve ini file loading error reporting
sneak in a fix for closing the display window
Merge pull request #19679 from hrydgard/file-system-perf-5File system perf 5, fix ini file regression
Set UI font when drawing OSDFixes #19680
Merge pull request #19681 from Cohee1207/fix-toast-fontSet UI font when drawing OSD
Add texture cache stats to ImDebugger
Merge pull request #19683 from hrydgard/texture-cache-statsAdd texture cache stats to ImDebugger
Add new log category for texture replacements
Cull through-mode 2D draws against scissor rectangleHelps texture replacement load performance in Fate Extra CCC (it does a lot
of off-screen drawing), and may help in other situations too.
Minor debugger update
Merge pull request #19684 from hrydgard/new-log-categoriesAdd new log category for texture replacements
Merge pull request #19685 from hrydgard/through-mode-cullingCull through-mode 2D draws against scissor rectangle
Fix small accuracy issue in through-mode 2D culling
Merge pull request #19686 from hrydgard/more-fixesFix small accuracy issue in through-mode 2D culling
sceGe: Unexpose some functions
Add two new core states, rename RUNNING to RUNNING_CPU and similar for stepping.
Get the CORE_RUNNING_GE coreState working!
Plumb through a basic Ge debugger window (no real functionality yet)
Show VisualString in screenshot notifications
Qt buildfix, assorted warning fixes
Make a new error message for invalid zip files. Re-use the old translation
Merge pull request #19689 from hrydgard/sceGe-refactorAdd new core states for GE execution/stepping
More GE debugging prep
Remove the “GPUInterface” base class. Not really useful, GPUCommon ispretty much the same thing.
Merge pull request #19690 from hrydgard/more-ge-debugger-prepMore ge debugger prep – some code reorganization
Move irrelevant code out of Core.cpp
Merge pull request #19691 from hrydgard/core-cleanupMove irrelevant code out of Core.cpp
Replace a bad function
Refactor LogManager (remove GetInstance()). In headless, add option to log to OutputDebugString on Windows.
Tune some log verbosity, remove timestamp on outputdebugstring logs
Comment updates
Delete unused enum, add a new parameter bool
Lift out running the display list to the callers.This has one tricky case though…
Merge pull request #19694 from hrydgard/log-manager-refactorMinor log manager refactor
Merge pull request #19695 from hrydgard/more-ge-refactorMore GE refactor
Add “Split syscall” mechanism
Merge pull request #19697 from hrydgard/split-syscallsAdd “Split syscall” mechanism
Move some stuff around, rename some stuff
Ge stepping without wait: Tex/Prim stepping works. Draw/Single have issues.
Ge debugger: Better solution for draw notifications
PauseAction readbacks now work again
Hook up the new (bare-bones) ImGui debug window to GPU stepping, fixstepping.
Remove unused code. Activate split syscalls (for Ge stepping) when the Ge debugger is “active”
Merge pull request #19693 from hrydgard/debugger-refactorMore GE debugger refactoring, initial work on the new debugger
Extract FormatStateRow() from the Win32 GE debugger to GPU/Debugger/Registers
Move the state tab definitions to GPU/Debugger
Add barebones GE state display window
Extract the vertex formatting code from the Windows GE Debugger
Small simplification
Merge pull request #19699 from hrydgard/more-ge-debuggerMore Im GE debugger: State window, extract more code from the Windows GE debugger
Fix regression in break-on-load functionality
Merge pull request #19700 from hrydgard/fix-break-on-loadFix regression in break-on-load functionality
Add basic vertex data viewer (with the same flaws as the old one)
Move the ge debugger window back out from GPUCommon
Merge pull request #19702 from hrydgard/ge-debugger-verticesImDebugger GE: Add vertex data viewer
Im Ge Debugger: Add basic disassembly view
Merge pull request #19703 from hrydgard/ge-debugger-disasmIm Ge Debugger: Add basic disassembly view
ImDebugger: Add a window to inspect upcoming CoreTiming events
Merge pull request #19705 from hrydgard/debugger-core-timingImDebugger: Add a window to inspect upcoming CoreTiming events
Thread view: Show wait type
Add wait id column
Delete unused code
Move the core loop to Core.cpp
Move more core-related stuff into Core.cpp/h
Move out two more functions from Core.cpp. Clean up Windows includes
Merge pull request #19706 from hrydgard/core-cleanupCore.cpp cleanup
Fix running when pc is at breakpoint. Fix issue when stepping throughGe-enqueuing functions.
ImDebugger: Add frame-stepping and a “skim” button (single-steps while held down)
ImDebugger thread window: Visualize the wait ID when possible
Merge pull request #19707 from hrydgard/core-improvementsCore improvements: Run-from-breakpoint fix, add two new step types
Work around metal buffer bug on MacOS + AMD GPUWith VMA_MEMORY_USAGE_CPU_TO_GPU buffers, metal buffer appears 0
filled in metal trace during vkCmdCopyBufferToImage triggered
MTLBlitCommandEncoder instance method.

Allocate VMA_MEMORY_USAGE_GPU_TO_CPU instead on MacOS + AMD GPU
Switch to VMA_MEMORY_USAGE_CPU_ONLY on MacOS AMDThe ideal allocation would be VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
like in 1.12.3, but vma picked an index that’s actually not mappable

VMA_MEMORY_USAGE_GPU_TO_CPU selects VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
which seems to hurt performance

VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
selection with VMA_MEMORY_USAGE_CPU_ONLY would suffice for the
workaround, and get better performance
Simplify MacOS AMD GPU workaroundBased on KhronosGroup/MoltenVK#960,
expand MacOS AMD GPU workaround to all dGPU and instead of
changing usage, just append VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
Merge pull request #19710 from Kethen/macos_amd_workaroundWork around metal buffer bug on MacOS + AMD GPU
ImDebugger scheduler: Show userdata field
Minor UI tweaks
Remove an unnecessary wrapper function
const, rename a function
ImDebugger: Add way to cancel pending step
Warning fix
Fix drag/drop crash
Fix discrepancy between stepping and running across frame endings. Add some more menu options in the ImDebugger
Core: Minor changes to stepping (and some log changes)
Make the dispatcher less confusing
Add facility for __KernelGPUReplay to request to be called again
Replay: Add some plumbing to propagate the Break status outwards
Break out a LoadReplay function
thread solution: initial progress
Playback: Match the real sceGe functions better.
Move the dump playback mips code to Playback.cpp. Assorted cleanup.
Playback: Remove logging, improve locking, works now it seems
Merge pull request #19711 from hrydgard/extracted-commitsExtracted fixes and cleanups from #19709
Show active compat flags on crash screen
Fix interaction with the crash screen, oops
Merge pull request #19709 from hrydgard/playback-refactorGE dump playback refactor and fix
Merge pull request #19712 from hrydgard/show-active-compat-flagsShow active compat flags on crash screen
Add Debugger log category
Add a new log category
Transfer metadata from the state.cpp table to GECommandTable
Merge the command metadata from the debugger to GECommandTable
Update the MoltenVK dylib for Mac to 1.2.11
Refactor the GE state viewers
Merge pull request #19716 from hrydgard/more-debugger-workMore debugger code cleanup
Im Ge debugger: Gray out disabled state (state that belongs to disabled features)
ImGeDebugger: Implement the new state viewer
Merge pull request #19715 from hrydgard/update-molten-vk-macUpdate the MoltenVK dylib for Mac to 1.2.11
Merge pull request #19718 from hrydgard/ge-debugger-new-state-viewerImGeDebugger: new state viewer
Minor code cleanup
Add special texture hashing mode solving the Tag Force problem.Don’t want to build some complicated rule-based thing until we have more
use cases, so this is quite specialized.

See #19714
Merge pull request #19717 from hrydgard/tag-force-texture-hashingAdd special texture hashing mode solving the Tag Force problem
Show basic framebuffer preview
Work on previews
Remove redundant code. Add “break after syscall” button, fix up
Minor code cleanup. Add Goto LR button
Add error message if compat.ini can’t be found
Fix visual issue in new Ge state viewer
Add a “clickable address” control, to be used in many places in the debugger
Use the new ImClickableAddress in a few more places
Merge pull request #19719 from hrydgard/im-ge-draw-previewImGeDebugger framebuffer preview, plus many small changes
Initial memory view work, not yet building
More memview work
Fix memview build
Add input to memview. Use step counters to control updates.
LR->RA rename, fixes
Fix sending of random stack data along with chat messages
More memory view work
Warning fix
Merge pull request #19720 from hrydgard/imgui-memviewImDebugger: Add memory viewer window
Remove obsolete accounting for time spent stepping the GE (we no longer block)
Reorganize DebugInterface etc a bit.KernelThreadDebugInterface no longer has a useless copy of a MIPSDebugInterface.
DebugInterface const cleanup
More const cleanup
Merge pull request #19721 from hrydgard/stepping-cleanupStepping cleanup, DebugInterface cleanup
Stop pretending that DisassemblyManager isn’t a singleton – it currently is.
Move more things to State.cpp/h, break out some stuff into a function
Move the last of the vertex preview code to State.cpp
Move more utility functions from the Win32 GE debugger to the commoncode
Merge pull request #19722 from hrydgard/more-cleanupMore GE debugger code cleanup
ImDebugger: Switch “Dear Imgui” to the Docking branch, enable the feature
Enable a dockspace, so you can dock windows to the sides of the screen
Implement vertex preview in the new Ge debugger
Merge pull request #19723 from hrydgard/imgui-dockingImGui: Switch to the docking branch, enable window docking
Merge pull request #19724 from hrydgard/vertex-previewImplement vertex preview in the new Ge debugger
Fix vertex previews for triangle fans and strips, and lines.
Add clipping
Merge pull request #19725 from hrydgard/more-debugger-workFix vertex previews for triangle fans and strips, and lines.
TextureReplacer: Load the ini, even if just saving.
Merge pull request #19726 from hrydgard/replacement-load-ini-on-savingTextureReplacer: Load ini if available, even if just saving.
Comments
Simplify collecting time into debug counters
Move out checking for bad PC from InterpretList
Remove unused state
Minor code cleanups
Inline InterpretList into ProcessDLQueue. Makes it easier to understand the flow.
One more bit of simplification
Merge pull request #19727 from hrydgard/refactor-display-listRefactor the display list processing loop
GE debugger: Cleaner resume from steps. Fixes GE debugging in God ofWar.
Merge pull request #19728 from hrydgard/display-list-fixesGE debugger: Cleaner resume from stepping. Fixes GE debugging in God of War
ImDebugger: Assorted UI improvements
ImGui: Implement cursor support on Windows
Fix sending garbage data after chat message, this time for real
Merge pull request #19729 from hrydgard/imgui-improvementsImGui improvements
ImGeDebugger: Highlight changes, show old value on hover
Split the register window, prepare for better diffs
Better diff tracking in GPR window
Diff changes in FPR registers too.
Some polish
Run the imgui processing early in the frame, only do the rendering late
ImGeDebugger: Implement draw stepping
Replace a fiddly callback with a global bool (which later won’t be global)
Merge pull request #19730 from hrydgard/stepping-improvementsImGeDebugger stepping improvements
Remove the notion of the GPU debugger being “Active”. Now it’s automatic.
ImGeDebugger: Show the stall address (if any) in red.
Refactor: Make GPUCommon own the framedump “recorder”.
Move the ownership of GPU breakpoints to GPUCommon
Update ko_KR.ini
Merge pull request #19732 from DDinghoya/patch-28Update ko_KR.ini
Merge pull request #19731 from hrydgard/ge-debugger-refactorGE debugger refactor: Have GPUCommon own more of the debugging data
GPUDebug: Remove lastStepTime
Break out the parser from RestrictPrimRanges
Small simplification
Remove the “DispatchFlush” mechanism, not convinced it’s a win
Remove redundant call to SetColorUpdated
Plumb in a GPUCommon pointer in the draw engines. (Hopefully can getrid of this later)
Lift some more debugging functionality into GPUCommon
Simplifications
Merge pull request #19733 from hrydgard/ge-debugger-mergeGe debugger refactor: Lift even more functionality into GPUCommon
Add utility window to view memory as pixels. Will be essential for debugging some things.
Fixes to depth display
Merge pull request #19734 from hrydgard/pixel-viewerImGeDebugger: Memory-as-pixels viewer
Split out a component from the ImGePixelViewerWindow
Implement render preview in sw mode.
Make the vertex preview work on top
Merge pull request #19735 from hrydgard/software-render-previewImGeDebugger: Make the preview work with software rendering
Add a ImGeReadbackViewer for virtual framebuffers
Allow inspecting the color value per pixel in the GE debugger
Global rename of FBChannel to Aspect, also make it a class enum
Android joystick event handling: Don’t blow up java ref counting by forgetting ReleaseElements.

Also, use JNI_ABORT to avoid writing back changes (we don’t make any).
Merge pull request #19736 from hrydgard/debugger-readback-inspectImGeDebugger: Add pixel color inspection
Merge pull request #19738 from hrydgard/joystick-java-bugAndroid joystick event handling: Don’t blow up java ref counting by forgetting ReleaseElements.
Rework the log manager to be more robust
More cleanup. Make the log manager work even before “initialized”, removng the Early phase
Remove StdioListener
Fix enabling logs
Merge pull request #19739 from hrydgard/log-code-cleanupLogManager code cleanup
Fix the imgui font in release mode builds, oops
ImGeDebugger: Add support to inspect depth and stencil buffers too, including hover values
Merge pull request #19740 from hrydgard/ge-debugger-visualize-depth-stencil

ImGeDebugger: Visualize and inspect depth/stencil buffers
Workaround for GE debugging in Syphon Filter. Fix some stepping misbehavior.
Some renaming
Correct prim counting when stepping
Add break-on-count (with rudimentary UI), break on block transfer
Add rudimentary block transfer visualization (in text form)
Fix the prim counting to act as before
Merge pull request #19742 from hrydgard/more-debugger-workFix more GE debugger bugs, add break-on-count
applySkinInDecode belongs in the VertexTypeID, not in the options.
Pass the VertexDecoder pointer around
When overriding skinning in sw transform mode, don’t write/restore member variables
GPU: Move things around a little, out of DrawEngine.
Some NormalizeVertices interface cleanup
Remove the member function NormalizeVertices
Small simplification
Delete obsolete empty function ClearTrackedVertexArrays
Lookup the decoder outside of DrawEngine
Merge pull request #19743 from hrydgard/vertex-decoder-minor-cleanupVertex decoder code cleanup
Merge pull request #19744 from hrydgard/single-decoder-lookup-take-2Cleanup: Avoid looking up the decoder multiple times per draw
Despam some OSD messages
Fix some logic in LogManager, cocoa warning fix
Minor debugger fixes
Merge pull request #19745 from hrydgard/despam-port-errorDe-spam an error message about ports
Actually avoid looking up the vertex decoder more than once
Merge pull request #19746 from hrydgard/avoid-extra-lookupsActually avoid looking up the vertex decoder more than once
Move more code into SoftwareTransformCommon, cleanup
Do some cleanup of #includes in GPU
More include cleanup
Buildfixes
Remove some unnecessary includes.
Merge pull request #19747 from hrydgard/move-stuffMove some stuff to SoftwareTransformCommon, lots of #include cleanup
Restore removed includes.Turns out these were needed after all. For some reason, on Windows and
Mac, gets auto-included by something else so I don’t notice
when it’s missing, and MSVC’s include dependency tracker doesn’t see it
either.
Merge pull request #19749 from hrydgard/restore-algorithm-includesRestore removed includes.
[Libretro] Crash fix
Merge pull request #19750 from bslenul/lr-crash-fix[Libretro] Crash fix
Rename CrossSIMD to SIMDHeader, but also keep CrossSIMD.h (will havea future use)
Cleaning up our SIMD header includes, using the new header
Replace some SSE4-specific operations with SSE2 sequences.
Finish up this cleanup (move _M_SSE compat define out of Common.h)
Buildfix
Merge pull request #19751 from hrydgard/simd-cleanupSIMD include cleanup
Implement fp64’s color conversion function in ConvertRGBA8888ToRGBA5551
Merge pull request #19753 from hrydgard/more-simdImplement fp64’s color conversion function in ConvertRGBA8888ToRGBA5551
GE debugger improvements
Add “Realtime” checkbox to pixel viewer
Add DepthRaster.cpp/h. Rasterize depth rectangles, some triangles
Remove subpixel precision. Some sketching.
One less operation in the inner loop
Add convenient wrappers
Move prototype cross simd wrapper structs to CrossSIMD.h
DepthRaster: Premultiply world-view-proj matrices
DepthRaster: Merge the decode and transform steps
Reorganize the depth vertex pipeline for future optimizations
Warning fixes, minor cleanup
Reformat CrossSIMD.h for easier editing. Add some new methods.
Add more funcionality to CrossSIMD.h, like fast matrix mul and some conversion
Use CrossSIMD to optimize DecodeAndTransformForDepthRasterChecked the output, the generated assembly is great!
CrossSIMD: Add reciprocal, clamp, swaplowerelements, etc
Depth raster: Switch to a SoA data layout for the screen space verts
Speed up DepthRasterClipIndexedTriangles with CrossSIMD
CrossSIMD: possible buildfix?
DepthRaster: Fix bug where we used the wrong vertex count.
DepthRaster: Fix backface culling
Minor sign check optimization
Comment
CrossSIMD: Add a bunch more functonality for use by the rasterizer
CrossSIMD: make the transpose function compatible with ARM32
Reimplement the depth rasterizer with SIMD.
Convert the rect implementation to CrossSIMD
AnyZeroSignBit arm fix, more crosssimd fixes. Now works on ARM.
Cleanup
Merge pull request #19748 from hrydgard/software-depth-protoRender a software depth buffer in parallel with HW rendering
CrossSIMD: Add a simple operation
Rework depth raster to fully support software transform
Merge pull request #19756 from hrydgard/depth-raster-improvementsDepth raster: Fix when software transform is enabled, support non-through mode rectangles
Optimize the triangle inner loop a little more
Add some depth raster stats
CrossSIMD: Add SwapLowerElements to Vec4F32
Keep the depth in floating point to save some conversions
Depth Raster: Add more stats, discard triangles with < 10 px area. Still good results. Enable software depth raster for Wipeout, Midnight Club LA, Resistance.Adds a setting to control it under speedhacks, named "Lens flare occlusion". The setting includes a low quality mode which is not yet implemented. Merge pull request #19758 from hrydgard/depth-raster-more-improvementsDepth raster: more improvements Merge pull request #19759 from hrydgard/enable-depth-rasterEnable software depth raster for Wipeout, Midnight Club LA, Resistance. Depth raster: Clip rects to scissor too. Fixes some crashes Merge pull request #19760 from hrydgard/depth-raster-clip-rectsDepth raster: Clip rects to scissor too. Fixes some crashes Enable depth raster for Armored Core: Silent lineSee #17597. Also improve some comments. CrossSIMD: Add a multiply-as-16bit function to Vec4S32. This can be implemented quickly on SSE2. Specialize DepthRasterTriangle for the comparison modes using templating. Merge pull request #19761 from hrydgard/more-depth-raster-stuffEnable depth raster for Armored Core by default, minor speedup Added memory tags for volatile memory Merge pull request #19762 from Nemoumbra/volmem-tagsVolatile memory improvements DepthRaster: Fix typo breaking LESS depth comparison mode on x86(64) Delete unused files Enable depth raster in all backends, not just Vulkan Update ko_KR.ini Merge pull request #19765 from DDinghoya/patch-29Update ko_KR.ini Merge pull request #19764 from hrydgard/even-more-depth-raster-stuffEnable depth raster in all backends OpenXR - Remove non-functional Vulkan implementation (#19766)* OpenXR - Remove non-functional Vulkan implementation * Forgotten to commit Depth raster: Bugfix, minor opt (#19768)* Correct two errors in CrossSIMD.h, thanks hiroyuki177 Fixes #19767 * DepthRaster: Merge offset into viewport X/Y UI fixes: Rework savedata manager a bit, default keyboard focus to Cancel in confirmation dialogs (#19771) * Savedata manager screen: Use TabbedUIDialogScreenWithGameBackground This fixes some minor UI issues on this screen. * PromptScreen (used for "Are you sure?"): Default keyboard focus to Cancel Fixes #19770 Depth raster optimizations: Merge viewport into projection matrix, prepare for further SIMD-ification (#19769) * Remove some old redundant reports * Fix scissor off by one * More CrossSIMD * Move the viewport scale out to the proj matrix * DepthRaster: Also merge the viewport translation into the projection matrix. * Depth raster: Do the triangle clipping in batches of 4 triangles * Cleanup Very minor soft transform optimization Depth Z: Add a stat for Z-culling, correctly distinguish the small/backface stats More SIMD: Add some matrix operations to CrossSIMD (#19773)* More CrossSIMD functionality * Use the new SIMD API for the matrix multiplies Reorganize depth raster draw state handling Simplify / fix through mode triangles More reorg Unify the ends of the two depth draw paths Merge pull request #19774 from hrydgard/depth-raster-refactorDepth raster refactor Small rename, remove some obsolete reporting Just minor cleanup and prep in depth raster Actually queue up depth draws More fixes Cull 4-groups of triangles early Merge pull request #19776 from hrydgard/depth-draw-queueImplement queueing of depth raster draws Compute and cull by triangle area early before writing 4-groups of triangles Merge pull request #19777 from hrydgard/improve-triangle-cullingDepth raster: Improve triangle culling in the "clipping" step Minor FS logging Measure the available time for "background depth raster". The idea isviable. Prepare for tiled depth raster Add new minimal-overhead RunParallel function Merge pull request #19779 from hrydgard/more-depth-workDepth raster: Some prep for parallelization Better triangle area calculation, thanks fp64 for the reminder Some variable renaming Updated brazilian portuguese translationIncluded the latest added strings and changed the existing ones as needed. Inline edge calculations Simplify Simplify more More prep. Add triangle loop. Move branches out of triangle setup Merge pull request #19784 from Felipefpl/masterUpdated brazilian portuguese translation More crosssimd Add crude guardband culling to depth rasterizer Parallelize triangle setup. However, some glitches appear... More CrossSIMD (breaking change) DepthRaster: Improved guardband rejection, fixing glitches. Revert unintentional change. Warning fix Fix issue in Midnight Club where Z now wrapped around at a distance,after removing the clamp. Might as well cull. Comment fixes, buildfix Merge pull request #19786 from hrydgard/even-more-depth-workDepthRaster: Better guardband rejection, parallelize triangle setup Implement the low-quality depth raster mode, default to it on Android/iOS. I really can't tell much of a difference in practice... Merge pull request #19789 from hrydgard/depth-raster-low-qualityImplement the low-quality depth raster mode, default to it on Android/iOS Update Language ID (#19787) Added empty sceNetAdhocMatching files Fix two edge cases in path mapping on scoped storage.Fixes #19788 Fix two edge cases in path mapping on scoped storage. (#19793)Fixes #19788 Check file systems for case sensitivity. Avoid running un-needed workarounds. UWP buildfix Merge pull request #19794 from hrydgard/file-system-case-sensitivityCheck file systems at runtime for case sensitivity SavedataParam: Sanity check, read from the correct list when loggingfiles. See #19795 Merge pull request #19796 from hrydgard/savedata-fixSavedataParam: Sanity check, read from the correct list when logging files Split out the matching code from sceNetAdhoc.cpp Fix playback of mono Atrac3+ tracks in videosThis is rare, but does occur: #19782 I missed that setChannels could happen late in my refactor (#19033) Merge pull request #19800 from hrydgard/fix-mono-atrac3plus-in-videoFix playback of mono Atrac3+ tracks in videos CwCheats: Avoid logspam with some bad cheats. Tag cheat structs withnames (sometimes useful for debugging). CwCheat: Avoid instruction cache invalidations on reads. Not needed. CwCheat: Don't double-check already checked memory pointers Unrelated logging improvement Restored the order of HLE module registration Merge pull request #19801 from hrydgard/cheat-engine-perf-fixesCwCheat engine perf fixes Atrac3 (not +): Keep decoding even on broken frames.Fixes some music in some unofficial game mods, whose music got broken in 1.18. Was reported through e-mail by Miguel. Merge pull request #19802 from hrydgard/atrac3-workaround-packet-errorAtrac3 (not +): Keep decoding even on broken frames. Make PSPOskConstants.cpp not binary anymore Osk: Finish moving out the weird strings to PSPOskConstants.cpp Merge pull request #19804 from hrydgard/osk-constant-cleanupPSPOskDialog constant cleanup Remove unnecessary c_str(), minor cleanup Don't cut off the last char from strings from NativeKeyboard Delete dead code from Utf8.cpp Merge pull request #19805 from hrydgard/osk-fixesDon't cut off the last char from strings from NativeKeyboard Merge pull request #19797 from Nemoumbra/net-adhoc-splitSplit out Adhoc matching from the main sceNetAdhoc file. Restore cache invalidation in CwCheats code Update build.gradle, just because sceNetInet and sceNetResolver support.Co-authored-by: AdamN
Merge pull request #19806 from hrydgard/cwcheat-cache-invalidationRestore cache invalidation on reads in CwCheat engine
Implement sceNetInetGetpeername and sceNetInetGetsockname as per anr2mes impl and begin converting ERROR_LOGS into hleLogError + ensuring last error is set.
Brace codestyle fix
Add header to sceNetInet and audit hleLogError calls for SetLastError.
Fix bad formatting in CMakeLists.
Add to the rest of the build systems
Translate all input parameters to socket().
Move flags and other constants from InetSocket onto SceNetInet.
Added early returns for send{X}Packet funcs
Cleaned up broadcastHelloMessage and broadcastPingMessage
Buildfixes
Warning fixes, Windows compat hacks
Merge pull request #19807 from hrydgard/infra-masterRebased WIP: Infrastructure: sceNetInet and sceNetResolver support
Added early returns for actOn{X}Packet funcs
Simplified 2 more matching funcs
Hadooken codestyle fix + cleaned up NetAdhocMatching_Start
Hadooken fixes: sceNetAdhocMatchingSelectTarget, NetAdhocMatching_CancelTargetWithOpt
Hadouken fixes: SendData funcs + sceNetAdhocMatchingGetPoolStat
Fix savestates
Merge pull request #19809 from hrydgard/savestate-fixFix savestates, oops
Remove compat flag AllowDelayedReadback
Don’t assert when using the old Ge debugger in OpenGL
Merge pull request #19808 from Nemoumbra/adhoc-matching-cleanupAdhoc matching cleanup
Merge pull request #19810 from hrydgard/minor-cleanupFix crash/assert in old Ge debugger with OpenGL, remove obsolete compat flag
pspautotests runner (headless): Add ability to specify a directory torecurse
Also add the ability to ignore individual tests.
This is very useful during development for convenient multi-test runs
from within Visual Studio.
Example command line:
“`
–root pspautotests/tests/../ -o –compare –timeout=30 –graphics=software pspautotests/tests/audio/atrac/… –ignore pspautotests/tests/audio/atrac/second/resetting.prx –ignore pspautotests/tests/audio/atrac/replay.prx
“`
Merge pull request #19811 from hrydgard/headless-recurse-testspspautotests runner (headless): Add ability to specify a directory to recurse
Implement sceHttp library
Implement sceNetInetInetAddr which seems to be used too by many gamesalong with sceHttp syscalls
Fixes some issue with sceUriParse
Fixes an issue where sceHttp inited states didn’t get reset when changing games.
Removing test code to set breakpoints.
Changing httpCode to statusLine
Making sure getAllResponseHeaders not to crash.
Updated getResponseContentLength
Fixes Invalid URL issue during sceHttpSendRequest on LittleBigPlanet
Added sceParseHttpResponseHeader implementation.
Add comment
Merge pull request #19813 from hrydgard/httpRebase of ANR2ME’s sceHttp implementation
Quick fix for JPEG detection, we missed some files. Thanks sonic120 for the report.
sceNpAuthGetTicket: Truncate the username at 16 charsAs requested by ChaCheeChoo in #19814
Merge pull request #19815 from hrydgard/ticket-max-username-lensceNpAuthGetTicket: Truncate the username at 16 chars

Atualizações:

Dividir Core_EnableStepping em Core_Break e Core_Resume
Começar a mover a lógica de depuração do CPU para o arquivo Core.cpp
O mesmo para Step Over e Step Out
Harmonizar as várias funções de step na janela de desassemblagem
Unificar as funções de step
Reestruturar as funções de step
Desacoplar a última parte de step()
Adicionar o evento de desassemblagem WM_DEB_AFTEREVENT
Melhorar o mecanismo de notificação para rolar a janela de desassemblagem após o step
Aplicar isso também para quando a execução for interrompida
thin3d: Adicionar suporte parcial para buffers de índice de 32 bits. Adicionar DrawIndexedUP.
Alterar a geração da matriz 2D para consultar a convenção de coordenadas do contexto de desenho
Adicionar o código base do IMGUI, incluindo um backend Vulkan que será convertido para thin3d
Sistema de build do Imgui
Mais trabalho, começando a integrar no EmuScreen
Conseguir renderizar no Vulkan e D3D11 (OpenGL está com bug)
Conectar entrada básica de teclado e mouse
Correções no sistema de build
Correções de código. Corrigir o fix de UWP
Retornar o suporte para buffers de índice de 32 bits. Não é realmente necessário para o ImGui.
Adicionar uma tecla mapeável para alternar a interface do imgui. Por enquanto, chamada “Toggle debugger”.
Limpeza, adicionar suporte a clique com o botão direito no framework da UI
Desabilitar o botão direito do mouse nos “Clickables”
Mesclar pull request #19576 de hrydgard/arquitetura-reestruturada-stepping
Mesclar pull request #19569 de hrydgard/integracao-imgui-prototipo
Passar o delta-time para o ImGui
Atualizar uk_UA.ini (atualização de badges)
Configuração inicial de build para incluir lua
Mesclar pull request #19587 de QmanaQ/patch-1
Imgui: Limpeza de código, corrigir desligamento limpo
Mesclar pull request #19588 de hrydgard/imgui-fixes
Remover valor de retorno de Core_PerformStep
Ser mais consistente sobre o nome das threads
Não bloquear a thread de renderização enquanto a CPU está pausada. Isso é pré-requisito para depuradores do imgui.
Atualizar tradução italiana, agradecimentos a giona888
Mesclar pull request #19552 de hrydgard/lua-build-setup
Mesclar pull request #19589 de hrydgard/refactor-execution
Atualizar ko_KR.ini
Mesclar pull request #19590 de DDinghoya/patch-25
Atualizar uk_UA.ini (#19592)
Correções do SDL para o mouse
Mesclar pull request #19596 de hrydgard/sdl-mouse-fix
Atualizar uk_UA.ini, algumas categorias traduzidas, outras não totalmente
Mesclar pull request #19598 de QmanaQ/patch-3
Corrigir ID de tradução
Corrigir conta de tradução para ID
Mesclar pull request #19599 de XJustForYouX/PatchLanguageID
Correção da integração RA: Corrigir nome do arquivo nas mensagens de não encontrado.
Adicionar algumas strings de tradução
Mesclar pull request #19600 de hrydgard/raintegration-error-fix
Correção de build pós-lua
Consertar erros na depuração do ImGui:
Correção do fundo preto no depurador Win32.
Melhorar a visualização de registros, corrigir “seguir PC”, limpar alguns pontos.
Cache de símbolos e usar um clipe para acelerar a lista de símbolos.
Adição de ferramentas no depurador:
Visualização básica de módulos, threads, pilha de chamadas.
Visualização de áudio ATRAC no depurador.
Adição de visualização de texturas e outros.
Refatoração do depurador:
Melhorias de desempenho e usabilidade no depurador, como otimização de visualização de imagens, pilhas e outros objetos do sistema.
Gerenciamento de arquivos:
Melhorias no cache de arquivos, incluindo exibição de caminhos, e velocidade na leitura e escrita de arquivos.
Adicionar uma janela básica de exibição de estado GE
Extrair o código de formatação de vértices do Windows GE Debugger
Pequena simplificação
Mesclar pull request #19699 de hrydgard/more-ge-debugger: Mais no depurador GE: Janela de estado, extrair mais código do depurador GE do Windows
Corrigir regressão na funcionalidade de interrupção ao carregar
Mesclar pull request #19700 de hrydgard/fix-break-on-load: Corrigir regressão na funcionalidade de interrupção ao carregar
Adicionar visualizador básico de dados de vértices (com os mesmos problemas da versão antiga)
Mover a janela do depurador GE de volta de GPUCommon
Mesclar pull request #19702 de hrydgard/ge-debugger-vertices: Depurador GE: Adicionar visualizador de dados de vértices
Adicionar uma visualização básica de desassemblagem
Mesclar pull request #19703 de hrydgard/ge-debugger-disasm: Depurador GE: Adicionar visualização básica de desassemblagem
ImDebugger: Adicionar uma janela para inspecionar eventos futuros de CoreTiming
Mesclar pull request #19705 de hrydgard/debugger-core-timing: ImDebugger: Adicionar janela para inspecionar eventos futuros de CoreTiming
Visão de threads: Mostrar tipo de espera
Adicionar coluna de ID de espera
Excluir código não utilizado
Mover o loop central para Core.cpp
Mover mais coisas relacionadas ao núcleo para Core.cpp/h
Mover duas funções de Core.cpp. Limpeza de includes do Windows
Mesclar pull request #19706 de hrydgard/core-cleanup: Limpeza de Core.cpp
Corrigir execução quando o PC está no ponto de interrupção. Corrigir problema ao percorrer funções de Ge-enqueue.
ImDebugger: Adicionar avanço de quadro e um botão “skim” (avança uma etapa enquanto pressionado)
Janela de threads do depurador: Visualizar ID de espera quando possível
Mesclar pull request #19707 de hrydgard/core-improvements: Melhorias no núcleo: Correção de execução a partir do ponto de interrupção, adicionar dois novos tipos de passo
Contornar erro de buffer no Metal no MacOS + GPU AMD:
Com buffers VMA_MEMORY_USAGE_CPU_TO_GPU, o buffer no Metal aparece 0 preenchido no traço Metal durante o comando vkCmdCopyBufferToImage acionado pelo método MTLBlitCommandEncoder.
Alocar VMA_MEMORY_USAGE_GPU_TO_CPU no MacOS + GPU AMD
Alternar para VMA_MEMORY_USAGE_CPU_ONLY no MacOS AMD. A alocação ideal seria VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT como na versão 1.12.3, mas o VMA escolheu um índice que na verdade não é mapeável.
VMA_MEMORY_USAGE_GPU_TO_CPU seleciona VK_MEMORY_PROPERTY_HOST_CACHED_BIT, o que parece prejudicar o desempenho.
A seleção de VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT com VMA_MEMORY_USAGE_CPU_ONLY seria suficiente para a solução alternativa e obteria um melhor desempenho.
Simplificar a solução alternativa para MacOS e GPU AMD.
Com base no KhronosGroup/MoltenVK#960, expandir a solução alternativa para todos os dGPUs e, em vez de mudar o uso, apenas adicionar VK_MEMORY_PROPERTY_HOST_COHERENT_BIT.
Mesclar pull request #19710 de Kethen/macos_amd_workaround: Solução alternativa para erro de buffer no Metal no MacOS + GPU AMD
ImDebugger scheduler: Exibir campo de dados de usuário
Pequenos ajustes de UI
Remover uma função wrapper desnecessária
const, renomear uma função
ImDebugger: Adicionar forma de cancelar passo pendente
Correção de aviso
Corrigir crash ao arrastar/soltar
Corrigir discrepância entre avançar e executar ao final de um quadro. Adicionar algumas opções de menu no ImDebugger
Core: Mudanças menores no avanço (e algumas alterações no log)
Tornar o despachante menos confuso
Adicionar instalação para __KernelGPUReplay para solicitar ser chamado novamente
Replay: Adicionar estrutura para propagar o status de interrupção para fora
Separar uma função LoadReplay
Solução de thread: progresso inicial
Playback: Melhorar a correspondência com as funções reais de sceGe.
Mover o código de dump de mips de reprodução para Playback.cpp. Limpeza variada.
Playback: Remover logs, melhorar bloqueio, agora parece funcionar.
Mesclar pull request #19711 de hrydgard/extracted-commits: Fixes e limpezas extraídas de #19709
Exibir bandeiras de compatibilidade ativas na tela de falha
Corrigir interação com a tela de falha, oops
Mesclar pull request #19709 de hrydgard/playback-refactor: Refatoração do dump de reprodução GE e correção
Mesclar pull request #19712 de hrydgard/show-active-compat-flags: Exibir bandeiras de compatibilidade ativas na tela de falha
Adicionar categoria de log do depurador
Adicionar uma nova categoria de log
Transferir metadados da tabela state.cpp para GECommandTable
Mesclar os metadados de comando do depurador para GECommandTable
Atualizar a biblioteca MoltenVK dylib para Mac para a versão 1.2.11
Refatorar as visualizações de estado GE
Mesclar pull request #19716 de hrydgard/more-debugger-work: Mais limpezas no código do depurador
Im Ge debugger: Cinza para estados desabilitados (estados pertencentes a recursos desabilitados)
ImGeDebugger: Implementar o novo visualizador de estado
Mesclar pull request #19715 de hrydgard/update-molten-vk-mac: Atualizar a biblioteca MoltenVK dylib para Mac para a versão 1.2.11
Mesclar pull request #19718 de hrydgard/ge-debugger-new-state-viewer: ImGeDebugger: novo visualizador de estado
Limpeza de código menor
Adicionar modo de hash de textura especial resolvendo o problema do Tag Force. Não queremos construir uma coisa complicada baseada em regras até termos mais casos de uso, então isso é bem especializado.
Ver #19714
Mesclar pull request #19717 de hrydgard/tag-force-texture-hashing: Adicionar modo de hash de textura especial resolvendo o problema do Tag Force
Exibir uma visualização básica do framebuffer
Trabalhar nas visualizações
Remover código redundante. Adicionar botão “interromper após syscall”, corrigir
Limpeza de código menor. Adicionar botão “Ir para LR”
Adicionar mensagem de erro se o compat.ini não puder ser encontrado
Corrigir problema visual no novo visualizador de estado GE
Adicionar controle “endereço clicável”, para ser usado em muitos lugares no depurador
Usar o novo ImClickableAddress em alguns outros lugares
Mesclar pull request #19719 de hrydgard/im-ge-draw-preview: ImGeDebugger visualização do framebuffer, além de várias pequenas mudanças
Trabalho inicial na visualização de memória, ainda não compilando
Mais trabalho na visualização de memória
Corrigir compilação de visualização de memória
Adicionar entrada para visualização de memória. Usar contadores de etapas para controlar atualizações.
Renomear LR->RA, correções
Corrigir envio de dados aleatórios de pilha junto com mensagens de chat
Mais trabalho na visualização de memória
Correção de aviso
Mesclar pull request #19720 de hrydgard/imgui-memview: ImDebugger: Adicionar janela de visualização de memória
Remover contabilização obsoleta de tempo gasto ao avançar no GE (não bloqueamos mais)
Reorganizar DebugInterface etc um pouco. KernelThreadDebugInterface não possui mais uma cópia inútil de um MIPSDebugInterface.
Limpeza do DebugInterface const
Mais limpeza do const
Mesclar pull request #19721 de hrydgard/stepping-cleanup: Limpeza no avanço, limpeza do DebugInterface
Parar de fingir que o DisassemblyManager não é um singleton – atualmente é.
Mover mais coisas para State.cpp/h, separar algumas coisas em uma função
Mover o último código de visualização de vértices para State.cpp
Mover mais funções utilitárias do depurador GE do Win32 para o código comum
Mesclar pull request #19722 de hrydgard/more-cleanup: Mais limpeza de código do depurador GE
ImDebugger: Mudar “Dear Imgui” para o branch Docking, ativar o recurso
Ativar um espaço de docas, para que você possa ancorar janelas nas laterais da tela
Implementar visualização de vértices no novo depurador GE
Mesclar pull request #19723 de hrydgard/imgui-docking: ImGui: Mudar para o branch docking, ativar o espaço de docas
Mesclar pull request #19724 de hrydgard/vertex-preview: Implementar visualização de vértices no novo depurador GE
Corrigir visualizações de vértices para fans e tiras de triângulos, e linhas.
Adicionar recorte
Mesclar pull request #19725 de hrydgard/more-debugger-work: Corrigir visualizações de vértices para fans e tiras de triângulos, e linhas.
Replaced Text
Reformatação do arquivo CrossSIMD.h para facilitar a edição.
Adicionar novos métodos.
Adicionar mais funcionalidades ao CrossSIMD.h, como multiplicação de matrizes rápida e algumas conversões.
Usar CrossSIMD para otimizar o método DecodeAndTransformForDepthRasterChecked; a saída gerada pelo assembly está ótima!
CrossSIMD: Adicionar funções recíprocas, clamp, swaplowerelements, etc.
Depth raster: Alterar para um layout de dados SoA para os vértices no espaço da tela.
Acelerar DepthRasterClipIndexedTriangles com CrossSIMD.
CrossSIMD: Possível correção de build?
DepthRaster: Corrigir o bug onde usávamos o número de vértices errado.
DepthRaster: Corrigir o culling de faces traseiras.
Otimização menor de verificação de sinal.
Comentários.
CrossSIMD: Adicionar muitas outras funcionalidades para uso pelo rasterizador.
CrossSIMD: Tornar a função de transposição compatível com ARM32.
Reimplementar o rasterizador de profundidade com SIMD.
Converter a implementação do retângulo para CrossSIMD.
Correção do AnyZeroSignBit para ARM e mais correções no CrossSIMD. Agora funciona no ARM.
Limpeza.
Mesclar pull request #19748 de hrydgard/software-depth-protoRender um buffer de profundidade de software em paralelo com o renderizador de HW.
CrossSIMD: Adicionar uma operação simples.
Reestruturar o rasterizador de profundidade para dar suporte completo a transformações de software.
Mesclar pull request #19756 de hrydgard/depth-raster-improvementsDepth raster: Corrigir quando a transformação de software está habilitada, dar suporte a retângulos em modo não-through.
Otimizar o loop interno do triângulo um pouco mais.
Adicionar algumas estatísticas ao rasterizador de profundidade.
CrossSIMD: Adicionar SwapLowerElements para Vec4F32.
Manter a profundidade em ponto flutuante para economizar algumas conversões.
Depth Raster: Adicionar mais estatísticas, descartar triângulos com área < 10 px. Ainda obtendo bons resultados. Habilitar rasterização de profundidade para Wipeout, Midnight Club LA, Resistance. Adicionar uma configuração para controlá-lo sob as opções de hack de velocidade, chamada "Lens flare occlusion". A configuração inclui um modo de baixa qualidade que ainda não foi implementado. Mesclar pull request #19758 de hrydgard/depth-raster-more-improvementsDepth raster: mais melhorias. Mesclar pull request #19759 de hrydgard/enable-depth-rasterHabilitar rasterização de profundidade para Wipeout, Midnight Club LA, Resistance. Depth raster: Clipping de retângulos para o scissor também. Corrige alguns crashes. Mesclar pull request #19760 de hrydgard/depth-raster-clip-rectsDepth raster: Clipping de retângulos para o scissor também. Corrige alguns crashes. Habilitar rasterização de profundidade para Armored Core: Silent Line. Veja #17597. Também melhorar alguns comentários. CrossSIMD: Adicionar uma função de multiplicação de 16 bits para Vec4S32. Isso pode ser implementado rapidamente em SSE2. Especializar DepthRasterTriangle para os modos de comparação usando templates. Mesclar pull request #19761 de hrydgard/more-depth-raster-stuffHabilitar rasterização de profundidade para Armored Core por padrão, pequena aceleração. Adicionar tags de memória para memória volátil. Mesclar pull request #19762 de Nemoumbra/volmem-tagsMelhorias de memória volátil. DepthRaster: Corrigir erro de digitação que quebrava o modo de comparação LESS em x86(64). Excluir arquivos não utilizados. Habilitar rasterização de profundidade em todos os backends, não apenas Vulkan. Atualizar ko_KR.ini. Mesclar pull request #19765 de DDinghoya/patch-29Atualizar ko_KR.ini. Mesclar pull request #19764 de hrydgard/even-more-depth-raster-stuffHabilitar rasterização de profundidade em todos os backends. OpenXR - Remover implementação Vulkan não funcional (#19766). OpenXR - Remover implementação Vulkan não funcional. Esqueci de commitar. Depth raster: Correção de bug, otimização menor (#19768). Corrigir dois erros em CrossSIMD.h, agradecimentos a hiroyuki177. Corrige #19767. DepthRaster: Mesclar offset na projeção X/Y. Correções na interface do usuário: Reestruturar o gerenciador de savedata um pouco, foco padrão do teclado em Cancelar em diálogos de confirmação (#19771). Depth raster: Otimizações: Mesclar viewport na matriz de projeção, preparar para mais SIMD-ificação (#19769). Remover alguns relatórios redundantes antigos. Corrigir scissor off by one. Mais CrossSIMD. Mover o fator de escala do viewport para a matriz de projeção. DepthRaster: Também mesclar a tradução do viewport na matriz de projeção. Depth raster: Fazer o clipping do triângulo em lotes de 4 triângulos. Limpeza. Otimização muito pequena de transformações suaves. Depth Z: Adicionar uma estatística para Z-culling, distinguir corretamente as pequenas estatísticas de faces traseiras. Mais SIMD: Adicionar algumas operações de matriz ao CrossSIMD (#19773). Mais funcionalidades do CrossSIMD. Usar a nova API SIMD para multiplicações de matrizes. Reorganizar o gerenciamento de estado de desenho do rasterizador de profundidade. Simplificar / corrigir triângulos no modo through. Mais reorganizações. Unificar os finais dos dois caminhos de desenho de profundidade. Mesclar pull request #19774 de hrydgard/depth-raster-refactorRefatoração do rasterizador de profundidade. Renomeação pequena, remover alguns relatórios obsoletos. Apenas limpeza e preparação no rasterizador de profundidade. De fato, enfileirar desenhos de profundidade. Mais correções. Culpar 4-grupos de triângulos mais cedo. Mesclar pull request #19776 de hrydgard/depth-draw-queueImplementar enfileiramento de desenhos de rasterização de profundidade. Calcular e culpar por área de triângulo cedo antes de escrever 4-grupos de triângulos. Mesclar pull request #19777 de hrydgard/improve-triangle-cullingDepth raster: Melhorar o culling de triângulos na etapa de "clipping". Pequeno log de FS. Medir o tempo disponível para "rasterização de profundidade em segundo plano". A ideia é viável. Preparar para rasterização de profundidade em tile. Adicionar nova função de baixo overhead RunParallel. Mesclar pull request #19779 de hrydgard/more-depth-workDepth raster: Alguma preparação para paralelização. Melhor cálculo de área de triângulo, agradecimentos ao fp64 pela lembrança. Algumas renomeações de variáveis. Tradução para o português brasileiro atualizada. Incluindo as últimas strings adicionadas e alteradas conforme necessário. Cálculos de borda em linha. Simplificar. Simplificar mais. Mais preparação. Adicionar loop de triângulo. Mover ramificações para fora da configuração do triângulo. Mesclar pull request #19784 de Felipefpl/masterTradução brasileira atualizada. Mais CrossSIMD. Adicionar recusa de guardband crua no rasterizador de profundidade. Paralelizar a configuração do triângulo. No entanto, alguns glitches aparecem... Mais CrossSIMD (quebra de mudança). DepthRaster: Melhorar rejeição de guardband, corrigindo glitches. Reverter alteração não intencional. Correção de aviso. Corrigir problema em Midnight Club onde Z agora se envolve em uma distância, após remover o clamp. Pode ser que tenha que culpar. Correções de comentários, buildfix. Mesclar pull request #19786 de hrydgard/even-more-depth-workDepthRaster: Melhor rejeição de guardband, paralelizar configuração de triângulo. Implementar o modo de rasterização de profundidade de baixa qualidade, padrão para Android/iOS. Não consigo perceber muita diferença na prática... Mesclar pull request #19789 de hrydgard/depth-raster-low-qualityImplementar o modo de rasterização de profundidade de baixa qualidade, padrão para Android/iOS. Atualizar Language ID (#19787). Adicionar arquivos vazios de sceNetAdhocMatching. Corrigir dois casos extremos no mapeamento de caminho em armazenamento escopado. Corrige #19788. Corrigir dois casos extremos no mapeamento de caminho em armazenamento escopado (#19793). Corrige #19788. Verificar sistemas de arquivos para sensibilidade a maiúsculas/minúsculas. Evitar rodar contornes desnecessários. Correção de build UWP. Mesclar pull request #19794 de hrydgard/file-system-case-sensitivityVerificar sistemas de arquivos em tempo de execução para sensibilidade a maiúsculas/minúsculas. SavedataParam: Verificação de sanidade, ler da lista correta ao registrar arquivos. Veja #19795. Mesclar pull request #19796 de hrydgard/savedata-fixSavedataParam: Verificação de sanidade, ler da lista correta ao registrar arquivos. Separar o código de correspondência de sceNetAdhoc.cpp. Corrigir reprodução de faixas mono Atrac3+ em vídeos. Isso é raro, mas ocorre: #19782. Percebi que o setChannels poderia acontecer tarde em minha refatoração (#19033). Mesclar pull request #19800 de hrydgard/fix-mono-atrac3plus-in-videoCorrigir reprodução de faixas mono Atrac3+ em vídeos. CwCheats: Evitar logspam com alguns cheats ruins. Marcar structs de cheats com nomes (às vezes útil para depuração). CwCheat: Evitar invalidações de cache de instruções em leituras. Não necessário. CwCheat: Não verificar duas vezes os ponteiros de memória já verificados. Correção de log não relacionada. Restaurar a ordem de registro do módulo HLE. Mesclar pull request #19801 de hrydgard/cheat-engine-perf-fixesCwCheat engine: Correções de desempenho. Atrac3 (não +): Continuar decodificando mesmo em quadros quebrados. Corrige um problema em alguns mods não oficiais de jogos, cuja música quebrou em 1.18. Foi reportado por e-mail por Miguel. Mesclar pull request #19802 de hrydgard/atrac3-workaround-packet-errorAtrac3 (não +): Continuar decodificando mesmo em quadros quebrados. Fazer PSPOskConstants.cpp não binário mais. Osk: Finalizar movendo as strings estranhas para PSPOskConstants.cpp. Mesclar pull request #19804 de hrydgard/osk-constant-cleanupPSPOskDialog constante limpa. Remover c_str() desnecessário, pequena limpeza. Não cortar o último caractere das strings de NativeKeyboard. Excluir código morto de Utf8.cpp. Mesclar pull request #19805 de hrydgard/osk-fixesNão cortar o último caractere das strings de NativeKeyboard. Mesclar pull request #19797 de Nemoumbra/net-adhoc-splitSeparar a correspondência Adhoc do arquivo principal sceNetAdhoc. Restaurar invalidação de cache no código CwCheats. Atualizar build.gradle, apenas por precaução. sceNetInet e sceNetResolver suportados. Co-autoria de: AdamN [email protected]. Mesclar pull request #19806 de hrydgard/cwcheat-cache-invalidationRestaurar invalidação de cache em leituras no motor CwCheat. Implementar sceNetInetGetpeername e sceNetInetGetsockname conforme a implementação de anr2mes, além de converter ERROR_LOGS para hleLogError e garantir que o último erro seja configurado. Correção de formatação no CMakeLists. Adicionar ao restante dos sistemas de build. Traduzir todos os parâmetros de entrada para socket(). Mover flags e outros constantes de InetSocket para SceNetInet. Adicionar retornos antecipados para funções send{X}Packet. Limpeza no código de broadcastHelloMessage e broadcastPingMessage. Correções de build. Correções de aviso, hacks de compatibilidade no Windows. Mesclar pull request #19807 de hrydgard/infra-masterRebase de WIP: Infraestrutura: suporte a sceNetInet e sceNetResolver. Adicionar retornos antecipados para funções de actOn{X}Packet. Simplificar mais duas funções de correspondência. Correção de codestyle do Hadooken e limpeza do NetAdhocMatching_Start. Correções de Hadouken: sceNetAdhocMatchingSelectTarget, NetAdhocMatching_CancelTargetWithOpt. Correções de Hadouken: funções de SendData + sceNetAdhocMatchingGetPoolStat. Correção de savestates. Mesclar pull request #19809 de hrydgard/savestate-fixCorrigir savestates, oops. Remover flag de compatibilidade AllowDelayedReadback. Não afirmar ao usar o antigo debugger Ge em OpenGL. Mesclar pull request #19808 de Nemoumbra/adhoc-matching-cleanupLimpeza de correspondência Adhoc. Mesclar pull request #19810 de hrydgard/minor-cleanupCorrigir crash/assert no antigo debugger Ge com OpenGL, remover flag de compatibilidade obsoleta. pspautotests runner (sem cabeça): Adicionar capacidade de especificar um diretório para recursão. Adicionar também a capacidade de ignorar testes individuais. Isso é muito útil durante o desenvolvimento para execuções convenientes de múltiplos testes dentro do Visual Studio.