Skip to content

Conversation

@jserv
Copy link
Contributor

@jserv jserv commented Oct 16, 2025

This creates a self-contained built-in renderer implementation. Extract 3 essential screen compositing functions (rgb16_source_argb32, argb32_over_argb32, argb32_source_argb32) to screen-ops.c, which is always compiled regardless of renderer choice.

  • Eliminate ~97.5% of unnecessary compositing code in PIXMAN mode
  • Improve naming consistency following draw-*.c pattern
  • Clear separation between renderer implementations

Summary by cubic

Consolidated compositing primitive ops to make the built-in renderer self-contained and moved 3 essential screen ops to screen-ops.c so they’re always available across renderers. This cuts ~97.5% of unnecessary compositing code in PIXMAN mode and clearly separates renderer implementations.

  • Refactors
    • Added src/screen-ops.c with rgb16_source_argb32, argb32_over_argb32, and argb32_source_argb32.
    • Removed src/primitive.c; bulk compositing ops now live in src/draw-builtin.c when CONFIG_RENDERER_BUILTIN=y.
    • Updated Makefile to always build screen-ops.c and align naming with the draw-*.c pattern.
    • Updated scripts/gen-composite-decls.py to declare essential screen ops and gate bulk ops behind CONFIG_RENDERER_BUILTIN.

This creates a self-contained built-in renderer implementation. Extract
3 essential screen compositing functions (rgb16_source_argb32,
argb32_over_argb32, argb32_source_argb32) to screen-ops.c, which is
always compiled regardless of renderer choice.
- Eliminate ~97.5% of unnecessary compositing code in PIXMAN mode
- Improve naming consistency following draw-*.c pattern
- Clear separation between renderer implementations
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 5 files

@jserv jserv merged commit eb5f9d6 into main Oct 16, 2025
9 checks passed
@jserv jserv deleted the refine-pixman branch October 16, 2025 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants