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

Everything ez_scene_init needs: storage and framebuffer geometry. More...

#include <ez_scene.h>

Collaboration diagram for ez_scene_cfg_t:

Data Fields

void * fb
 Framebuffer base (hashed by the golden).
uint32_t fb_bytes
 Framebuffer size, bytes.
int32_t fb_w
 Framebuffer width, pixels.
int32_t fb_h
 Framebuffer height, pixels.
uint8_t * cell_mem
 k_ez_cells * k_ez_cell_bytes bytes.
ra8_keycache_cell_tmeta
 k_ez_cells link-metadata entries.
ra8_tile_key_tkeys
 k_ez_cells key entries.
ra8_tile_dims_tdims
 k_ez_cells dimension entries.
int32_t * buckets
 k_ez_buckets hash-bucket heads.
uint8_t * row
 k_ez_row_bytes composite row.
uint8_t * strip
 k_ez_strip_bytes composite strip.
uint8_t * packed
 k_ez_packed_bytes packed strip.

Detailed Description

Everything ez_scene_init needs: storage and framebuffer geometry.

Every pointer is borrowed and must outlive the scene. The cache arrays are the six ra8_tile_cache_cfg_t needs; the three scratch buffers are the composite's. The framebuffer is carried here (as well as being bound into ra8_gfx) because the scene hashes it for the golden, and ra8_gfx exposes no accessor for the binding.

Invariant
Every pointer is non-NULL and every capacity matches its enum.
Example:
const ez_scene_cfg_t cfg = { .fb_w = 1024, .fb_h = 600, .cell_mem = s_cells, ... };
static uint8_t s_cells[(size_t) k_ls_cells *(size_t) k_ls_band_bytes]
Tile-cache cell storage in SDRAM (one decoded band per cell).
Definition main.c:259
Everything ez_scene_init needs: storage and framebuffer geometry.
Definition ez_scene.h:252
See also
ez_scene_init
Since
0.1.0

Definition at line 252 of file ez_scene.h.

Field Documentation

◆ buckets

int32_t* ez_scene_cfg_t::buckets

k_ez_buckets hash-bucket heads.

Definition at line 261 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_cfg_ptrs_ok().

◆ cell_mem

uint8_t* ez_scene_cfg_t::cell_mem

k_ez_cells * k_ez_cell_bytes bytes.

Definition at line 257 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_cfg_ptrs_ok().

◆ dims

ra8_tile_dims_t* ez_scene_cfg_t::dims

k_ez_cells dimension entries.

Definition at line 260 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_cfg_ptrs_ok().

◆ fb

void* ez_scene_cfg_t::fb

Framebuffer base (hashed by the golden).

Definition at line 253 of file ez_scene.h.

Referenced by ez_cfg_ptrs_ok(), and ez_scene_init().

◆ fb_bytes

uint32_t ez_scene_cfg_t::fb_bytes

Framebuffer size, bytes.

Definition at line 254 of file ez_scene.h.

Referenced by ez_scene_init().

◆ fb_h

int32_t ez_scene_cfg_t::fb_h

Framebuffer height, pixels.

Definition at line 256 of file ez_scene.h.

Referenced by ez_scene_init().

◆ fb_w

int32_t ez_scene_cfg_t::fb_w

Framebuffer width, pixels.

Definition at line 255 of file ez_scene.h.

Referenced by ez_scene_init().

◆ keys

ra8_tile_key_t* ez_scene_cfg_t::keys

k_ez_cells key entries.

Definition at line 259 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_cfg_ptrs_ok().

◆ meta

ra8_keycache_cell_t* ez_scene_cfg_t::meta

k_ez_cells link-metadata entries.

Definition at line 258 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_cfg_ptrs_ok().

◆ packed

uint8_t* ez_scene_cfg_t::packed

k_ez_packed_bytes packed strip.

Definition at line 264 of file ez_scene.h.

Referenced by ez_cfg_scratch_ok(), and ez_scratch_of().

◆ row

uint8_t* ez_scene_cfg_t::row

k_ez_row_bytes composite row.

Definition at line 262 of file ez_scene.h.

Referenced by ez_cfg_scratch_ok(), and ez_scratch_of().

◆ strip

uint8_t* ez_scene_cfg_t::strip

k_ez_strip_bytes composite strip.

Definition at line 263 of file ez_scene.h.

Referenced by ez_cfg_scratch_ok(), and ez_scratch_of().


The documentation for this struct was generated from the following file:
  • examples/ek_ra8d2/hw_pending/ereader_zoom/inc/ez_scene.h