ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
emu_view_surface_internal.h File Reference

Internal streamed panel/composite builder seam. More...

#include <unicorn/unicorn.h>
#include "board_overlay.h"
#include "emu_presentation.h"
#include "ra8_attributes.h"
Include dependency graph for emu_view_surface_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool priv_emu_view_surface_build (uc_engine *uc, emu_presentation_workspace_t *presentation, const board_status_t *status)
 Build one exact fd-backed composite from live engine and status state.

Detailed Description

Internal streamed panel/composite builder seam.

Declares the cross-translation-unit builder that snapshots live GLCDC state into the caller-owned descriptor-backed presentation workspace and composes the board overlay in bounded tiles.

Since
0.1.0

Definition in file emu_view_surface_internal.h.

Function Documentation

◆ priv_emu_view_surface_build()

bool priv_emu_view_surface_build ( uc_engine * uc,
emu_presentation_workspace_t * presentation,
const board_status_t * status )

Build one exact fd-backed composite from live engine and status state.

Build one exact fd-backed composite from live engine and status state; this step is contained within the emu view surface model and uses bounded caller or module-owned storage.

Parameters
[in,out]ucUnicorn engine whose emulated state is read or updated.
[in,out]presentationDescriptor-backed presentation workspace accessed by the operation.
[in]statusStatus value consumed or published by the operation.
Returns
The emu view surface build result produced by the emu view surface model.
Return values
trueThe emu view surface build condition holds or completed successfully; false otherwise.
Precondition
Arguments satisfy the ranges documented for emu view surface build.
The call executes on the emulator's single owning thread.
Postcondition
State changes remain confined to the emu view surface model and documented output objects.
Ownership of caller-supplied storage is unchanged.
Note
The operation is synchronous and does not transfer heap ownership.
Since
0.1.0

Definition at line 218 of file emu_view_surface.c.

References board_overlay_draw_sidebar(), emu_presentation_workspace_t::composite_height, emu_presentation_workspace_t::composite_width, emu_presentation_workspace_t::display_height, emu_presentation_workspace_t::display_width, emu_presentation_fill(), emu_presentation_workspace_t::fd, internal_layer(), internal_rgb888_to_565(), internal_write_layer(), k_glcdc_bg_bgc, k_surface_rgb_mask, mmio_peek(), emu_presentation_workspace_t::panel_height, and emu_presentation_workspace_t::panel_width.

Referenced by build_composite().