Merge remote-tracking branch 'origin/rustify' into worktree-agent-a27094a7db775552a
# Conflicts: # docs/IRIS.md
This commit is contained in:
commit
800da46188
8 files changed
+222
-13
No files matched your search
@@ -31,6 +31,31 @@ platform handle. `vm`/`view` are independent handles from the ones
|
||||
`new_peer` keeps for its own `RequestRedraw` (a fresh `get_java_vm`/
|
||||
`new_global_ref` each), so storing them has no effect on that mechanism.
|
||||
|
||||
## 2026-09-05 (later still): `iris_core::device_limits()`, and iris no longer requests compute-shader limits
|
||||
|
||||
New public function, `iris_core::device_limits() -> wgpu::Limits`. Why:
|
||||
`adapter.request_device`'s `required_limits` was `Limits::default()` plus
|
||||
a `max_buffer_size` override in both platform backends, and
|
||||
`Limits::default()` requests desktop-tier compute-shader limits
|
||||
unconditionally (`max_compute_workgroups_per_dimension: 65535`) even
|
||||
though nothing in `iris`/`iris-core` uses a `ComputePipeline` — that
|
||||
crashed device creation outright on a downlevel GL adapter reporting
|
||||
OpenGL ES 3.0 (no compute shaders at all: the Android emulator's
|
||||
`EMU_GPU=software` path, and any real GLES-3.0-only Android device).
|
||||
`device_limits()` is what both `android::render::AndroidRenderer::new`
|
||||
and `default::render::UiRenderer::new` now build their `required_limits`
|
||||
from, so the request cannot drift between the two backends.
|
||||
|
||||
Before: `Limits { max_buffer_size: 1 << 30, ..Default::default() }`
|
||||
inlined in each backend. After: `iris_core::device_limits()`, which is
|
||||
the same thing with the six `max_compute_*` fields additionally zeroed.
|
||||
A caller building its own `DeviceDescriptor` outside these two backends
|
||||
(there are none today, but a third platform backend would want this)
|
||||
should call `device_limits()` rather than reaching for
|
||||
`Limits::default()` directly, unless it genuinely adds a compute pass —
|
||||
in which case it wants the specific compute limits that pass needs, not
|
||||
the desktop-tier default for everything.
|
||||
|
||||
## 2026-09-05 (later the same day): `iris_core::FrameReport` (RUST.md's I5 box)
|
||||
|
||||
New public type, `iris_core::FrameReport` (re-exported from `iris_core`'s
|
||||
|
||||
Reference in new issue
Block a user