aboutsummaryrefslogtreecommitdiff
path: root/vgcodec/src/helper.rs
blob: 3aca81d616b7a5c29024f4806e8604c016b63c01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use wgpu::{Queue, Texture, Extent3d};


pub fn write_texture(queue: &Queue, target: &Texture, data: &[u8], size: Extent3d) {
    queue.write_texture(
        wgpu::ImageCopyTexture {
            texture: &target,
            mip_level: 0,
            origin: wgpu::Origin3d::ZERO,
            aspect: wgpu::TextureAspect::All,
        },
        &data,
        wgpu::ImageDataLayout {
            offset: 0,
            bytes_per_row: Some(std::num::NonZeroU32::try_from((size.width * 4) as u32).unwrap()),
            rows_per_image: None,
        },
        size,
    );
}