Brian DegenhardtandClaude 134c571f29 GV7-0b: GS transfer/move seam — self-contained records + inline executors
Introduce GSBackQueue.h record types for the GS front/back split (GV-7):
TransferRecord (one HOST->LOCAL slice: register snapshots, payload span,
partial-end fixup inputs, cursor init) and MoveRecord (LOCAL->LOCAL blit
registers). FlushWrite and the GSState::Write whole-packet fast path now
build a TransferRecord and hand it to ExecTransferRecord; the TRXDIR
local->local case builds a MoveRecord via SubmitMove and ExecMoveRecord
installs it and runs the unchanged virtual Move chain (HW hack -> TC
move -> software blit). Records are executed inline today; GV7-1 moves
execution to the back thread.

Back-owned effects move into the executors: the m_draw_transfers
upload-queue push (from Write first-packet time to first-slice execution
— order-equivalent because every consumer path passes through FlushWrite
first: TRXDIR handler, FlushDraw, Flush), s_last_transfer_draw_n
stamping, InvalidateVideoMem, the wi() local-memory write, and the
Swizzle perfmon stat (stat_len preserves the fast path's raw-packet
counting). The executor owns the write cursor across slices
(m_exec_tr_x/y), mirrored back into m_tr.x/y inline for savestate
coherence. The staged path invalidates via the live m_env.BITBLTBUF
while the fast path uses m_tr.m_blit — captured per-record in env_blit,
preserving both behaviors exactly.

Gate: gs_vertex_tests 17/17; gsrunner PNG hashes bit-identical to the
GV-0 baselines for all 10 dumps on both vk and sw renderers.

Seam classification: scratchpad/gv7-2026-07/SEAM-AUDIT.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-19 11:26:57 -07:00
2026-07-03 18:45:30 -07:00

yaps2

This is a fork of PCSX2 targeting ARM based linux handheld devices. We're aiming to be performant and compatible on lower end ARM hardware, and adopt a "by any means" philosophy.

Thanks

A massive thank you to the PCSX2 team for 20 years of dedication. yaps2 doesn't meet the rigor required of PCSX2 upstream commits, but maybe someday it will.

The following people worked on the yaps2 fork of this project:

  • bmdhacks
  • tokyovigilante
  • pstef

FAQ

Is it good?

A: Yeah. It's pretty fast.

Where do I get builds of this software?

A: Builds are available in nightly releases of Rocknix and Batocera

Did you vibe code it? I see that claude authors your commits you cheater!

A: This fork was written by seasoned developers using LLM devleopment tools. Our philosophy is focused on results, not policing methodology, and modern LLM tools are the most effective way for us to reach our goals.

Can I contribute?

A: Sure. Send a PR. If it's vibe-coded trash we'll reject it. If it's good we'll use it.

Can I fork this project for my own purposes?

A: Sure. If you do cool stuff we'll probably use your code.

Don't you know about XYZ project that already does this

A: Yes we probably copied a lot of their techniques.

Can I make feature requests or tell you that I don't like what you're doing or how you're doing it?

A: Look, we're not trying to be a serious project here so no.

Can I make bug reports?

A: Absolutely, file a github issue and we might look at it.

S
Description
No description provided
Readme
512 MiB
Languages
C++ 68.2%
Kotlin 9.8%
Swift 7.7%
C 5.6%
Objective-C++ 2.2%
Other 6.4%