Commit Graph
106 Commits
Author SHA1 Message Date
Henrik Rydgård 2096df52f5 Vendor naett in-tree, de-amalgamated
naett has been a submodule pinned at v0.3.3; upstream has had no commits since
April 2024, and we want to carry local changes (next up: a libcurl-backed HTTPS
path for Linux). It's ~1500 lines of MIT C, smaller than several things we
already vendor, so bring it in-tree and drop the submodule.

Also drop the generated single-file amalgam (naett.c) that every build system
was compiling, and build src/*.c directly instead - otherwise the file you edit
isn't the file that gets compiled, which is a trap for anyone patching this.
example/ and testrig/ (a whole Android Studio project) are gone with it.

Two changes were needed to make the sources build on their own, both noted in
ext/naett/README-ppsspp.md along with the upstream commit:

- naett_internal.h now includes naett.h, which the amalgam pulled in first.
- naett_linux.c now includes stdio.h/stdlib.h. It calls exit/calloc/realloc/
  free/fprintf without ever including either, and only got away with it because
  naett_core.c sat above it in the concatenation.

No functional change - Linux still has HTTPS_NOT_AVAILABLE set, so it doesn't
build naett at all yet.

Rename naett to naett-lib
2026-09-02 17:35:14 +02:00
Henrik RydgårdandClaude Opus 5 049bcd5483 Demangle C++ symbol names when loading ELF symbols
C++ homebrew has an unreadable symbol table -
everything is _ZN10PxRenderer7DrawImmE... - which makes the disassembly and
symbol list nearly useless. Add an Itanium C++ ABI demangler and run ELF
symbols through it on load, in both ElfReader::LoadSymbols (unstripped EXECs,
which is what a CMake pspdev EBOOT actually contains) and the companion-ELF
path.

The demangling standard is called Itanium for historical reasons - it
was defined for Itanium but ended up being almost universally
applicable.

Written from scratch rather than using __cxa_demangle, which doesn't exist on
MSVC/UWP, or vendoring LLVM's demangler, whose license doesn't fit. Anything
unrecognized (arbitrary constant expressions, decltype) aborts the parse and
the caller gets the original mangled name back, so a caller never sees a
half-parsed result. Recursion is depth-capped since the input comes from a
file we didn't write.

Checked against c++filt as an oracle: of 1089 mangled symbols in a real C++
homebrew EBOOT, one differs; of 55189 from libstdc++/libLLVM/cc1plus, 22
differ and 413 are declined. Fuzzed with 220k mutated and random inputs under
ASan/UBSan.

Also adds a right-click menu to the ImDebugger symbol list.

Note that SymbolMap stores names in char[128], so the longest STL names get
truncated in the UI. Still far more readable than the mangled form.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X3DbkJ8ShYiXU7q5Tv1LZu
2026-08-26 08:12:45 +02:00
Henrik Rydgård 8cd7e1b2c0 Delete all support for Qt
Our Qt backend has long been left behind and doesn't even support Vulkan
currently. There would be a lot of work to make it viable, and I don't
think anyone is really interested.

ImGui on SDL will soon fulfill the need for a more classic user interface
with a menu bar on Linux, and on Mac we already have a native UI.
2026-08-08 18:18:28 +02:00
Henrik Rydgård 7219cd2f5a Split off ScreenManager from Screen.cpp 2026-08-07 14:30:36 +02:00
Henrik Rydgård 3eb056ad86 Move Common/GraphicsContext.h to Common/GPU/GraphicsContext.h 2026-07-26 13:58:17 +02:00
Henrik Rydgård fd7c5cdd6b Add pugixml dependency 2026-04-16 12:12:12 -06:00
Henrik Rydgård 99d5bcc26d Build fixes, crashfix on fail-to-open 2026-03-27 14:34:18 -06:00
Henrik Rydgård f046857d2b Delete remains of support for the MIPS architecture as host 2026-02-17 10:20:51 +01:00
Katharine Chui f3e11110ed bump aemu_postoffice
extend max pdp block size, due to user report of the following in
dissidia:

07:53:752 MatchingEven I[SCENET]: HLE\sceNetAdhocMatching.cpp:1188 EventLoop[1]: Matching Event [1=HELLO][00:02:02:02:02:02] OptSize=4696
2026-02-06 11:43:32 +01:00
Henrik Rydgård 7d987cd78b Make fast_matrix_mul_4x4 inlineable 2026-01-30 14:10:32 +01:00
Henrik Rydgård 34938e3de6 Move Notice to Common/UI 2026-01-25 15:10:26 +01:00
Henrik Rydgård 103d843a8b Same for the UWP MSVC projects 2026-01-22 01:37:35 +01:00
Henrik Rydgård 7b743071d2 Prepare for adding more sensible back buttons to TabbedDialogScreen portrait mode 2025-10-23 12:46:07 +02:00
Henrik Rydgård f856beb157 Move a lot of the atlas logic to Common/Render/AtlasGen.cpp/h, code
cleanup
2025-09-12 12:17:11 -06:00
Henrik Rydgård ad00c20660 Windows: Remove ARM32 configurations from project files.
These will never be supported again (and never really were, only used
for Windows Phone testing a long time ago)
2025-06-11 08:55:13 +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 e567a58684 Remove StdioListener 2024-12-16 12:33:58 +01:00
kotcrab fdf8ff7d94 Add GhidraClient 2024-11-15 19:52:14 +01:00
Henrik Rydgård 329b72f1ab Build system fixes 2024-11-04 23:14:39 +01:00
Henrik Rydgård 8da1ccc3de Hook up basic keyboard and mouse input 2024-11-04 23:14:39 +01:00
Henrik Rydgård 6f5339156c Imgui build system 2024-11-04 23:14:39 +01:00
Nemoumbra d1b49cf03b Moved the CyclicBuffer to the Collections dir 2024-09-20 16:19:24 +03:00
Henrik Rydgård 5939270d2c Log: Split out StdioListener from ConsoleListener, making the second Win32-only. 2024-07-21 13:55:40 +02:00
Henrik Rydgård a93bbf39ba Remove sinewin.cpp/h 2024-05-01 12:28:39 +02:00
Henrik Rydgård b6b869ddee Remove float_dsp.cpp, inline the functions 2024-05-01 12:28:39 +02:00
Henrik Rydgård c6502155ab Delete mathematics.cpp/h 2024-05-01 12:28:39 +02:00
Henrik Rydgård d4023fb894 Buildfixes
Buildfix

UWP buildfix

libretro buildfix
2024-04-11 16:10:27 +02:00
Henrik Rydgård fd91611f4f Add lieff/minimp3 library
See https://github.com/lieff/minimp3
2024-04-09 19:10:24 +02:00
Lubos Vonasek dfdbd4566f OpenXR - UWP includes fixed 2024-03-20 19:06:41 +01:00
Henrik Rydgård 99548be8a3 NEON culling: Use mla operations to shave off some more cycles. ARM32 compat. 2023-12-09 16:36:01 +01:00
GABO1423 8cfe46eed0 (UWP) Remove Win32/x86 Support 2023-08-14 18:57:31 -04:00
Henrik Rydgård ab6e902fea Make naett work on Android, UWP, Mac. Exclude on Linux 2023-07-21 10:28:31 +02:00
Henrik Rydgård e2cc835c2b Setup build for new file HTTPNaettRequest 2023-07-21 10:27:40 +02:00
Henrik Rydgård f13a07f19b Break out Download and RequestManager into its own file 2023-07-21 10:27:40 +02:00
Henrik Rydgård eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
GABO1423 e8c42b0bb7 (UWP) Code Cleanup: Round 2 2023-06-29 01:36:30 -04:00
Henrik Rydgård 9f88dbd656 Icon cache for UI rendering
This will be needed for achievements, and has uses already now.
2023-06-18 14:11:12 +02:00
Henrik Rydgård dfb446f89d Allow other backends than Vulkan to have GPU memory stats. Implement for GL. 2023-05-24 14:33:01 +02:00
Henrik Rydgård cf9a628a2e AndroidContentURI: Move code from the header to cpp. Some assorted cleanup, add a unit test for Download paths 2023-05-16 16:08:51 +02:00
Henrik Rydgård d996fb74d4 MSVC: Set language standard to c++17.
Noticed that we were getting some new warnings after merging the
constexpr stuff.
2023-04-02 17:55:15 +02:00
Henrik Rydgård 9d10417f09 UWP buildfix 2023-03-22 14:17:19 +01:00
Henrik Rydgård fc6382140b UWP Buildfix 2023-03-14 13:42:00 +01:00
Henrik Rydgård f936a6e9ce Structs and enums and build files 2023-03-11 11:19:33 +01:00
Henrik Rydgård 53172eff63 Renaming and file splitting 2023-03-06 16:42:50 +01:00
Gabriel Morazán 2d5086112b (UWP) Remove All Redundant Conditionals 2023-03-04 19:19:14 -04:00
Henrik Rydgård 61c5b9e0ca Retarget UWP projects for latest VS build
19061 is the oldest SDK installed by default.

Also disable "SDL" (security development lifecycle) checks in
SPIRV-Cross because it doesn't build with it...
2023-02-24 23:08:41 +01:00
Unknown W. Brackets 489411359e Common: Add cpu_features library. 2023-01-29 14:35:58 -08:00
Henrik Rydgård c27689910e Break out ScrollView from ViewGroup.h, and PopupScreens from UIScreen.h 2023-01-11 10:56:31 +01:00
Henrik Rydgård ec6d330ae4 Move AsyncImageFileView to Common, which required some more shuffling around of stuff. 2022-11-21 20:38:20 +01:00
Henrik Rydgård 162290147f UWP build fix. Had to reshuffle some stuff and compile some Vulkan files. 2022-11-06 15:54:00 +01:00