Commit Graph

5577 Commits

Author SHA1 Message Date
Pacuka a4273c10dc fix(videoout): drop __stdcall from the window procedure
GCC on Linux rejects the attribute, which breaks the libs build since the
F11 fullscreen change. It has no effect on x86-64 Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 11:15:16 +02:00
boykopovar e4825fbdc2
Merge pull request #3 from SamG-Coder/main
Expand native PS5 homebrew compatibility and regression coverage
2026-09-26 09:54:21 +03:00
SamG-Coder cf3c8081fd fix(build): make Python relinker tests optional 2026-09-26 14:55:02 +10:00
devilismyfriend 9c2a75601d feat(libs): agc packet builders, savedata memory, offline service stubs
- libSceAgc: SetIndexCount, SetBaseIndirectArgs, DispatchIndirect, wait
  and write-data patch functions, relaxed checks for what titles send,
  NOP fillers for LOD stats and wait-until-safe, NotImplemented stubs.
- libSceSaveData.native: short mount points, backup events, save-data
  memory slots.
- user/system service, store dialog, video-out flip modes and queue-full
  error, pad read, fibers, offline behaviour for network/NP modules, and
  new export-only modules Ampr, JpegEnc, Json2, MsgDialog.native,
  NpCppWebApi, NpUtility.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-25 16:27:49 -07:00
devilismyfriend 91557ebade feat(audio): AudioOut2 SDL output queue, ATRAC9 decoder in libSceAjm.native
- AudioOut2: one SDL device per context; the hardware grain queue level
  is derived from the SDL queued bytes so the title's poll-and-push loop
  runs at real time; ports are mixed per push with 7.1 folded to stereo.
- libSceAjm.native: instance and batch APIs; ATRAC9 decoding with
  variable-size frames inside superframes, padding, gapless parameters
  and handle re-creation on re-initialisation.
- AudioOut v1: sceAudioOutOutput(handle, NULL) drains instead of
  throwing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-25 16:27:49 -07:00
devilismyfriend 8a69fefe13 perf(agc): batch GPU work in a recorder with host-imported guest memory
Replaces the synchronous per-command execution model, and with it the
upstream render-target, pipeline-cache, tile-buffer, batched-draw and
memory-ownership commits (5a280ce, 7ed5a0b, 46c799d, 598caac, 40df528),
whose files are removed.

- Recorder: one open command buffer per device; dispatches, resident
  draws, uploads, write-backs, labels, fills and copies record into it;
  timeline-semaphore serials let drains wait without the GPU mutex;
  completions run in order at reap.
- one worker thread per PM4 queue; labels and stores written by the GPU
  into the host import; GPU-side DISPATCH_INDIRECT; the buffer-fill
  kernel replaced by vkCmdFillBuffer; a dispatch cache validated by
  write watch; filler packets tolerated; rejected submissions dumped.
- guest memory: page-state cache, 64 KiB write generations, host imports
  with VK_EXT_external_memory_host, persistent mirrors of the executable
  image, GPU copies of misaligned sub-ranges.
- textures: shader-written images stay resident with deferred
  write-back (adjacent-generation rule for packed video planes), sampled
  views of storage images, DCC key handling, addrlib swizzle equations,
  bidirectional detiler.
- draws: MRT, more formats, dynamic viewport/scissor, cached pipelines,
  resident 64 KiB targets, draws recorded into the recorder.
- ShaderResources: two-stage build, descriptor and sampler caches, a
  content-keyed resource cache; presentation from the resident image.
- a label deferred behind a completion is no longer re-stored by the
  CPU at reap time unless a write-back overwrote it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-25 16:27:49 -07:00
devilismyfriend 87911b3bb5 fix(recompiler): saveexec operand order, atomic-zero rewrite, cache keys
- s_*_saveexec reads its source before writing the old EXEC into the
  destination, so the aliased form (vcc, vcc) computes exec & vcc; the
  per-lane exec bit comes from the lane's own bit. Every Bink 2 decoder
  kernel uses that form; this was the video corruption.
- buffer atomics add/sub/or/xor with a zero operand become an atomic
  load or nothing.
- DescriptorBinding carries bufferWritten/bufferAtomic/imageWritten;
  results expose a variantId and share SPIR-V copy-on-write; source
  keys use a length plus 64-bit hash; captures can be reused.
- wave-LDS ordering barriers, v_movrels/v_movreld lowering, SMEM with a
  VCC base, f16 conversion opcode fix, a per-function SPIRV-Tools pass
  list, env-gated IR dumps and probes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-25 16:27:49 -07:00
devilismyfriend f3ac61000d feat(runtime): guest arena, kernel thread/sync/file APIs, crash hooks
- libc: reserve guest memory in one arena below the PS5 map limit with
  MEM_WRITE_WATCH (GuestArena) and a caching guest heap; the allocation
  registry gains a generation counter, an invalidator callback for the
  driver's page cache and a pin waiter for leased ranges. This replaces
  the fault-based GuestMemoryTracking/GuestMemoryBacking layer, whose
  files are removed.
- libkernel: mmap/mprotect/munmap on the arena, flexible memory budget,
  real sceKernelVirtualQuery; POSIX pthread layer, rwlocks, timed locks,
  TSD, event flags; 0.5 ms scheduler tick and high-resolution sleeps;
  TSC/clock/time functions; file APIs return SCE errno codes; the APR
  file-streaming API.
- libc: vectored crash reporter with backtraces for fatal exceptions,
  SIGABRT, UCRT invalid parameters and process exit; SSE4a EXTRQ/INSERTQ
  emulation for Intel hosts; %ls/%lc/%S/%C with the guest's 16-bit
  wchar_t; hand-written setjmp/longjmp for the guest jmp_buf; a path
  alias table for short save-data mount points; more string, stdio and
  math exports.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177gthrWEBBfBu5xJDXgBfo
2026-09-25 16:27:49 -07:00
boykopovar 40df5282e6 perf(agc): track guest memory ownership + optimize gpu synchronization 2026-09-25 19:47:18 +03:00
boykopovar e392506e0a feat(pad): add enums + edit mapping 2026-09-25 16:59:23 +03:00
boykopovar dde8fa53e6 chore(pad): update circle, cross, r1 input to pad mapping 2026-09-25 12:26:41 +03:00
boykopovar 598caac0ce perf(agc): batch draws and cache descriptors, samplers, and buffers 2026-09-25 11:40:03 +03:00
boykopovar 6b8e16b73e feat(video): fullsceen mode by f11 2026-09-25 11:18:58 +03:00
boykopovar 9453f47828 feat(video): open centered window at 60% of display size 2026-09-25 11:13:03 +03:00
boykopovar 11bee5527d fix(video): preserve client aspect ratio when resizing 2026-09-25 11:07:51 +03:00
boykopovar a7fb4cbf72 fix(video): recreate swapchain after window minimization 2026-09-25 10:49:46 +03:00
boykopovar 46c799da67 perf(agc): use device-local tile buffers and cache spir-v validation 2026-09-25 09:14:03 +03:00
boykopovar 7ed5a0beea perf(agc): optimize pipeline cache key construction 2026-09-25 08:25:59 +03:00
boykopovar 5a280ced87 perf(agc): keep render targets on gpu across acquire_mem 2026-09-25 08:22:43 +03:00
boykopovar c91eda8e9a
Merge pull request #2 from SamG-Coder/fix/relinker-ctest-registration
fix(build): register relinker tests with CTest
This change:
Defines BUILD_TESTING with a default of OFF and enables testing at the root when requested.
Registers the Windows dependency diagnostics test and includes its executable in normal builds when testing is enabled.
Allows CTest to discover the existing strict NID filter test.
2026-09-25 07:07:04 +03:00
SamG-Coder 5a2790c93e style(libc): remove trailing blank line in process exports 2026-09-25 07:27:07 +10:00
SamG-Coder f37fffdacd feat(libc): expose guest vsprintf formatting 2026-09-25 07:26:06 +10:00
SamG-Coder 6cdf4a5be1 feat(libc): implement binary search with guest comparator ABI 2026-09-25 07:24:17 +10:00
SamG-Coder 473a4f8d1c fix(agc): preserve strict shader linkage failures 2026-09-25 07:22:06 +10:00
SamG-Coder 322dc24c9e feat(kernel): implement guest once initialization 2026-09-25 07:22:05 +10:00
SamG-Coder 95dc22c173 feat(agc): execute rendering waits against buffer reuse fences 2026-09-25 07:16:55 +10:00
SamG-Coder cca00c13ab feat(video): track ordered buffer reuse reservations 2026-09-25 07:13:15 +10:00
SamG-Coder 2187436d0d feat(agc): expose legacy register defaults entry point 2026-09-25 07:10:15 +10:00
SamG-Coder 2d8ec800c3 Merge remote-tracking branch 'upstream/main' 2026-09-25 07:08:17 +10:00
SamG-Coder d6f23df679 feat(agc): compose basic shader linkage register blocks 2026-09-25 07:08:10 +10:00
SamG-Coder 18ce03cba2 feat(libc): implement immediate guest process exit 2026-09-25 07:05:07 +10:00
SamG-Coder dd0debe967 feat(libc): reopen guest streams while preserving identity 2026-09-25 07:05:07 +10:00
boykopovar 05c8146744 refactor(pad): libScePad files structure refactor 2026-09-25 00:04:19 +03:00
SamG-Coder 2920c7f04c feat(system): handle console exit through runtime shutdown 2026-09-25 07:02:37 +10:00
SamG-Coder 79edb20f17 fix(libc): preserve 64-bit guest stream offsets 2026-09-25 07:00:45 +10:00
boykopovar ce287648bf feat(pad): add read input state logic to libScePad 2026-09-24 23:59:12 +03:00
SamG-Coder 39b81364b7 feat(libc): add C-locale character APIs and guest basename 2026-09-25 06:58:41 +10:00
SamG-Coder 7d07187ac8 feat(libc): add floating-point string conversions 2026-09-25 06:55:31 +10:00
SamG-Coder c7d26dda5e feat(libc): add missing guest math exports and 64-bit rounding 2026-09-25 06:54:49 +10:00
SamG-Coder 730afc79f8 feat(libc): add independent guest strtok state 2026-09-25 06:52:05 +10:00
SamG-Coder 1b45b0fe68 feat(libc): track guest working directory and resolve relative paths 2026-09-25 06:51:37 +10:00
SamG-Coder 453fec28c5 feat(kernel): add tracked dynamic module loading and NID lookup 2026-09-25 06:48:50 +10:00
SamG-Coder 91bf8e3a7a feat(libc): implement guest file removal and renaming 2026-09-25 06:45:30 +10:00
SamG-Coder 5301f89092 feat(libc): translate guest directory enumeration 2026-09-25 06:41:55 +10:00
SamG-Coder 18790691bd feat(libc): implement guest environment variable storage 2026-09-25 06:39:14 +10:00
SamG-Coder f49cace1ca feat(libc): implement guest formatted stream output 2026-09-25 06:35:32 +10:00
SamG-Coder b8c1097db4 feat(kernel): support socket nonblocking flags through fcntl 2026-09-25 06:34:30 +10:00
SamG-Coder e8ecb29170 feat(libc): expose guest standard streams and character IO 2026-09-25 06:30:30 +10:00
SamG-Coder 56c7a589db feat(kernel): bridge guest signal registration and delivery 2026-09-25 06:27:11 +10:00
SamG-Coder cbd22dd854 feat(kernel): implement guest system configuration queries 2026-09-25 06:25:16 +10:00
SamG-Coder 9cbefb7e04 feat(kernel): implement tracked UDP sockets and ioctl 2026-09-25 06:23:44 +10:00
SamG-Coder ff725218cb feat(kernel): translate guest IP address conversion APIs 2026-09-25 06:18:32 +10:00
SamG-Coder 97e6ce992b feat(libc): implement guest errno message APIs 2026-09-25 06:17:18 +10:00
SamG-Coder cbf8362251 feat(posix): translate guest address resolution APIs 2026-09-25 06:15:32 +10:00
SamG-Coder dec5841b2d feat(libc): implement caller-backed mspace heaps 2026-09-25 06:10:50 +10:00
SamG-Coder 8a4cc838e0 Merge remote-tracking branch 'upstream/main' into feat/homebrew-game 2026-09-25 06:06:31 +10:00
SamG-Coder 1bbdf7daa6 feat(kernel): support private anonymous guest memory mappings 2026-09-25 06:06:31 +10:00
SamG-Coder f146a3d069 fix(windows): expose shared libc for internal runtime imports 2026-09-25 06:00:07 +10:00
SamG-Coder 6ba24a895c feat(libs): implement homebrew string compatibility functions 2026-09-25 05:59:07 +10:00
boykopovar 9a4c8eab8b fix(libc): update locale signatures + add sysv abi to math funcs 2026-09-24 22:57:49 +03:00
SamG-Coder eca52b4725 fix(relinker): accept unused empty ELF TLS segments 2026-09-25 05:53:32 +10:00
SamG-Coder 221086beb6 fix(relinker): support ELF images without PLT relocations 2026-09-25 05:32:49 +10:00
SamG-Coder 0968c32b72 fix(build): register relinker tests with CTest 2026-09-25 05:27:19 +10:00
boykopovar 2778c1e86e perf(agc): keep render targets on gpu across draws 2026-09-24 21:30:00 +03:00
boykopovar bf43995e8e feat(shader): implement enable cache field in recompile request 2026-09-24 20:59:34 +03:00
boykopovar e98d2163f4 refactor(log): remove extra logs + refactor timing logging 2026-09-24 20:35:59 +03:00
boykopovar 2539e9787f perf(agc): avoid guest memory uploads for rect-list fault buffers 2026-09-24 14:57:39 +03:00
boykopovar fa6d023b1b feat(agc): support rendertarget64kb shader textures 2026-09-24 11:18:35 +03:00
boykopovar c9a82af00c fix(libc): add guest-compatible c++ locale abi 2026-09-24 10:51:11 +03:00
boykopovar 594656581e feat(libs): add new std symbols + unused filter off by default 2026-09-24 10:28:33 +03:00
boykopovar fa27b50832 chore(relinker): unused filter level = 1 by default 2026-09-24 08:14:05 +03:00
boykopovar ad68f86df1 chore(docs): update readme status for unused filter1 bug 2026-09-24 08:13:03 +03:00
boykopovar d765867146 feat(libs): add new sceAgcDriver functions def 2026-09-24 08:00:36 +03:00
boykopovar f5bc2d7649 feat(libs): add new sceAgc functions def 2026-09-24 07:54:15 +03:00
boykopovar 9f2b41b9a1 fix(libc): route guest allocations through application heap 2026-09-24 06:53:12 +03:00
boykopovar 7ed9ef1e9b perf(agc): move color transfers to + gpu resources cache 2026-09-23 22:32:42 +03:00
boykopovar 630d918b4a feat(agc): add timing logs for path after recompling 2026-09-23 22:11:41 +03:00
boykopovar 10e4d5e469 perf(shader): make -ools validation and optimization optional 2026-09-23 21:48:51 +03:00
boykopovar 65c6214a68 fix(agc): validate rect-list addressing model + logs refactor 2026-09-23 21:26:21 +03:00
boykopovar 3da19adf3f refactor(video): use presentation without maintenance extensions 2026-09-23 20:10:01 +03:00
boykopovar f129f6cde5 fix(agc): accept valid hardware screen offset values 2026-09-23 16:22:20 +03:00
boykopovar 069ee78158 feat(shader): generate tessellation shaders for rect-list primitives 2026-09-23 16:13:33 +03:00
boykopovar e341cd1b30 feat(window): add fps and frame counter to window title 2026-09-23 15:30:13 +03:00
boykopovar 762b91df59 feat(libkernel): app metadata param.json parsing impl 2026-09-23 15:18:48 +03:00
boykopovar cf1953058b feat(libkernel): add app metadata reading module 2026-09-23 15:09:31 +03:00
boykopovar 282257fd98 feat(video): add resizable aspect-ratio-aware window 2026-09-23 14:27:47 +03:00
boykopovar b1722c06e3 fix(shader): avoid mixing ir block ids with metadata indices 2026-09-23 13:57:22 +03:00
boykopovar bbde0f4680 feat(agc): support tiled color target layout 2026-09-23 13:15:30 +03:00
boykopovar 2df58cf09c fix(kernel): support page-aligned mprotect for loaded images 2026-09-23 12:45:39 +03:00
boykopovar 0b3ffe47b0 fix(shader): distinguish descriptor resources by register 2026-09-23 12:20:33 +03:00
boykopovar 30987b6543 fix(agc): allow texture descriptor performance modulation 2026-09-23 11:49:36 +03:00
boykopovar 8cd216e9d7 fix(agc): remove raw buffer restriction and decode guest buffer descriptors 2026-09-23 11:44:46 +03:00
boykopovar ab7d9a180a fix(agc): fix texture detiler context lifetime 2026-09-23 11:17:53 +03:00
boykopovar 352408ca51 feat(shader): derive descriptor image shape from rdna resources 2026-09-23 11:13:12 +03:00
boykopovar b521e1f811 test(agc): add texture resource and detiling coverage 2026-09-23 10:57:27 +03:00
boykopovar fa09114296 feat(agc): add texture and sampler descriptor bindings 2026-09-23 09:40:06 +03:00
boykopovar 7a5f5da623 feat(agc): add guest sampler creation 2026-09-23 09:28:03 +03:00
boykopovar d617677967 feat(agc): add guest texture upload - gpu detiling 2026-09-23 09:09:08 +03:00
boykopovar 596830be3e feat(agc): add gpu texture detiling shader 2026-09-23 08:56:52 +03:00
boykopovar 81d9dfde54 feat(agc): add gpu-based texture detiling 2026-09-23 08:48:29 +03:00
boykopovar efa62f3546 feat(agc): implement texture tiling layout 2026-09-23 08:31:56 +03:00
boykopovar 0bb7f38510 feat(agc): texture format mapping and properties 2026-09-23 08:11:40 +03:00
boykopovar 1fd955711b feat(agc): implement guest sampler resource decoding 2026-09-23 08:06:06 +03:00
boykopovar 8e05ec2fa3 feat(agc): implement guest texture resource decoding 2026-09-23 08:00:22 +03:00
boykopovar f50946adf0 build(agc): wire agc texture support into cmake 2026-09-23 07:40:22 +03:00
boykopovar 5c7dc027ea feat(agc): add agc texture support definitions (wip) 2026-09-23 07:25:23 +03:00
boykopovar 77f44a1a8d refactor(agc): report unimplemented image/sampler resources 2026-09-22 21:51:35 +03:00
boykopovar bb27de6fac feat(shader): add fragmentShaderBarycentricEnabled flag to recompiler 2026-09-22 21:35:45 +03:00
boykopovar 4734f43c60 feat(agc): add ACQUIRE_MEM handling in agc driver 2026-09-22 20:35:15 +03:00
boykopovar 8fd65f2a25 add EVENT_WRITE support for CS/GS/PS_PARTIAL_FLUSH + relinker return exit code from autorun 2026-09-22 20:27:49 +03:00
boykopovar f7aaa2fb86 feat(agc): add DRAW_INDEX_AUTO handling impl 2026-09-22 20:07:09 +03:00
boykopovar bf7e41bb8b feat(agc): add new context state op impl 2026-09-22 19:44:17 +03:00
boykopovar 7fa0e0c469 fix(libc): add sort function manual impl for compare abi 2026-09-22 18:35:09 +03:00
boykopovar a43f73163d feat(libs): no patch already exported from libc.prx symbols 2026-09-22 18:21:08 +03:00
boykopovar e3a960e4d1 feat(libs): add sce pad read state default value 2026-09-22 12:08:56 +03:00
boykopovar 79c9aa587b feat(agc): add fragment shader barycentric support 2026-09-22 11:43:39 +03:00
boykopovar 5e3a13041c feat(agc): implement vertex attribute input and buffer binding 2026-09-22 11:34:54 +03:00
boykopovar 5b424406a5 fix(agc): enable float controls and validate subgroup capabilities 2026-09-22 11:23:58 +03:00
boykopovar 7e0adc69f5 fix(shader): add missing spirv float controls declarations 2026-09-22 11:01:33 +03:00
boykopovar 1da8521ffc feat(shader): add spirv validation and opt via spirv-tools 2026-09-22 10:43:54 +03:00
boykopovar 798e38f47e fix(shader): fix recompile request memory snapshot and descriptors 2026-09-22 10:19:48 +03:00
boykopovar adcf14179b chore(shader): plan builder return for void + ssa pass init value 2026-09-22 10:00:42 +03:00
boykopovar e7633a7f07 fix(shader): thread cb_color0_info swap into pixel input color component mapping 2026-09-22 09:28:46 +03:00
boykopovar eccabe52ec feat(shader): add EmitNative impl + EmitGlsl for recompiler 2026-09-22 09:10:10 +03:00
boykopovar f38c6cd7af feat(shader): implement checked BDA reads and GPU fault reporting 2026-09-21 19:26:09 +03:00
boykopovar 2b7eec45ac test(agc): cover partial guest mappings 2026-09-21 19:02:06 +03:00
boykopovar 3028c87491 feat(agc): add bda memory mapping and resource management (wip) 2026-09-21 18:54:06 +03:00
boykopovar 48d08397d9 fix(shader): fix build break from bda cache page bits field 2026-09-21 18:08:03 +03:00
boykopovar fbb8a36f65 feat(shader): add bda cache page bits field to spirv target 2026-09-21 14:33:19 +03:00
boykopovar 1490c0386c refactor(agc): unify shader resource bindings and push constants 2026-09-21 13:48:44 +03:00
boykopovar cc0d0b776c feat(shader): add recompiler resource materialization and binding pipeline 2026-09-21 13:16:32 +03:00
boykopovar ccb223f125 feat(shader): implement spirv buffer and shared memory instructions 2026-09-21 10:03:58 +03:00
boykopovar 7a9c58030f feat(shader): implement spirv memory addressing and load/store logic (wip) 2026-09-21 09:39:58 +03:00
boykopovar 132306a7d1 feat(shader): add spirv memory instructions definitions 2026-09-21 09:23:15 +03:00
boykopovar a37a5a6c74 feat(shader): add spirv module setup impl 2026-09-21 07:29:04 +03:00
boykopovar 206175c8be feat(shader): implement tessellation in spirv emitter 2026-09-21 07:03:36 +03:00
boykopovar 93fef6b0f4 feat(shader): implement spirv program requirements analysis 2026-09-21 06:53:19 +03:00
boykopovar cf507a3b89 feat(shader): implement spirv tessellation emission 2026-09-21 06:49:35 +03:00
boykopovar 2bef9d7961 feat(shader): implement spirv module shader io and program emission 2026-09-21 06:46:25 +03:00
boykopovar c4ace2027e feat(shader): add spirv emit funcs impl from spirv module emitter (wip) 2026-09-20 21:04:28 +03:00
boykopovar 266c197380 feat(shader): add spirv module funcs impl 2026-09-20 20:09:28 +03:00
boykopovar 342fd6f052 fix(shader): remove already impl funcs from spirv module emitter 2026-09-20 19:59:28 +03:00
boykopovar f0e6556aea fix(shader): add local helpers + fix names for spirv memory 2026-09-20 19:56:09 +03:00
boykopovar cb9ac6b183 feat(shader): add spirv memory emitter impl + refactor (wip) 2026-09-20 10:44:32 +03:00
boykopovar 05a07353b0 refactor(shader): split spirv memory emitter to module 2026-09-19 13:20:16 +03:00
boykopovar 221fd0bf8e refactor(shader): add var for return values + spirv img emitter fix 2026-09-19 09:49:43 +03:00
boykopovar d1dd4590fa feat(shader): spirv image emitter functions impl (wip) 2026-09-19 07:33:30 +03:00
boykopovar 3c06704751 chore(agc): add vulkan device logs 2026-09-19 07:02:48 +03:00
boykopovar 3da76b9b33 refactor(graphics): add new graphics pipeline log + remove redunant ones 2026-09-18 21:03:11 +03:00
boykopovar 8be7c9d191 feat(shader): add test shaders return + graphic pipeline logs 2026-09-18 20:38:26 +03:00
boykopovar 9393018d73 feat(shader): add spirv buffer format header 2026-09-18 19:54:11 +03:00
boykopovar c2fa4a1d9d feat(shader): add spirv flow emitting functions impl 2026-09-18 16:49:36 +03:00
boykopovar a0276c512a feat(shader): add spirv alu emitter impl 2026-09-18 16:46:01 +03:00
boykopovar 8d911c0b91 feat(shader): impl ir descriptor structures primitives 2026-09-18 16:01:27 +03:00
boykopovar b970ff0ae7 fix(shader): provide translate input info to shader info collector 2026-09-18 15:49:21 +03:00
boykopovar 97a97ab2e1 feat(shader): use embedded vertex fetch analyzer in recompiler 2026-09-18 14:52:45 +03:00
boykopovar 58b9e60d23 feat(shader): add recompile request serialization on fail 2026-09-18 14:37:08 +03:00
boykopovar 760d1f660e fix(shader): resource tracker dword 0: pc instruction in ex 2026-09-18 12:54:47 +03:00
boykopovar 95df53181c fix(shader): buffer resource dword 0 detailed exception in tracker 2026-09-18 12:52:03 +03:00
boykopovar 3326614308 feat(shader): impl ir metadata eq operators 2026-09-18 12:33:02 +03:00
boykopovar bb2ce84019 refactor(shader): refactor ir metadata types to separated headers 2026-09-18 12:28:41 +03:00
boykopovar 6f0ccde6ff feat(shader): add ssa building impl for recompiler 2026-09-18 12:09:32 +03:00
boykopovar 3400a2b6e5 feat(shader): add srt walker impl + refactor 2026-09-18 11:31:21 +03:00
boykopovar 3dc20758a5 feat(shader): shader info collector impl for recompiler 2026-09-18 07:00:30 +03:00
boykopovar a1255c527d feat(shader): resource materializer impl for recompiler 2026-09-18 06:46:24 +03:00
boykopovar b18bec2150 feat(shader): add resource tracker impl 2026-09-17 17:43:03 +03:00
boykopovar 00fd1c2990 feat(shader): add dst sel packing helper to ir metadata 2026-09-17 14:02:22 +03:00
boykopovar c941b73a5e feat(shader): add bitfield accessors to ShaderBufferResource 2026-09-17 13:59:57 +03:00
boykopovar 225de15e50 feat(shader): add rdna descriptor format table for buffer formats 2026-09-17 13:55:36 +03:00
boykopovar 569b3b4038 feat(shader): read lane eliminator impl 2026-09-17 13:29:32 +03:00
boykopovar 38fdbc2a55 feat(shader): constants folding + dead code eliminating 2026-09-17 12:45:10 +03:00
boykopovar 78d9ef7567 feat(shader): fix scalar-load component count metadata for LoadAddressU32 2026-09-17 12:18:53 +03:00
boykopovar a529827753 feat(shader): ir typed value method impl 2026-09-17 12:16:04 +03:00
boykopovar f7b5df1711 feat(shader): decode embedded vertex fetch metadata for vertex-family stages 2026-09-17 12:00:14 +03:00
boykopovar 50226e4260 feat(shader): impl agc-side register decode and translator input wiring 2026-09-17 11:02:58 +03:00
boykopovar 268ae10936 feat(shader): impl instruction translator entry point 2026-09-17 07:30:25 +03:00
boykopovar 0679fbce1b feat(shader): add translation operand primitives helpers 2026-09-17 06:55:15 +03:00
boykopovar a585f2454f refactor(shader): translation context helpers module 2026-09-16 18:42:19 +03:00
boykopovar 5ad0305def feat(shader): add embedded vertex fetch for translator impl 2026-09-16 15:32:13 +03:00
boykopovar 8a0b230d18 feat(shader): impl new memory instruction translator functions 2026-09-16 15:13:52 +03:00
boykopovar 79eb125a5d feat(shader): add image instructions translator 2026-09-16 14:59:35 +03:00
boykopovar 6ae8fcbb53 feat(shader): impl flat, buffer, dispatch memory instructions tr 2026-09-16 14:43:57 +03:00
boykopovar 5e44bb042d refactor(shader): refactor memory instructions translator organization 2026-09-16 14:12:21 +03:00
boykopovar 99c9f01e26 feat(shader): impl vector instructions translator 2026-09-16 14:00:16 +03:00
boykopovar 3efd37596d feat(shader): add integer and scalar instruction translation 2026-09-16 13:39:55 +03:00
boykopovar c6dcc8bf6b feat(shader): translate float instructions functions 2026-09-16 13:24:40 +03:00
boykopovar 713e2b9606 feat(shader): impl dispatch instruction functions for translator 2026-09-16 13:16:09 +03:00
boykopovar fbb8fcbf4e feat(shader): add translation convert instructions impl 2026-09-16 13:00:51 +03:00
boykopovar 393a41fa2c feat(shader): add attr and compare instructions translators 2026-09-16 10:32:38 +03:00
boykopovar 4b2fe93080 feat(agc): add standalone shader test for libSceAgcDriver 2026-09-16 07:43:05 +03:00
boykopovar 9c78d10044 fix(agc): support unrestricted vulkan depth range 2026-09-16 07:24:00 +03:00
boykopovar f0b13b6652 fix(agc): support negative depth range and inactive color targets 2026-09-16 07:21:13 +03:00
boykopovar 05ec432f75 fix(agc): non-homogeneous positions with all viewport transforms enabled 2026-09-16 07:11:00 +03:00
boykopovar f73834ce2f fix(agc): complete initial context state and tighten shader validation 2026-09-16 07:04:23 +03:00
boykopovar 74613f7e0f feat(agc): extend graphics compiler contract and add mesh and tessellation paths 2026-09-15 21:19:06 +03:00
boykopovar 215e3cbf48 fix(agc): fix missing register at DWORD 677 (wip) 2026-09-15 12:38:01 +03:00
boykopovar 77b96978c7 feat(agc-driver): add strict vulkan indexed draw pipeline 2026-09-15 12:28:25 +03:00
boykopovar 0cb9ad8d2b feat(shader): ir builder convertions impl 2026-09-15 12:00:21 +03:00
boykopovar e4490a0272 feat(shader): arithmetic + ext regs + logic impl for ir builder 2026-09-15 11:44:42 +03:00
boykopovar 039b88b08e refactor(shader): refactor ir builder to separated module + som getters impl 2026-09-15 11:36:41 +03:00
boykopovar 5c8af9032b feat(shader): intermediate repr program impl 2026-09-15 10:59:28 +03:00
boykopovar 1589308466 feat(shader): add intermediate representation opcode impl 2026-09-15 10:37:56 +03:00
boykopovar af5a8c6235 feat(shader): add itermediate primitives impl 2026-09-15 10:24:34 +03:00
boykopovar af2ff821c4 feat(shader): shader control flow structurizer impl 2026-09-15 10:01:58 +03:00
boykopovar a6be72421e feat(shader): control flow graph impl 2026-09-15 09:18:06 +03:00
boykopovar 075e74b2c1 feat(shader): graph builder impl + rdna scalar op decoder adaptation 2026-09-15 09:03:46 +03:00
boykopovar 91f9dabea9 feat(shader): rdna instruction decoder impl 2026-09-15 08:17:31 +03:00
boykopovar 382384c5b7 feat(shader): rdna opcodes categorizing impl 2026-09-15 07:53:30 +03:00
boykopovar 16ce021b28 feat(shader): rdna vector op decoder impl 2026-09-15 07:41:44 +03:00
boykopovar 1867d649ff feat(shader): rdna scalar op decoder impl 2026-09-15 07:20:59 +03:00
boykopovar d084eed394 feat(shader): rdna memory op decoder impl 2026-09-15 07:07:50 +03:00
boykopovar 59fc5a5953 feat(shader): rdna image op decoder impl 2026-09-14 18:08:58 +03:00
boykopovar 9a6a19d1ac feat(shader): update translation defenitions 2026-09-14 18:03:44 +03:00
boykopovar 1cb380a110 feat(shader): update spirv backend definitions 2026-09-14 17:57:22 +03:00
boykopovar 86759f5c11 feat(shader): update optimization signatures 2026-09-14 16:56:29 +03:00
boykopovar de6588dd60 feat(shader) update ntermediateepresentation metadata and signatures 2026-09-14 16:41:50 +03:00
boykopovar e9be69c247 feat(shader): update control flow signatures 2026-09-14 16:33:21 +03:00
boykopovar f4a591a74c feat(shader): update rdna decoder signatures 2026-09-14 16:29:54 +03:00
boykopovar fc8b2e9e52 feat(shader): add new fields for rdna img op decoder 2026-09-14 16:07:04 +03:00
boykopovar 6da6ebad97 feat(shader): rdna export op decoder impl 2026-09-14 16:02:29 +03:00
boykopovar 6e9ad53bd5 feat(shaders): add shader recomp structure 2026-09-14 13:37:17 +03:00
boykopovar fd5e236aad feat(videoOut): add tiled buffer presentation and flip lifecycle handling 2026-09-14 12:38:16 +03:00
boykopovar b9cc7ffd85 feat(agcDriver): add draw handling and shader recompile preparation 2026-09-14 12:06:35 +03:00
boykopovar 699df8d5fa feat(agcDriver): add 54 PM4 execution and indirect dispatch support 2026-09-14 11:43:13 +03:00
boykopovar 990ae6a0ff feat(agcDriver): add opcode 18 handling as clearing 2026-09-14 11:18:21 +03:00
boykopovar 9f8225aa6d chore(libc): log only name for sibling file in fopen 2026-09-14 11:06:21 +03:00
boykopovar b0b1902b0f chore(libc): make file open slash preferred for system 2026-09-14 10:56:33 +03:00
boykopovar 1e4740ed4b fix(nid): no patch sdl exports for nid 2026-09-14 10:52:04 +03:00
boykopovar d31e35e1ab feat(agc): add flip presentation and suspend synchronization (wip) 2026-09-14 07:39:38 +03:00
boykopovar b024001a4a fix(libc): fix sprintf_nid_postfix register for linux 2026-09-14 07:23:23 +03:00
boykopovar ed171b23da feat(agc): add driver submission queue and vulkan compute path 2026-09-14 06:37:19 +03:00
boykopovar 87b52a99c8 feat(agc): add sceAgcGetDataPacketPayloadAddressUnk impl 2026-09-13 19:46:30 +03:00
boykopovar bed94ee90a fix(agc): add nullptr values handling for WriteRegisterRange 2026-09-13 19:41:29 +03:00
boykopovar bd0969c3a4 fix(libs): ex from libc prx: unwind for catch fix (mingw) 2026-09-13 19:21:31 +03:00
boykopovar bdff4874de feat(agc): add draw packets and register defaults with strict validation 2026-09-13 18:14:51 +03:00
boykopovar 8e95b27583 chore(cmake): add cmake option -DAPS5_AGC_CREATE_LOG 2026-09-13 17:44:17 +03:00
boykopovar 7e5f41aba3 feat(cli): add --windows-diagnostics arg - off by default 2026-09-13 17:21:13 +03:00
boykopovar 04e1bc0a2d refactor(codegen): separated x86 assembler 2026-09-13 17:04:02 +03:00
boykopovar 5d715ee549 refactor(libkernel): move from Export.cpp to separated files 2026-09-13 16:41:04 +03:00
boykopovar 8f2bca5481 refactor(libkernel): merged dup pthread functions from _sys and _web 2026-09-13 16:24:42 +03:00
boykopovar 1468fc7d6c refactor(libs): remove function dups from libSceAgcVsh 2026-09-13 15:17:07 +03:00
boykopovar 4863c251f1 refactor(AgcDriver): add subdirs to libSceAgcDriver + separated new src 2026-09-13 15:09:19 +03:00
boykopovar 888abd280f refactor(libSceAgc): add subdirs + new separated src 2026-09-13 15:06:31 +03:00
boykopovar 114c11aa88 feat(libSceAgc): implement command packet functions 2026-09-13 14:34:15 +03:00
boykopovar 7773bbcbf8 chore(sceVideoOut): throw ex instead of stubs 2026-09-13 13:52:41 +03:00
boykopovar 78f183ced8 feat(core): add and link to Agc not implemented shader recompilier 2026-09-13 13:47:13 +03:00
boykopovar fcb0764473 refactor(libs): organize libSceAgcDriver with cmakelists 2026-09-13 13:29:19 +03:00
boykopovar 7c44d13b3a feat(libs): global shared path resolver in libc 2026-09-13 12:45:50 +03:00
boykopovar f66a8fc5c4 feat(libkernel): libkernel file functions impl 2026-09-13 12:07:47 +03:00
boykopovar f19a234f38 feat(libkernel): add gettime getres gettimeofday impl 2026-09-13 11:21:37 +03:00
boykopovar 4781694512 feat(libs): NpTrophy2 impl + fopen not found logic update 2026-09-13 11:01:59 +03:00
boykopovar 0c2cfe0564 feat(NpTrophy2): add user data constants 2026-09-13 10:35:37 +03:00
boykopovar 42e1bad3d2 refactor(libs): move NpTrophy2 types from global SceTypes to libSceNpTrophy2 2026-09-13 10:30:13 +03:00
boykopovar 7d40561780 refactor(libs): organize NpTrophy2 with cmakelists 2026-09-13 10:19:56 +03:00
boykopovar 94ab47a417 feat(libkernel): some semaphore functions impl 2026-09-12 19:27:53 +03:00
boykopovar e38f76a823 refactor(libkernel): move some functions from export.cpp to new semaphore and file 2026-09-12 19:05:39 +03:00
boykopovar 8cd754c751 feat(libs) libSceNpGameIntent impl + refactor NpUniversalDataSystem 2026-09-12 18:53:36 +03:00
boykopovar 67996b7a69 feat(libs): libSceNpUniversalDataSystem functions impl (no net) 2026-09-12 18:29:57 +03:00
boykopovar 357d7fa373 refactor(libs): organize sceNpUniversalData with cmakelists 2026-09-12 18:12:18 +03:00
boykopovar b4db9fdd69 chore(sceSysmodule): log unknown module id loading 2026-09-12 18:00:34 +03:00
boykopovar d225df7449 feat(sceVideoOut): implement sdl2 window and present thread 2026-09-12 17:32:24 +03:00
boykopovar 49e200c88a feat(sceAudioOut): audio out init functions impl 2026-09-12 17:01:21 +03:00
boykopovar a7521f3a7e feat(libkernel): libkernel time functions impl 2026-09-12 16:33:29 +03:00
boykopovar 5d7bee9a1f refactor(libs): organize sceAuodioOut lib with cmakelists 2026-09-12 16:16:41 +03:00
boykopovar 37c8bafd13 fix(libkernel): fix export non-ps5 functions with extern c 2026-09-12 16:07:14 +03:00
boykopovar 9d7c255316 feat(windows): add import error chain diagnostic 2026-09-12 15:55:46 +03:00
boykopovar 31943e9a62 fix(sceVideoOut): add nid_postdfix to equeue libkernel exports 2026-09-12 11:21:01 +03:00
boykopovar 497821e94f feat(sceVideoOut): video out functions impl (wip) 2026-09-12 11:02:17 +03:00
boykopovar 69b8080ea4 feat(libkernel): add equeue functions impl 2026-09-12 10:40:27 +03:00
boykopovar bd16eaaacf refactor(libs): organize libSceVideoOut with cmakelists 2026-09-11 16:41:01 +03:00
boykopovar 4b643c6655 refactor(core): seprated folders for relinker and libs 2026-09-11 14:53:01 +03:00
boykopovar e9bbde1a6e refactor(libkernel): pthread functions separation 2026-09-11 14:12:44 +03:00
boykopovar 67b778055a refactor(libs): use local cmakelists in libc 2026-09-11 12:22:19 +03:00
boykopovar 2323a08de6 refactor(elfpatcher): move windows patcher headers to include 2026-09-11 10:05:54 +03:00
boykopovar 6c5afcce14 refactor(relinker): separate args parsing and autorun from main 2026-09-11 09:43:40 +03:00
boykopovar 08b1968b15 fix(libs): repack pe export names contiguously instead of edata no free space ex 2026-09-11 08:38:42 +03:00
boykopovar a1116fe948 feat(libc): windows way for ex handling (wip) 2026-09-11 08:17:12 +03:00
boykopovar ea3f7b5ae0 fix(windows): va_list sysv abi parse for fomatting functions 2026-09-11 07:49:14 +03:00
boykopovar e075f99757 chore(windows): loading prx info to stdout 2026-09-11 07:08:01 +03:00
boykopovar 999a723a5f fix(windows): precommit guest thread stacks to prevent guard page skips 2026-09-10 20:25:25 +03:00
boykopovar b765cefa42 fix(libs): fix args sysv abi for types (windows) 2026-09-10 19:54:03 +03:00
boykopovar d23e1ca84e feat(elfpatcher): build tls for fs access instructions (windows) 2026-09-10 18:34:54 +03:00
boykopovar 2a14912b65 feat(cli): relinker --lazy-binding flag 2026-09-10 14:57:27 +03:00
boykopovar c0c1ac4424 fix(libs): fix build sysv abi on mingw 2026-09-10 14:34:43 +03:00
boykopovar 36c29c9a66 feat(libs): sysv abi macros for windows exports 2026-09-10 13:30:05 +03:00
boykopovar 74de895ac0 feat(libs): add new libSceAgc unknown functions 2026-09-10 09:43:59 +03:00
boykopovar 8400150f80 feat(libs): add new declarations to libSceAgc 2026-09-10 09:09:08 +03:00
boykopovar 411a4d00a5 feat(libs): add change export name macros 2026-09-10 08:22:39 +03:00
boykopovar abc72da741 feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
boykopovar 5bf78ab8b4 feat(relinker): strict unused nids filtering mode 2026-09-09 19:29:25 +03:00
boykopovar 77cfe65b9c feat(relinker): unused nid filter fix + cli update 2026-09-09 18:17:10 +03:00
boykopovar febac8978e chore(relinker): protect .rela.plt + static jump_slot 2026-09-09 11:36:47 +03:00
boykopovar 3683c6e894 fix(codegen): classify FF 3 and FF 5 as indirect call instead of return 2026-09-09 10:18:32 +03:00
boykopovar 3b5ae707cd fix(relinker): exact opcode instead of any rip-relative disp in unused nid filter 2026-09-09 10:14:45 +03:00
boykopovar a81a1bf1b5 feat(relinker): upgrade unused import finder via graph 2026-09-09 09:56:52 +03:00
boykopovar e62c08f625 feat(libs): add new functions declarations 2026-09-09 09:12:30 +03:00
boykopovar 24620106c5 fix(nid): sort pe exports and preserve ordinal mappings 2026-09-09 08:46:43 +03:00
boykopovar af77abfa48 feat(relinker): detailed load prx logs for windows 2026-09-09 08:38:11 +03:00
boykopovar a369e0126c feat(libs): nid patching for non-std imports from prx 2026-09-09 08:12:27 +03:00
boykopovar 1078866097 chore(relinker): remove unused imports for windows pe 2026-09-08 18:28:51 +03:00
boykopovar 6af387172a fix(relinker): update elf to windows pe relinking 2026-09-08 18:24:03 +03:00
boykopovar 4f892eeb15 refactor(io): add new byte primitives for windows pe 2026-09-08 17:40:39 +03:00
boykopovar fce86b13b8 feat(relinker): add relinking to windows pe (wip) 2026-09-08 17:18:14 +03:00
boykopovar 81d7adea95 feat(log): log system detalization 2026-09-08 12:10:49 +03:00
boykopovar 13b30f93a9 feat(libSceAgc): libSceAgc shaderCreate impl 2026-09-08 11:16:02 +03:00
boykopovar 8730fa1e6e refactor(libSceAgc): create libSceAgc cmake project structure 2026-09-08 11:03:13 +03:00
boykopovar 814287ef47 feat(libs): libSce types impl + shaders refactor 2026-09-08 10:20:57 +03:00
boykopovar 7cf8576587 feat(build): all libs link libc + libkernel 2026-09-08 09:35:28 +03:00
boykopovar 6e8f04a65a feat(libkernel): cross platform libkernel build 2026-09-08 09:17:39 +03:00
boykopovar fca5dc8782 feat(libc): cross pltaform build 2026-09-08 09:08:00 +03:00
boykopovar 07d1463ae1 fix(libkernel): replace throwing with return err code for invalid len 2026-09-08 00:16:56 +03:00
boykopovar 789699928a fix(relinker): gen r_x86_64_relative relocs for internal ptrs 2026-09-08 00:15:54 +03:00
boykopovar 8ad0a9897d feat(libs): libSceCommonDialog + stub libSceSaveDialog impl 2026-09-07 23:24:55 +03:00
boykopovar ce729fb9c7 fix(libkernel): fix random direct memory bug 2026-09-07 20:39:54 +03:00
boykopovar c5f82f0d5c chore(libc): add fopen error details 2026-09-07 20:06:51 +03:00
boykopovar fdd7049250 fix(libc): fix ftools exports 2026-09-07 19:54:01 +03:00
boykopovar 6c4d6c18b2 fix(libkernel): fix scePthreadCreate sync 2026-09-07 19:13:33 +03:00
boykopovar 5f7ef909f8 feat(libs): libcSceSaveData impl (wip) 2026-09-07 13:42:25 +03:00
boykopovar 96dd0e03dc chore(libs): skip monitor sensor check 2026-09-07 12:44:00 +03:00
boykopovar c3993df466 feat(libs): libScePad partial impl 2026-09-07 12:14:06 +03:00
boykopovar eb3af4e253 feat(libs): libSceuserService partial impl 2026-09-07 11:58:54 +03:00
boykopovar 73f0d15b63 feat(libs): add libSceSystemService impl 2026-09-07 11:53:43 +03:00
boykopovar 5ae2a810e9 feat(libult): add libsceult impl 2026-09-07 11:37:55 +03:00
boykopovar 7592031dc9 feat(libs): add windows branch for get sysmodule info 2026-09-07 11:21:44 +03:00
boykopovar 0bbf0923ef feat(sysmodule): add new modules mapping 2026-09-07 11:17:36 +03:00
boykopovar 14f8c16ac4 fix(libs): add _nid_no_patch_cut postfix and global cxa/unwind exports 2026-09-07 10:56:34 +03:00
boykopovar 1e0fc3f33a feat(libs): add libSysmodule impl 2026-09-07 10:55:32 +03:00
boykopovar bc14e4743c fix(relinker): map zero-flag ps5 load segments as rwx 2026-09-07 10:10:00 +03:00
boykopovar 9d4c87b686 fix(nid): fix updates detections for nid_patcher rerun 2026-09-07 09:55:41 +03:00
boykopovar d5bc6c9f66 refactor(libkernel): remove dup functions 2026-09-07 09:41:47 +03:00
boykopovar 975e4a72d4 refactor(libkernel): refactir direct memory exports organization 2026-09-07 09:08:59 +03:00
boykopovar e77d724a1b feat(libkernel): add pthread module impl(wip) 2026-09-07 08:50:31 +03:00
boykopovar e79f5ebc58 refactor(libkernel): separate direct memory impl 2026-09-07 08:08:31 +03:00
boykopovar 53b20aec77 refactor(nid): separate nid resolving logic 2026-09-07 07:52:09 +03:00
boykopovar 6ecfc35551 feat(libkernel): libkernel direct memory impl 2026-09-06 16:03:29 +03:00
boykopovar 72af167a9f fix(libc): add extern c for not impl helper header 2026-09-06 15:26:09 +03:00
boykopovar 8ac1af0513 fix(libc): no inline for not impl helper 2026-09-06 15:20:07 +03:00
boykopovar b000880913 chore(nid): restore skip nid_no_patch 2026-09-06 15:06:59 +03:00
boykopovar 6123893998 feat(libs): throw not impl ex in every stub 2026-09-06 15:05:04 +03:00
boykopovar 64ed717e77 fix(nid): no skip symbols without nid_postfix 2026-09-06 14:27:22 +03:00
boykopovar ec8faf3ed7 feat(libs): add general not implemented helper 2026-09-06 14:11:05 +03:00
boykopovar 58aef08fe1 feat(nid): add nid_no_patch rule 2026-09-06 13:49:24 +03:00
boykopovar e9f03cbf07 refactor(cli): cli simplification + remove auto output dir 2026-09-06 13:41:02 +03:00
boykopovar 228d95be52 feat(nid): check exported symbols dup 2026-09-06 13:30:17 +03:00
boykopovar ba6d7afc22 refactor(libc): __attribute__ replacing and removing 2026-09-06 13:02:22 +03:00
boykopovar c8391bfb67 refactor(libc): remove non-std link.h 2026-09-06 12:51:24 +03:00
boykopovar 4fd128a40d refactor(libc): remove strings.h linux specific 2026-09-06 12:45:37 +03:00
boykopovar 1752e1d78e refactor(libc): separate platform and compiler specifics in libc 2026-09-06 12:41:33 +03:00
boykopovar 7e61d94b30 feat(libc): print unhandled ex type and what() on terminate 2026-09-06 11:45:06 +03:00
boykopovar 12fb2e928b fix(entry): replace jmpt start with call start + ud2 in relinker 2026-09-06 07:47:22 +03:00
boykopovar baa8a8d9d3 feat(libc): add ex tests + remove bad_alloc dup 2026-09-06 07:30:59 +03:00
boykopovar 57aedfcff0 chore(libs): include exceptions to libc export 2026-09-05 22:32:29 +03:00
boykopovar f449ebb636 fix(libc): fix exception matching + foreign exception handling 2026-09-05 20:13:14 +03:00
boykopovar 36c874e296 feat(libc): implement exception unwinding + array cleanup 2026-09-05 19:54:11 +03:00
boykopovar 6fcbf1f829 feat(libc): init c++ exception runtime for x8664 linux (wip) 2026-09-05 19:34:15 +03:00
boykopovar 9ac0798c09 feat(libc): add new std functions 2026-09-05 19:13:39 +03:00
boykopovar 4945be96ef feat(libs): runtime std dynamic linking for libc 2026-09-05 18:57:58 +03:00
boykopovar 4f760dd6ff feat(libc): add new exception symbols 2026-08-30 14:24:43 +03:00
boykopovar 271a850022 fix(libs): link std lib only to libc prx 2026-08-24 20:47:53 +03:00
boykopovar e82abc96c4 fix(nid): remove jump_slot records filtering 2026-08-22 19:35:34 +03:00
boykopovar a5e09e7e16 feat(libs): add new sceAgcDriver and sceUserServiceTerminate stubs 2026-08-22 17:02:29 +03:00
boykopovar 24f78f57cc feat(libs): implement missing locale and mbstate stubs for libc 2026-08-22 16:50:55 +03:00
boykopovar c27c547810 feat(libs): add locale support funcs to libc 2026-08-22 16:34:48 +03:00
boykopovar 85e3047c04 feat(libs): add atexit and atomic functions to libc 2026-08-22 16:22:19 +03:00
boykopovar a89b9228f1 fix(libs): fix libc building on win 2026-08-22 16:16:11 +03:00
boykopovar 5a1d7525f9 feat(libs): libc impl (wip) 2026-08-22 16:00:29 +03:00
boykopovar efd845fcfd fix(patcher): skip broken needed-library recomputation causing empty dt_needed 2026-08-22 15:21:26 +03:00
boykopovar b1f51a3e4b feat(nid): remap dynamic needed offsets 2026-08-22 14:11:42 +03:00
boykopovar e838a2d9df fix(nid): rebuild ghu hash for patched nid 2026-08-22 11:47:41 +03:00
boykopovar 8672a5cc3d fix(libs): libc export flag name fix 2026-08-22 11:18:42 +03:00
boykopovar b49279e832 fix(nid): update nid computing algorithm 2026-08-22 10:39:19 +03:00
boykopovar 54e66624ec fix(libs): fix nid compute algorithm - no lib name 2026-08-21 17:19:22 +03:00
boykopovar f23cc495f4 fix(nid): rebuild dynstr instead of in-place patch to avoid suffix-merge corruption 2026-08-21 16:24:16 +03:00
boykopovar e2646635d0 feat(libs): add lib ime backend stub 2026-08-21 16:08:10 +03:00
boykopovar 39ebe6a054 feat(libs): add libc shared lib stub 2026-08-21 15:56:03 +03:00
boykopovar 6dfd5a9296 refactor(nid): rename spec cpp + move utils 2026-08-21 15:16:25 +03:00
boykopovar c6550929e9 refactor(nid): windows and linux pathing separating via interface 2026-08-21 15:00:55 +03:00
boykopovar 55a120e318 fix(nid): detect linker suffix-merged symbol names postfixes 2026-08-21 14:45:07 +03:00
boykopovar ca37e667f9 fix(nid): patch linux nid in place + detailed overflow msg 2026-08-21 14:13:58 +03:00
boykopovar 486bb51167 fix(nid): exclude undefined dynamic symbols from elf nid patching 2026-08-21 00:32:00 +03:00
boykopovar 8627076df5 fix(libs): drop std name collisions via nid postfix + remove custom entry point 2026-08-21 00:26:40 +03:00
boykopovar ca38455917 fix(nid): grow export names in place within existing section padding for pe and elf 2026-08-21 00:15:21 +03:00
boykopovar 47099897ac fix(libs): fix libscelibcinternal crt symbol conflict, stray macro in pthread_once, missing typedefs, unnamed params 2026-08-20 23:58:06 +03:00
boykopovar 59bee8d187 feat(libs): add libs function signatures 2026-08-20 23:18:16 +03:00
boykopovar aba18915ba fix(libs): fix nid patching after libs build 2026-08-20 17:32:00 +03:00
boykopovar 9e21a054e0 feat(libs): add rpx library build as libs target 2026-08-20 17:06:41 +03:00
boykopovar dd2481951d feat(elfpatcher): add dt_runpath libs/ support with configurable --rpath flag 2026-08-20 11:01:34 +03:00
boykopovar f786ea6576 fix(elfpatcher): use original dt pltgot vaddr 2026-08-20 09:41:34 +03:00
boykopovar 8236d4e1a2 fix(patcher): keep zero-vaddr code segment and fix stub entry vaddr 2026-08-19 15:40:57 +03:00
boykopovar 4147ca1f4c fix(patcher): preserve offset alignment for extra block vaddr 2026-08-18 19:04:48 +03:00
boykopovar 201c4f1d44 fix(patcher): compute virtual addresses for extra block 2026-08-18 18:59:27 +03:00
boykopovar 948017d734 fix(relinker): add dt pltgot to .dynamic + append elf sym write 24 bytes 2026-08-12 13:46:47 +03:00
boykopovar b62ffe327d feat(code): show count of repalced instructions 2026-08-05 13:57:10 +03:00
boykopovar 8c44cf4a52 feat(cli): cli flag for amd to intel convertion 2026-08-05 13:30:03 +03:00
boykopovar c4e4b6112a feat(code): add spec amd instructions to intel convert infrastructure 2026-08-05 13:18:09 +03:00
boykopovar fca8b8d7eb fix(code): add extrq decoding 2026-08-05 12:41:18 +03:00
boykopovar 1cc102f593 fix(code): fix branch offset recalculation after code removal 2026-08-05 11:09:00 +03:00
boykopovar c3e7b4c14a fix(code): decode setcc, evex, x87, of38/3a, shld/shrd + fix c1/of a4 immediate size bugs 2026-08-05 10:49:02 +03:00
boykopovar ab78ae90e2 fix(code): support vex prefix and imul decoding 2026-08-04 23:16:33 +03:00
boykopovar aeb9adfb33 refactor(code): move decoder opcodes to constexpr in header 2026-08-04 22:32:04 +03:00
boykopovar c14c1467c0 feat(code): throw exception for invalid instruction 2026-08-04 22:27:12 +03:00
boykopovar 2ac8a96d70 feat(code): add instruction rewriter implementation 2026-08-04 22:16:55 +03:00
boykopovar 88fca26a28 refactor(scanner): move scanner from relinker to separated module 2026-08-04 15:28:10 +03:00
boykopovar 9c7570176f refactor(patcher): move magic numbers to headers constexpr 2026-08-04 14:51:08 +03:00
boykopovar 0a44083bbf refactor(patcher): separate linux and windows elf patchers 2026-08-04 14:29:32 +03:00
boykopovar 007ba188bb feat(relinker): simplify got address resolution + validate entry sizes 2026-08-04 13:54:16 +03:00
boykopovar be508d9647 fix(relinker): validate dt_os/dt dynamic tags 2026-08-04 13:35:52 +03:00
boykopovar 39ae562b51 feat(core): relocation tables from pt dynamic instead of hardcoded offset 2026-08-04 13:32:22 +03:00
boykopovar 7689e85d8f refactor(patcher): folders structure for elfpatcher + byte writing di 2026-08-04 10:26:33 +03:00
boykopovar 516f13c327 fix(patcher): verify header block fits before first pt load 2026-08-04 09:49:09 +03:00
boykopovar 49f855cd4b refactor(core): describe original program headers with pt phdr 2026-08-04 09:45:09 +03:00
boykopovar 4f9316d7d7 fix(core): add pt phdr for relocated program headers 2026-08-04 09:36:52 +03:00
boykopovar 0193d5f655 fix(patcher): fix segments for success gdb recognizing 2026-08-04 02:02:03 +03:00
boykopovar 0fe6ad11f4 refactor(core): remove extra targets and cmake lists 2026-08-04 01:24:23 +03:00
boykopovar 850eae37eb refactor(core): separate io from domain logic + di 2026-08-04 00:28:58 +03:00
boykopovar e451fde738 fix(patcher): skip pt note and null-page pt load headers 2026-08-03 23:28:43 +03:00
boykopovar b05f877e15 feat(patcher): gen pt interp + executable entry stub 2026-08-03 23:04:11 +03:00
boykopovar 5718f6931a fix(patcher): create pt load segment for dynamic block 2026-08-03 22:53:39 +03:00
boykopovar 6b6004d974 refactor(relinker): clean arch + remove pipelines from main.cpp 2026-08-03 22:36:29 +03:00
boykopovar a4e7d3028e feat(relink): save output linux elf after checking (wip) 2026-08-03 22:13:15 +03:00
boykopovar 6b3deed7e4 fix(scanner): fix false positive fail from naive byte scan for syscall(wip) 2026-08-03 21:38:06 +03:00
boykopovar fe600cb641 fix(header): support pt dynamic import resolution 2026-08-03 21:32:01 +03:00
boykopovar 340a321cbe fix(header): fix read section headers 2026-08-03 21:22:07 +03:00
boykopovar 4d8fc76ff7 refactor(core): add some nodiscard and const 2026-08-03 21:05:36 +03:00
boykopovar 2654c8eb4b fix(types): update type names to fix bug with gcc 2026-08-03 20:40:27 +03:00
boykopovar 8a7c7c4e0d feat(log): add call reg writer 2026-08-03 20:27:55 +03:00
boykopovar 657ada06b3 initial commit 2026-08-03 20:02:52 +03:00