tick system, AVX2 UTF-8 decoder, uh faster in general
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
//! Per-pane GPU resources for multi-pane terminal rendering.
|
||||
//!
|
||||
//! This module provides GPU resource management for individual terminal panes,
|
||||
//! following Kitty's VAO-per-window approach where each pane gets its own
|
||||
//! buffers and bind group for independent rendering.
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════════
|
||||
// PER-PANE GPU RESOURCES (Like Kitty's VAO per window)
|
||||
// ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
/// GPU resources for a single pane.
|
||||
/// Like Kitty's VAO, each pane gets its own buffers and bind group.
|
||||
/// This allows uploading each pane's cell data independently before rendering.
|
||||
pub struct PaneGpuResources {
|
||||
/// Cell storage buffer - contains GPUCell array for this pane's visible cells.
|
||||
pub cell_buffer: wgpu::Buffer,
|
||||
/// Grid parameters uniform buffer for this pane.
|
||||
pub grid_params_buffer: wgpu::Buffer,
|
||||
/// Bind group for instanced rendering (@group(1)) - references this pane's buffers.
|
||||
pub bind_group: wgpu::BindGroup,
|
||||
/// Buffer capacity (max cells) - used to detect when buffer needs resizing.
|
||||
pub capacity: usize,
|
||||
}
|
||||
Reference in New Issue
Block a user