blob: 14bce0cc10db3e968772d3350a679e19b96151c1 [file] [edit]
// Copyright 2026 the Vello Authors
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! GPU instance data for copies between intermediate textures.
use bytemuck::{Pod, Zeroable};
/// Per-instance data for one copy pass.
#[repr(C)]
#[derive(Debug, Copy, Clone, Pod, Zeroable)]
pub(crate) struct GpuCopyInstance {
/// Origin in the destination texture page, packed as `u16x2`.
pub(crate) dest_texture_origin: u32,
/// Origin in the source texture page, packed as `u16x2`.
pub(crate) source_texture_origin: u32,
/// Width and height of the copied region, packed as `u16x2`.
pub(crate) copy_rect_size: u32,
/// Width and height of the destination texture page, packed as `u16x2`.
pub(crate) dest_texture_size: u32,
}