Skip to content

Commit b2356e5

Browse files
ryanbreenclaude
andcommitted
feat: per-window GPU textures, cursor texture, alpha blending for VirGL compositing
Add per-window VirGL texture pool (up to 8 slots) with lazy init on first composite, GPU cursor texture (12x18 arrow with transparency), and alpha blend state for cursor rendering. BWM simplified by removing CPU-side mapped buffer blitting — compositing now fully delegated to the kernel's GPU pipeline. - Per-window GPU textures: create_window_texture() with same proven resource creation pattern as COMPOSITE_TEX - Cursor texture: RESOURCE_CURSOR_TEX_ID with alpha channel, uploaded once at init, rendered as alpha-blended quad - VirGL alpha blend: create_blend_alpha() with SRC_ALPHA/INV_SRC_ALPHA - BWM: removed mapped_ptr/blit_pixels_to_fb/blit_client_pixels/occluder logic — ~200 lines of CPU compositing code eliminated - Lazy per-window texture init in handle_composite_windows syscall Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1bf43e4 commit b2356e5

5 files changed

Lines changed: 1286 additions & 347 deletions

File tree

0 commit comments

Comments
 (0)