boykopovar
4503ec54af
Merge pull request #260 from adriadam10/fix/vop3-compare-neg
...
fix(shader): accept neg on VOP3-encoded float compares
2026-10-02 22:22:18 +03:00
boykopovar
2af9dda269
Merge pull request #255 from adriadam10/feat/scalar-bit-count-ops
...
feat(shader): implement s_bcnt0_i32_b64, s_ff0_i32_b64, s_flbit_i32(_i64), s_quadmask_b32
2026-10-02 22:21:49 +03:00
boykopovar
d399b4e04c
Merge pull request #245 from RomainROCH/codex/fix-windows-directory-close
...
fix(libkernel): clear directory metadata on close
2026-10-02 22:21:30 +03:00
boykopovar
41cb304326
Merge pull request #244 from RomainROCH/codex/fix-save-replacement
...
fix(savedata): preserve existing saves on replace failure
2026-10-02 22:20:58 +03:00
boykopovar
74bdce6f04
Merge pull request #232 from MichonGoddijn231849/fix/guest-read-destination
...
fix(libkernel): read, pread, AIO and APR write into guest memory as host writes
2026-10-02 22:19:46 +03:00
boykopovar
7db340de2b
Merge pull request #231 from MichonGoddijn231849/fix/guest-arena-reserve
...
fix(libc): reserve the guest arena at its fixed range around what Windows already placed in it
2026-10-02 22:15:26 +03:00
boykopovar
1cc9874ac1
Merge pull request #227 from adriadam10/feat/png-enc
...
feat(libScePngEnc): implement PNG encoding
2026-10-02 22:08:05 +03:00
boykopovar
4c7a9ea2b0
Merge pull request #226 from asimplestray/feat/shader-mimg-gather-sample
...
feat(shader): implement MIMG sample/gather flag variants
2026-10-02 22:07:36 +03:00
boykopovar
5572f6b143
Merge pull request #399 from boykopovar/fix/f16-nle-compare-lowering
...
fix(shader): lower f16 NLE comparisons through swapped unordered less…
2026-10-02 22:06:31 +03:00
boykopovar
0032decb6a
ci(tests): run build tests three times
2026-10-02 22:02:20 +03:00
boykopovar
329c007514
Merge pull request #402 from boykopovar/docs/build-and-manual-md
...
Docs/build and manual md
2026-10-02 21:59:32 +03:00
boykopovar
545b137097
docs(usage): add relinker usage md doc
2026-10-02 21:50:35 +03:00
boykopovar
ee6a4a00f4
docs(build): add prject build md instruction
2026-10-02 21:40:38 +03:00
boykopovar
a80d1fd09b
fix(shader): lower f16 NLE comparisons through swapped unordered less-than
2026-10-02 21:17:18 +03:00
asimplestray
f6e689de2f
feat(shader): implement MIMG sample/gather flag variants
2026-10-02 15:59:39 +00:00
boykopovar
313de1c5a3
Merge pull request #289 from SP4C3B4R-8/feat/missing-exports
...
feat(libs): declare missing AudioPropagation, AudioIn, NpSessionSignaling and dialog exports
2026-10-02 16:51:14 +03:00
boykopovar
a4157bbeee
Merge pull request #355 from DotDebian/feat/map-named-flexible-memory-internal
...
feat(libkernel): implement sceKernelMapNamedFlexibleMemoryInternal
2026-10-02 16:45:58 +03:00
boykopovar
0a2f99147f
Merge pull request #296 from Pouare514/feat/libSceJpegDec
...
feat(libSceJpegDec): implement JPEG decoding
2026-10-02 16:45:18 +03:00
boykopovar
e00b491465
Merge pull request #286 from SP4C3B4R-8/feat/windows-mapping-hints
...
feat(libkernel): support mapping address hints and no-overwrite fixed mappings on Windows
2026-10-02 16:41:43 +03:00
DotDebian
74fcea27f8
feat(libkernel): implement sceKernelMapNamedFlexibleMemoryInternal
...
libkernel did not export sceKernelMapNamedFlexibleMemoryInternal, which
the libc bundled with SDK 9 titles imports. It now forwards to
sceKernelMapNamedFlexibleMemory: the mapping counts against the flexible
budget, gets the range name and is released by sceKernelMunmap. Older
libc builds call the public function at the same sites with the same
arguments and result handling.
The known callers pass flag 0x8000, whose meaning is unknown. It is
still rejected as an unsupported mapping flag and is recorded in
TechnicalDebt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 14:08:58 +02:00
Pouare514
8bd9670ab0
feat(libSceJpegDec): implement JPEG decoding
2026-10-02 13:34:41 +02:00
boykopovar
e1654a97e5
Merge pull request #259 from adriadam10/feat/vopc-compare-gaps
...
feat(shader): implement the missing non-f64 VOPC compares
2026-10-02 11:14:37 +03:00
boykopovar
8ed9e7ab5e
Merge pull request #257 from adriadam10/feat/vop3-integer-gaps
...
feat(shader): VOP3 v_add/sub_nc_i32 (clamp), v_mul_lo_u16, 16-bit mads, v_ashrrev_i64
2026-10-02 11:13:30 +03:00
boykopovar
623c0d8dc6
Merge pull request #254 from adriadam10/fix/shader-writelane
...
fix(shader): select the written lane in v_writelane_b32
2026-10-02 11:13:02 +03:00
Adrià Franch
58f90eea9d
feat(libScePngEnc): implement PNG encoding
...
scePngEncQueryMemorySize, scePngEncCreate, scePngEncEncode and
scePngEncDelete encode R8G8B8A8 and B8G8R8A8 images with a pitch into
RGB or RGBA PNGs using the shared encoder in core/Decoder/Png.
Decoder::Png::Encode takes optional compression level and filter
options so the encode parameters are honoured.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 10:00:32 +02:00
Adrià Franch
f3f9b4fff7
feat(shader): implement s_bcnt0_i32_b64, s_ff0_i32_b64, s_flbit_i32(_i64), s_quadmask_b32
...
The decoder threw for these SOP1 opcodes. The 64-bit find-first-zero and
signed leading-bit counts reuse the existing 64-bit helpers with a flag;
s_quadmask_b32 is the 32-bit half of s_quadmask_b64. s_bcnt0 and s_quadmask
set SCC to result != 0; the find and leading-bit forms leave it.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:59:47 +02:00
Adrià Franch
24f959b48c
fix(shader): select the written lane in v_writelane_b32
...
The WriteLane IR takes {value, lane, previous}, as the translation and the
read-lane eliminator use it, but the SPIR-V emitter compared the lane id with
the previous value and selected between the lane index and the value. Every
v_writelane therefore wrote its value to all lanes (or the lane index to the
lane whose old value happened to equal its id).
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:59:37 +02:00
boykopovar
01eaae0bf9
Merge pull request #253 from adriadam10/feat/shader-cache-hint-noops
...
feat(shader): decode cache invalidations and performance hints as no-ops
2026-10-02 10:50:20 +03:00
boykopovar
9b3927b4ea
Merge pull request #252 from adriadam10/feat/vop3-f16-ubyte-aliases
...
feat(shader): VOP3 v_max/min_f16, v_cvt_f32_f16/ubyte and abs/neg on f16 binaries
2026-10-02 10:49:58 +03:00
boykopovar
29364c33d8
Merge pull request #248 from adriadam10/feat/ngs2-atrac9
...
feat(libSceNgs2.native): decode ATRAC9 sampler voices, parse and size ATRAC9 waveforms
2026-10-02 10:47:15 +03:00
boykopovar
4eab28c1fa
Merge pull request #241 from adriadam10/feat/audio-legacy
...
refactor(audio): drop duplicated stub exports from libSceAudio
2026-10-02 10:35:29 +03:00
boykopovar
194ea62ff9
Merge pull request #228 from adriadam10/feat/ajm-from-native
...
refactor(ajm): drop duplicated stub exports from libSceAjm and libSceAjmi
2026-10-02 10:35:05 +03:00
boykopovar
a0eb90559e
Merge pull request #237 from adriadam10/fix/ajm-mp3-s16p
...
fix(ajm): convert planar 16-bit MP3 output from FFmpeg
2026-10-02 10:34:44 +03:00
boykopovar
409c41cc6a
Merge pull request #236 from adriadam10/feat/audiodec
...
feat(libSceAudiodec): decode MP3, M4AAC and ATRAC9
2026-10-02 10:34:11 +03:00
boykopovar
8cad51d19e
Merge pull request #247 from adriadam10/feat/ngs2-core
...
feat(libSceNgs2.native): implement system, racks, voices and PCM rendering
2026-10-02 10:33:53 +03:00
boykopovar
2d0e706fc7
Merge pull request #246 from oneandonlydean/fix/agc-keys-fill-clear-hold
...
fix(agc): end a key fill's hold when the fill clears the image at once
2026-10-02 10:33:28 +03:00
boykopovar
08e6a57662
Merge pull request #251 from adriadam10/ci/gpu-tests-lavapipe
...
ci: run the shader execution tests on lavapipe
2026-10-02 10:32:21 +03:00
boykopovar
fbfe6bb13b
Merge pull request #249 from MichonGoddijn231849/fix/fast-texture-filled-keys
...
fix(agc): the stage-A fast path leaves a view of a pending image whose keys were filled to the full lookup
2026-10-02 10:30:29 +03:00
Adrià Franch
69bd750c46
feat(libSceNgs2.native): decode ATRAC9 sampler voices, parse and size ATRAC9 waveforms
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:24:46 +02:00
Adrià Franch
90295d3733
feat(libSceNgs2.native): implement system, racks, voices and PCM rendering
...
libSceNgs2 keeps its stubs; its types now come from the .native header.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:24:46 +02:00
Adrià Franch
569c2ec56c
feat(libSceAudiodec): decode MP3, M4AAC and ATRAC9
...
All six exports are implemented: MP3 and AAC (ADTS or raw blocks) are
decoded with the bundled FFmpeg and ATRAC9 with LibAtrac9, one unit per
call, into interleaved S16 or float PCM, with the libSceAudiodec
validation and error codes. libSceAudiodec.native is built from the same
sources.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:22:59 +02:00
Adrià Franch
2036697758
fix(ajm): convert planar 16-bit MP3 output from FFmpeg
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:20:45 +02:00
Adrià Franch
e3fa37f60a
refactor(audio): drop duplicated stub exports from libSceAudio
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:16:34 +02:00
Adrià Franch
14e13219ee
refactor(ajm): drop duplicated stub exports from libSceAjm and libSceAjmi
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 09:16:34 +02:00
boykopovar
c00bc19c0d
Merge pull request #222 from YossiYad/feat/windows-tls-load-registers
...
feat(relinker): load the fs:[0] thread pointer into any register in Windows guest code
2026-10-02 10:06:12 +03:00
boykopovar
56aa800ef0
Merge pull request #220 from asimplestray/feat/shader-sop1-saveexec
...
feat(shader): implement SOP1 saveexec/wrexec family
2026-10-02 09:46:06 +03:00
boykopovar
5544b774e3
Merge pull request #292 from MichonGoddijn231849/split/offline-services
...
feat(libs): offline services GTA V reaches in Story Mode
2026-10-02 09:45:03 +03:00
Adrià Franch
d06883aeff
fix(shader): select the written lane in v_writelane_b32
...
The WriteLane IR takes {value, lane, previous}, as the translation and the
read-lane eliminator use it, but the SPIR-V emitter compared the lane id with
the previous value and selected between the lane index and the value. Every
v_writelane therefore wrote its value to all lanes (or the lane index to the
lane whose old value happened to equal its id).
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 06:18:55 +02:00
asimplestray
f2bfdd26f9
feat(shader): implement SOP1 saveexec/wrexec family
2026-10-02 00:22:41 +00:00
SP4C3B4R-8
d56ce19531
docs: record unknown NIDs of the newly declared exports
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:44:31 +02:00