Publish Chimera GFX source
phase0-ci / build-and-audit (push) Successful in 2m14s

This commit is contained in:
Chimera GFX release export
2026-09-03 03:27:14 +02:00
commit a6037502d7
828 changed files with 100454 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
# RetroArch adapter boundary
The compiled scaffold exposes a dependency-free query contract. It reports
RGUI and SDL software fallback as the intended integration path, but reports
software-frame binding not yet implemented and hardware contexts unavailable.
Every hardware-context request returns `SAFETY_POLICY`.
The future driver lifecycle is: initialize a `chimera_gfx_context`, create one
surface, create/reuse textures for software core frames, upload a frame, present
through the selected backend, then destroy texture, surface, and context in
that order. No RetroArch private type or header enters the public library API.
+28
View File
@@ -0,0 +1,28 @@
/* SPDX-License-Identifier: GPL-3.0-or-later */
#include <chimera/gfx/adapters/retroarch.h>
chimera_gfx_status chimera_gfx_retroarch_query_scaffold(
chimera_gfx_retroarch_adapter_info *out_info) {
if (out_info == NULL || out_info->struct_size < sizeof(*out_info)) {
return CHIMERA_GFX_STATUS_INVALID_ARGUMENT;
}
out_info->struct_size = sizeof(*out_info);
out_info->api_version = CHIMERA_GFX_API_VERSION;
out_info->accepts_software_frames = 0u;
out_info->supports_hardware_contexts = 0u;
out_info->supports_rgui = 1u;
out_info->has_sdl_software_fallback = 1u;
return CHIMERA_GFX_STATUS_OK;
}
chimera_gfx_status
chimera_gfx_retroarch_bind_scaffold(chimera_gfx_context *context,
uint32_t request_hardware_context) {
if (context == NULL) {
return CHIMERA_GFX_STATUS_INVALID_ARGUMENT;
}
if (request_hardware_context != 0u) {
return CHIMERA_GFX_STATUS_SAFETY_POLICY;
}
return CHIMERA_GFX_STATUS_UNSUPPORTED;
}
+11
View File
@@ -0,0 +1,11 @@
# SDL2 renderer adapter boundary
The compiled scaffold reports that no accelerated renderer exists and that the
current PS5 window, VideoOut, input, and audio facilities must remain owned by
SDL. Acceleration requests return `SAFETY_POLICY`; non-accelerated creation is
`UNSUPPORTED` until the real adapter phase.
The future renderer will translate SDL textures and presents to the stable
`libchimera-gfx` resource lifecycle without replacing SDL's platform backends.
The Phase-1 clear-frame sample is evidence for the existing SDL VideoOut route,
not an accelerated renderer implementation.
+28
View File
@@ -0,0 +1,28 @@
/* SPDX-License-Identifier: GPL-3.0-or-later */
#include <chimera/gfx/adapters/sdl2.h>
chimera_gfx_status
chimera_gfx_sdl2_query_scaffold(chimera_gfx_sdl2_adapter_info *out_info) {
if (out_info == NULL || out_info->struct_size < sizeof(*out_info)) {
return CHIMERA_GFX_STATUS_INVALID_ARGUMENT;
}
out_info->struct_size = sizeof(*out_info);
out_info->api_version = CHIMERA_GFX_API_VERSION;
out_info->accelerated_renderer_available = 0u;
out_info->reuses_ps5_window_backend = 1u;
out_info->reuses_ps5_input_audio = 1u;
out_info->software_fallback_required = 1u;
return CHIMERA_GFX_STATUS_OK;
}
chimera_gfx_status
chimera_gfx_sdl2_create_renderer_scaffold(chimera_gfx_context *context,
uint32_t request_acceleration) {
if (context == NULL) {
return CHIMERA_GFX_STATUS_INVALID_ARGUMENT;
}
if (request_acceleration != 0u) {
return CHIMERA_GFX_STATUS_SAFETY_POLICY;
}
return CHIMERA_GFX_STATUS_UNSUPPORTED;
}