no zip compression
Some checks failed
Build Zenyx ⚡ / 🔧 Setup Environment (push) Successful in 42s
Build Zenyx ⚡ / 🧪 Run Cargo Tests (push) Successful in 57s
Build Zenyx ⚡ / 🏗️ Build aarch64-unknown-linux-gnu (push) Failing after 3m5s
Build Zenyx ⚡ / 🏗️ Build x86_64-unknown-linux-gnu (push) Successful in 2m58s
Some checks failed
Build Zenyx ⚡ / 🔧 Setup Environment (push) Successful in 42s
Build Zenyx ⚡ / 🧪 Run Cargo Tests (push) Successful in 57s
Build Zenyx ⚡ / 🏗️ Build aarch64-unknown-linux-gnu (push) Failing after 3m5s
Build Zenyx ⚡ / 🏗️ Build x86_64-unknown-linux-gnu (push) Successful in 2m58s
This commit is contained in:
parent
b9b5aee363
commit
9601c51172
5 changed files with 28 additions and 13 deletions
|
@ -161,4 +161,5 @@ jobs:
|
|||
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ matrix.binary_name }}.zip
|
||||
path: artifacts
|
||||
path: artifacts
|
||||
compression-level: 0
|
|
@ -309,7 +309,8 @@ impl WgpuState {
|
|||
&queue,
|
||||
&texture_bind_group_layout,
|
||||
);
|
||||
let checkerboard_img = crate::texture::create_checkerboard();
|
||||
use tracing::Instrument;
|
||||
let checkerboard_img = crate::texture::get_checkerboard();
|
||||
let checkerboard_texture =
|
||||
texture::Texture::from_image(&device, &queue, &checkerboard_img, Some("checkerboard"))
|
||||
.unwrap();
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use image::GenericImageView;
|
||||
use std::sync::OnceLock;
|
||||
|
||||
use image::{DynamicImage, GenericImageView, RgbaImage};
|
||||
use thiserror::Error;
|
||||
#[derive(Debug, Error)]
|
||||
pub enum TextureError {
|
||||
|
@ -16,6 +18,7 @@ pub struct Texture {
|
|||
pub sampler: wgpu::Sampler,
|
||||
}
|
||||
impl Texture {
|
||||
|
||||
pub fn from_bytes(
|
||||
device: &wgpu::Device,
|
||||
queue: &wgpu::Queue,
|
||||
|
@ -85,24 +88,33 @@ impl Texture {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
pub fn create_checkerboard() -> image::DynamicImage {
|
||||
let size = 512;
|
||||
let tile_size = 24;
|
||||
let mut img = image::RgbaImage::new(size, size);
|
||||
static CHECKERBOARD_IMAGE: OnceLock<DynamicImage> = OnceLock::new();
|
||||
pub fn create_checkerboard(size: u32, tile_size: u32) -> DynamicImage {
|
||||
let mut img = RgbaImage::new(size, size);
|
||||
let pixels = img.as_mut();
|
||||
let bytes_per_pixel = 4; // RGBA
|
||||
|
||||
for y in 0..size {
|
||||
let tile_y = y / tile_size;
|
||||
for x in 0..size {
|
||||
let tile_x = x / tile_size;
|
||||
let tile_y = y / tile_size;
|
||||
let color = if (tile_x + tile_y) % 2 == 0 {
|
||||
[0, 0, 0, 255]
|
||||
[0, 0, 0, 255]
|
||||
} else {
|
||||
[255, 5, 255, 255]
|
||||
};
|
||||
img.put_pixel(x, y, image::Rgba(color));
|
||||
let pixel_index = (y * size + x) as usize * bytes_per_pixel;
|
||||
pixels[pixel_index..pixel_index + bytes_per_pixel].copy_from_slice(&color);
|
||||
}
|
||||
}
|
||||
|
||||
image::DynamicImage::ImageRgba8(img)
|
||||
}
|
||||
#[tracing::instrument]
|
||||
pub fn get_checkerboard() -> &'static DynamicImage {
|
||||
CHECKERBOARD_IMAGE.get_or_init(|| {
|
||||
let size = 512;
|
||||
let tile_size = 24;
|
||||
create_checkerboard(size, tile_size)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -101,6 +101,7 @@ where
|
|||
fn on_event(&self, event: &Event<'_>, _ctx: Context<'_, S>) {
|
||||
let metadata = event.metadata();
|
||||
let level = *metadata.level();
|
||||
let name = metadata.name();
|
||||
let timestamp = SystemTime::now();
|
||||
#[cfg(feature = "json")]
|
||||
let additional_fields = serde_json::Map::new();
|
||||
|
|
|
@ -50,7 +50,7 @@ fn test_logger_sequential_consistency() {
|
|||
log.level, expected_level,
|
||||
"Log {} has incorrect level: {:?}",
|
||||
i, log.level
|
||||
);
|
||||
);
|
||||
|
||||
let expected_msg = match expected_level {
|
||||
Level::ERROR => format!("Error message {}", expected_count),
|
||||
|
@ -61,7 +61,7 @@ fn test_logger_sequential_consistency() {
|
|||
};
|
||||
|
||||
assert_eq!(
|
||||
log.message, expected_msg,
|
||||
log.message, expected_msg,
|
||||
"Log {} has incorrect message. Expected: '{}', Got: '{}'",
|
||||
i, expected_msg, log.message
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue