You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 100b148
Browse filesBrowse the repository at this point in the historyBrowse files
Update product handoff for native mipmaps and sprites
Record b624a71 implementation, mip sampling/cache fixes, 71 checks on each device and exact 18-scene comparisons. Keep synthetic timings, Retroid smoke evidence, remaining filtering/performance gaps and unreleased production status separate. This commit contains documentation only.
Copy file name to clipboardExpand all lines: docs/PROJECT_STATUS.md
+24-1Lines changed: 24 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ bundled. The app UI is English.
35
35
| Public development source |`main`; latest app-code change at this review: [d39ed742](https://github.com/EriArk/JavaEmulator/commit/d39ed742)| Unreleased Java/UI/storage improvements listed below; not all are in the downloadable beta |
36
36
| Private combined test snapshot |`0.1.0-beta.2-experimental.15`, 2026-10-11 | Handheld and Phone debug APKs containing Java plus experimental Mophun; supplied separately to testers, not a GitHub release |
37
37
| Local-only implementation | Ignored optional-engine source and diagnostics | Mophun integration, game-specific experiments and test fixtures; public descriptions below, implementation not published |
38
-
| Separate research branch |[`codex/m3g-replacement`](https://github.com/EriArk/JavaEmulator/tree/codex/m3g-replacement), code checkpoint `3605df3a`| Native CPU raster acceleration for 1-4 texture layers and both fog modes, with Java fallback; zero-density fog tint fixed. 66 unmeasured Java-game checks per device. New layered/fog benchmark costs improve about 1.7-1.9x versus Java with exact pixels. Earlier combined-Mophun results remain separate; no production-engine switch or public beta |
38
+
| Separate research branch |[`codex/m3g-replacement`](https://github.com/EriArk/JavaEmulator/tree/codex/m3g-replacement), code checkpoint `b624a71e`| Native CPU raster acceleration includes 1-4 texture layers, both fog modes, mipmaps and Sprite3D; fractional mip coordinates and stale levels fixed. 71 unmeasured Java-game checks per device. All 18 Java/native benchmark scenes match; new mip/sprite workloads improve about 1.3x/1.6x versus Java. Earlier combined-Mophun results remain separate; no production-engine switch or public beta |
39
39
40
40
The experimental number is a distribution label: build 15 still reports
41
41
version code **102** and `0.1.0-beta.2` / `0.1.0-beta.2-phone` internally.
@@ -414,6 +414,29 @@ Next implementation work is mipmap selection and sprite acceleration, while
414
414
retaining their rendering behavior. Main's engine, licensing and release APKs
415
415
remain unchanged. [Implementation, checks and measured limits](https://github.com/EriArk/JavaEmulator/blob/3605df3a/experiments/m3g-host/native/README.md).
416
416
417
+
### Mipmaps and sprites: 2026-10-12
418
+
419
+
Moved mipmapped texture sampling and Sprite3D pixel rendering to native code,
420
+
preserving shared depth/color buffers, alpha, crop, filtering and Java fallback.
421
+
Fixed fractional-coordinate loss, width-only scaling of rectangular/NPOT levels,
422
+
and stale mipmaps after image edits or rendering into a texture. The pinned
423
+
upstream checkout remains unchanged; patches are applied during candidate preparation.
424
+
425
+
**Verified:** final Handheld Retroid and Phone emulator each pass 71 checks,
426
+
zero skips. Added 64 mipmapped scene comparisons, 160 sprite combinations,
427
+
fractional-sampling/cache invalidation regressions and malformed-packet checks.
428
+
All 18 same-APK benchmark scenes have identical pixels. Mipmap workloads cost
429
+
about 1.27-1.38x less than Java, sprites 1.57-1.65x less; these are synthetic
430
+
rendering costs, not game FPS. Asphalt 3 reaches a running race on Retroid.
431
+
432
+
The existing spatially dithered mip-level approximation is retained; this is
433
+
not true trilinear filtering. Legacy GLES remains faster, and complete-game,
434
+
audio and production-replacement acceptance are not established by this batch.
435
+
Next: improve remaining filtering/scene-processing gaps with fixes and focused
436
+
comparisons, not a per-title patch collection. Main's engine, licensing and
437
+
release APKs are unchanged.
438
+
[Implementation, artifact hashes and timings](https://github.com/EriArk/JavaEmulator/blob/b624a71e/experiments/m3g-host/native/README.md).
439
+
417
440
## Distribution and Licensing Status
418
441
419
442
The Wolphun author welcomed use of the project and, in a later response,
0 commit comments