Commit Graph
61 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 70988aa50c ImGui: Keep the context and debugger state when Android switches away
NativeShutdownGraphics, which Android runs whenever the app loses its
surface, destroyed the imgui context and the ImDebugger along with the
device objects, so window layout and debugger state reset on return.
Now only the device objects go there (the backend already recreates
them), and the context and debugger are torn down in NativeShutdown.
Both configs are still saved on device loss, in case the app is killed
in the background.

imgui.ini is now read and written through our File API rather than
imgui's fopen, which can't reach a memstick behind a content URI.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 14:14:42 +02:00
Henrik RydgårdandClaude Opus 5.5 35e9b88d8a ImDebugger: Stronger selection and current thread colors
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 11:15:57 +02:00
Henrik RydgårdandClaude Opus 5.5 db3ec7567f UI: Use Cmd for shortcuts on Mac and iOS, not Ctrl
- Fixes #17608

Text fields took Ctrl or Cmd for copy/paste/undo; now it's Cmd on Apple
platforms and Ctrl elsewhere, as is Ctrl+F (Cmd+F) for game search. Word
delete in the search filter is Option+Backspace on Apple.

The ImGui debugger never got Super, so with ImGui's Mac Cmd/Ctrl swap,
its paste and other Ctrl shortcuts could not be reached at all on Mac.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-17 17:46:55 +02:00
Henrik RydgårdandClaude Opus 5 70095e458b thin3d: add sub-rectangle texture updates, use them for imgui fonts
imgui 1.92 hands the backend a list of dirty rectangles when its font atlas
grows, but thin3d could only replace a whole mip level, so every new glyph
re-uploaded the entire atlas.

Adds DrawContext::UpdateTextureRegions, taking a batch of regions so each
backend can submit them together:

- Vulkan: packs the regions into the push pool and issues a single
  vkCmdCopyBufferToImage from the init command buffer, transitioning only
  the level being written.
- OpenGL: new TEXTURE_SUBIMAGE init step. The existing sub-image path is a
  render command needing an active render pass and a texture slot, which
  doesn't fit here. Rows are packed caller-side since GLES2 lacks
  GL_UNPACK_ROW_LENGTH.
- D3D11: UpdateSubresource with a box, no staging texture needed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 13:16:17 -06:00
Henrik RydgårdandClaude Opus 5 43850e7c03 Update Dear ImGui to 1.92.9b (docking)
From 947aa9c97 to 98a66d8c8 on the docking branch - the latest release there,
plus the viewport fixes that landed on top of it. The only local changes to
upstream files are the "#undef new" hack at the top of imgui.h and enabling
IMGUI_DISABLE_OBSOLETE_FUNCTIONS in imconfig.h; both re-applied.

1.92 reworked fonts and textures, so the thin3d backend now advertises
ImGuiBackendFlags_RendererHasTextures and creates/updates/destroys imgui's
textures on request instead of building the font atlas itself. ImTextureIDs
below 256 now index those, above it the per-frame temp textures as before.
thin3d can't replace part of a texture yet, so an update re-uploads the whole
thing - fine for an atlas that only changes when a new glyph appears.

Also: AddRect() swapped its thickness and flags parameters in 1.92.8.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-12 12:59:53 -06:00
Henrik Rydgård a6996f570f ImDebugger: make selected text more visible 2026-09-12 12:58:56 -06:00
Henrik Rydgård 8d2c1e7a66 Make the ImDebugger a bit less crash prone outside of games 2026-08-07 22:40:05 +02:00
Henrik Rydgård 25a146a11c Make the PPSSPP UI fit inside the imgui desktop 2026-08-07 17:56:09 +02:00
Henrik Rydgård ea8a648737 Refactor UI shader presets, prepare for some updates to the ImGe debugger 2026-06-14 11:08:56 +02:00
Henrik Rydgård 054a10d46b Fix imgui being upside down on some backends.
Fixes #21761
2026-06-01 10:53:41 +02:00
Henrik Rydgård 6f0a16a4a4 Fix Y flip 2026-05-18 14:14:25 +02:00
Henrik Rydgård 026ea6e197 imgui debugger: Make the repeat button capable of returning values > 1
(for very fast repeats, but the caller must support it)

Also just increase the repeat rates in the ge debugger
2026-01-22 13:47:14 +01:00
Henrik Rydgård 18a67b82d2 Do the same with KeyInputFlags. Fix minor UI misalignments 2025-12-19 13:41:58 +01:00
Henrik Rydgård 481d0fd18c Switch TouchInputFlags to enum class, fix some minor UI issues
Scroll views now only wheel-scroll if the mouse is hovering over them.
2025-12-19 11:38:56 +01:00
Henrik Rydgård 5f8ee93006 Use a TTF font for fixed-width text in the debugger
Fixes #20635
2025-07-16 20:20:33 +02:00
Henrik Rydgård eadd32e00a Keycodes: Restore the old PrintScreen keymapping, fixing mistake from #19656
Fixes #20588
2025-07-08 14:03:04 +02:00
Henrik Rydgård 6df9e513c1 Logging, comments and debugger fixes, plus simple dumping of the first block of streaming Atrac3 2025-06-25 01:08:47 +02:00
Henrik Rydgård 09e067c6e1 Revert "Get rid of remains of support for non-square screen DPIs"
This reverts commit f206ed95eb.
2025-05-21 21:41:50 +02:00
Henrik Rydgård dc22638918 ImDebugger UI update 2025-04-14 23:36:45 +02:00
Henrik Rydgård a97ea04827 ImGui: Add "repeatshift" buttons that auto-repeat if you hold shift. 2025-04-09 11:58:31 +02:00
Henrik Rydgård 717ea3ec8e ImDebugger: Show imports/exports in Module window 2025-04-02 10:09:19 +02:00
Henrik Rydgård 2d69d78e71 Console wip 2025-03-27 08:59:38 +01:00
Henrik Rydgård 9049139845 imgui: Simulate the left mouse button through touch 2025-03-05 23:26:30 +01:00
Henrik Rydgård f206ed95eb Get rid of remains of support for non-square screen DPIs 2025-02-20 11:14:26 -06:00
Henrik Rydgård 1f7461bb70 When ImDebugger is active, shrink the display area to match the central node. 2025-02-19 11:00:20 -06:00
Henrik Rydgård 86b3eadc16 Warning fixes, maybe test fix 2025-01-19 16:33:40 +01:00
Henrik Rydgård 58adb379ea GE debugger improvements 2024-12-20 20:31:58 +01:00
Henrik Rydgård ae3e50da30 Fix the imgui font in release mode builds, oops 2024-12-16 18:47:06 +01:00
Henrik Rydgård 111d0c872d Global rename of FBChannel to Aspect, also make it a class enum 2024-12-15 22:24:05 +01:00
Henrik Rydgård 6c355836da ImGeDebugger: Implement draw stepping 2024-12-15 00:40:33 +01:00
Henrik Rydgård 8cc77c0997 ImGui: Implement cursor support on Windows 2024-12-13 22:06:59 +01:00
Henrik Rydgård fa3321ca0c ImDebugger: Switch "Dear Imgui" to the Docking branch, enable the feature 2024-12-12 22:50:51 +01:00
Henrik Rydgård c85266359f More memory view work 2024-12-12 17:47:37 +01:00
Henrik Rydgård 27122a9e64 Work on previews 2024-12-10 22:09:51 +01:00
Henrik Rydgård e4adc112ff ImDebugger: Add a basic texture browser 2024-11-29 19:30:38 +01:00
Henrik Rydgård 1df3b9b905 Add config save/load for imdebugger, move the imgui.ini to PSP/SYSTEM 2024-11-27 09:15:03 +01:00
Henrik Rydgård 6763c13f88 ImGui: Finish implementing pipeline switching for all backends 2024-11-27 01:19:05 +01:00
Henrik Rydgård 09779e0f44 ImGui drawing: Allow varying the pipeline when binding textures 2024-11-26 19:59:09 +01:00
Henrik Rydgård eaff38f161 Implement ImGui clipped batch texturing support in the other backends too 2024-11-26 09:38:30 +01:00
Henrik Rydgård e82b7f788e Implement texture binding in draw batches. Framebuffer viewer now works in Vulkan. 2024-11-26 09:22:35 +01:00
Henrik Rydgård 57845b02c5 ImGui thin3d backend: Add texture binding support 2024-11-26 09:05:29 +01:00
Henrik Rydgård 8372105d66 Fix printscreen keyboard mapping (although kinda useless) 2024-11-25 23:40:51 +01:00
Henrik Rydgård e31636caec Still use a fixed-width font for the disassembly (might change this) 2024-11-25 00:03:06 +01:00
Henrik Rydgård 2a1cda05b0 ImGui: Fix DPI scale, disable unneeded logging 2024-11-24 23:41:27 +01:00
Henrik Rydgård 6dfc5ea9ef ImGui: Add TTF font support
We use the Roboto font that we're already shipping for now, although, we could
also support other fonts or have a setting.
2024-11-24 21:29:34 +01:00
Henrik Rydgård 0bf53e38f4 Remove duplicated imgui keycode logging (already logs in the conversion function) 2024-11-12 11:08:47 +01:00
Henrik Rydgård e9bc28f629 Fix bug where the 'o' char input got eaten because the char matches the keycode for Esc.. 2024-11-07 19:56:32 +01:00
Henrik Rydgård 9c92978fcc ImGui debugger: assorted work 2024-11-07 11:10:16 +01:00
Henrik Rydgård cf6d06c56a Start work on imdbg 2024-11-07 11:10:12 +01:00
Henrik Rydgård dff7f5704a Implement mousewheel vertical scroll and hover in ImGui integration 2024-11-06 22:00:11 +01:00