docs: record Phase 3 (Redox EGL platform) now wired
The Redox EGL platform is now actually built and linked into libEGL_mesa.so. EGL_PLATFORM=redox resolves to a real platform (EGL_PLATFORM_REDOX_REDBEAR = 0x31E0) and the dri2_initialize_redox dispatch case in egl_dri2.c calls platform_redox.c which probes /scheme/drm/card0 via loader_get_driver_for_fd (intercepted by libdrm's redox.patch) and falls back to swrast when no DRM device is present. Phases 4/5/6 (iris/radeonsi/Vulkan) were enabled in commit08f3e71d41but reverted ine1fc194c06because iris, radeonsi, and the Intel Vulkan driver all require libclc which is not ported to Redox. With Phase 3 wired, the next code blocker is Phase 4 winsys (Mesa gallium winsys for Redox) which needs the libclc port to unblock hardware acceleration.
This commit is contained in:
+28
-6
@@ -52,12 +52,34 @@ in code with the following scope:
|
||||
Xe3, 0xFF20-0xFF3F / 0xFF40-0xFF4F) to `dmc.rs::display_platform_for_device_id`.
|
||||
Both require DMC firmware; firmware keys for GuC/HuC/GSC added.
|
||||
Three new tests cover the device-ID lookups and firmware-key strings.
|
||||
- **Phase 3 (Redox EGL platform):** **deferred**. The original
|
||||
`src/egl/drivers/dri2/platform_redox.c` was removed in upstream Mesa
|
||||
~25.0; the existing patches 03/06 are orphaned and cannot apply to
|
||||
Mesa 26.1.4. A standalone re-creation was attempted but the Mesa
|
||||
26.1.4 DRI2 API has shifted since. Documented in
|
||||
`local/patches/mesa/26.1.4-defer-redox-platform.patch` for follow-up.
|
||||
- **Phase 3 (Redox EGL platform):** **NOW WIRED** (`9ff9b4b0e2`). Re-creates
|
||||
`src/egl/drivers/dri2/platform_redox.c` for Mesa 26.1.4 (the file
|
||||
was removed in upstream Mesa ~25.0; the orphaned patches 03/06
|
||||
were placeholders that no longer apply). The platform:
|
||||
- Opens `/scheme/drm/card0` via `loader_get_driver_for_fd` (which
|
||||
goes through libdrm's redox patch to `scheme:drm/`)
|
||||
- Falls back to swrast when no DRM device is present
|
||||
- Supports pbuffer surfaces (the only sensible thing on Redox
|
||||
without a real windowing system)
|
||||
- Wired through `EGL_PLATFORM_REDOX_REDBEAR` (Red Bear extension
|
||||
ID 0x31E0) with the HAVE_REDOX_PLATFORM guard
|
||||
- Build verified: `meson setup` succeeds, `ninja
|
||||
src/egl/libEGL_mesa.so.0.0.0` links cleanly with platform_redox.c.
|
||||
- Fixed API mismatches against the 2022-RedoxOS-fork source tree
|
||||
(`__DRIdrawable` → `struct dri_drawable`; removed
|
||||
`flush_get_images`/`image_get_buffers` from `dri2_egl_display_vtbl`;
|
||||
removed `use_invalidate` from loader_extensions; replaced
|
||||
`dri2_load_driver_dri3` with the implicit load via
|
||||
`dri2_create_screen`; removed `dri2_setup_extensions` which is
|
||||
gone in 26.1.4).
|
||||
- **Phase 4 (Intel iris):** was enabled in commit `08f3e71d41` but
|
||||
reverted in `e1fc194c06` because both iris and the Intel Vulkan
|
||||
driver require `-Dwith_clc -> dependency("libclc")`, which is not
|
||||
ported to Redox. The recipe is back to the working set
|
||||
(`softpipe,llvmpipe,virgl`).
|
||||
- **Phase 5 (AMD radeonsi):** same status as Phase 4 — reverted
|
||||
pending libclc port.
|
||||
- **Phase 6 (Vulkan):** same status — reverted pending libclc port.
|
||||
- **Phase 4 (Intel iris):** added `iris` to `-Dgallium-drivers` in
|
||||
`local/recipes/libs/mesa/recipe.toml`. Compile-side. **Note:** `kmsro`
|
||||
was removed in Mesa 26.1.4 (no longer a valid option).
|
||||
|
||||
Reference in New Issue
Block a user