aboutsummaryrefslogtreecommitdiff
path: root/vgcodec/src/helper.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
committermetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
commit306f96164784a8cbf405e72fa4364d6523366e95 (patch)
tree51717fc139871baa438aad806f4923669ae0896c /vgcodec/src/helper.rs
parent9cc089e2d6e841879e430b01d2f3d92c8820523e (diff)
downloadvideo-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.bz2
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.zst
old dir
Diffstat (limited to 'vgcodec/src/helper.rs')
-rw-r--r--vgcodec/src/helper.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/vgcodec/src/helper.rs b/vgcodec/src/helper.rs
deleted file mode 100644
index 13f9c1a..0000000
--- a/vgcodec/src/helper.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-use log::info;
-use wgpu::{Extent3d, Queue, Texture};
-
-pub fn write_texture(queue: &Queue, target: &Texture, data: &[u8], size: Extent3d) {
- info!("uploading texture {size:?} ({} bytes)", data.len());
-
- let bytes_per_pixel = std::mem::size_of::<u32>() as u32;
- let unpadded_bytes_per_row = size.width * bytes_per_pixel;
- let align = wgpu::COPY_BYTES_PER_ROW_ALIGNMENT;
- let padded_bytes_per_row_padding = (align - unpadded_bytes_per_row % align) % align;
- let padded_bytes_per_row = unpadded_bytes_per_row + padded_bytes_per_row_padding;
-
- let mut padded = vec![];
- for y in 0..(size.height as usize) {
- for x in 0..(size.width as usize) {
- for c in 0..4 {
- padded.push(data[c + x * 4 + y * 4 * size.width as usize])
- }
- }
- for _ in 0..padded_bytes_per_row_padding {
- padded.push(0)
- }
- }
-
- queue.write_texture(
- wgpu::ImageCopyTexture {
- texture: &target,
- mip_level: 0,
- origin: wgpu::Origin3d::ZERO,
- aspect: wgpu::TextureAspect::All,
- },
- &padded,
- wgpu::ImageDataLayout {
- offset: 0,
- bytes_per_row: Some(std::num::NonZeroU32::try_from(padded_bytes_per_row).unwrap()),
- rows_per_image: None,
- },
- size,
- );
-}