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