Skip to content

Commit 100b148

Browse files
committed
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.
1 parent fe0a71a commit 100b148

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

‎CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ stated otherwise. **Experimental** means local/private combined builds only.
1111

1212
## 2026-10-12
1313

14+
- **Separate experiment / not shipped:** accelerated mipmapped textures and
15+
Sprite3D rendering, retaining the shared-buffer Java fallback. Fixed lost
16+
fractional texture coordinates, rectangular/NPOT mip scaling and stale levels
17+
after image changes. Both devices pass 71 checks; all 18 benchmark scenes
18+
retain exact Java/native pixels. New mipmap/sprite workloads improve about
19+
1.3x/1.6x versus Java, not a game-FPS or legacy-GLES parity claim. Asphalt 3
20+
reaches a running Retroid race. Production engine and public APKs unchanged.
21+
[Implementation and limits](https://github.com/EriArk/JavaEmulator/blob/b624a71e/experiments/m3g-host/native/README.md).
22+
1423
- **Separate experiment / not shipped:** expanded native raster acceleration
1524
to four independent texture layers, all current texture blends and exponential
1625
fog. Fixed zero-density fog tinting for models and sprites. Newly accelerated

‎docs/PROJECT_STATUS.md‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ bundled. The app UI is English.
3535
| 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 |
3636
| 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 |
3737
| 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 |
3939

4040
The experimental number is a distribution label: build 15 still reports
4141
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
414414
retaining their rendering behavior. Main's engine, licensing and release APKs
415415
remain unchanged. [Implementation, checks and measured limits](https://github.com/EriArk/JavaEmulator/blob/3605df3a/experiments/m3g-host/native/README.md).
416416

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+
417440
## Distribution and Licensing Status
418441

419442
The Wolphun author welcomed use of the project and, in a later response,

0 commit comments

Comments
 (0)