github Coder787-source/KytyPlus v4.9

latest release: v5.0
5 hours ago

KytyPlus v4.9

Two follow-ups to last release: Apple Silicon no longer aborts during startup, and a refused
texture allocation gets one more attempt before the run ends.

Apple Silicon startup (issue #18)

  • v4.8 could not start on an M1 at all. Requiring the AGC driver DMEM at a fixed guest address
    was the right instinct but the wrong mechanism: macOS runs the x86_64 build under Rosetta, which
    reserves that range, so the mapping failed outright and the emulator aborted in driver startup
    before a single frame. Last release's MoltenVK fix had already gotten those machines as far as
    this, so v4.8 shipped a regression for them.
  • The preferred address is now a preference, not a demand. It is requested as a fixed mapping
    first, and if the kernel cannot honor it the returned address is used instead — with the driver's
    binding table derived from wherever it actually landed rather than from the constant, which is
    what made the original assertion necessary in the first place. When that happens the log says
    so, naming both addresses.
  • Windows is unaffected: verified there that the preferred address is still granted, so the
    addresses the driver writes are identical to before.

Texture allocation under memory pressure (issue #17)

  • A refused image no longer ends the run on the first attempt. Demon's Souls was dying in
    vkCreateImage with ErrorOutOfDeviceMemory on a 2048x2048, 12-level BC1 texture — about
    2.7 MB. A request that small failing means the device was already full, not that the request was
    unreasonable, so the buffer cache is now trimmed and the creation retried once.
  • The buffer cache only, deliberately. Image creation happens while callers hold the texture
    cache lock, so evicting textures from there would have deadlocked instead of helping.
  • This is containment, not a cure. If nothing is reclaimable the run still ends, and it does
    not explain why memory fills up in the first place.

Known issues

  • Device-memory exhaustion remains the open problem, and it now spans titles: this same release
    window has seen it at image creation and at vkQueueSubmit. The retry paths log a heap dump when
    they trigger, so the next reports should show how close to budget these machines actually were.
  • Apple Silicon startup past this point is unconfirmed by us — no one here has M1 hardware to test
    on, and block-compressed texture support is a likely next obstacle.

Don't miss a new KytyPlus release

NewReleases is sending notifications on new releases.