From 482d54118a733231cdceb4ab8eef2419fbec385e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Thu, 10 Apr 2025 23:25:20 +0200 Subject: [PATCH] Fix missing `_padding` in color conversion pipeline --- wgpu/src/color.rs | 9 ++++++++- wgpu/src/triangle/msaa.rs | 3 +-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/wgpu/src/color.rs b/wgpu/src/color.rs index 0f2c202f..74a452f9 100644 --- a/wgpu/src/color.rs +++ b/wgpu/src/color.rs @@ -22,11 +22,18 @@ pub fn convert( struct Ratio { u: f32, v: f32, + // Padding field for 16-byte alignment. + // See https://docs.rs/wgpu/latest/wgpu/struct.DownlevelFlags.html#associatedconstant.BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED + _padding: [f32; 2], } let ratio = device.create_buffer_init(&wgpu::util::BufferInitDescriptor { label: Some("iced-wgpu::triangle::msaa ratio"), - contents: bytemuck::bytes_of(&Ratio { u: 1.0, v: 1.0 }), + contents: bytemuck::bytes_of(&Ratio { + u: 1.0, + v: 1.0, + _padding: [0.0; 2], + }), usage: wgpu::BufferUsages::COPY_DST | wgpu::BufferUsages::UNIFORM, }); diff --git a/wgpu/src/triangle/msaa.rs b/wgpu/src/triangle/msaa.rs index ceada486..d0449489 100644 --- a/wgpu/src/triangle/msaa.rs +++ b/wgpu/src/triangle/msaa.rs @@ -254,8 +254,7 @@ impl Targets { struct Ratio { u: f32, v: f32, - // Padding field to make Ratio 16 byte aligned - // + // Padding field for 16-byte alignment. // See https://docs.rs/wgpu/latest/wgpu/struct.DownlevelFlags.html#associatedconstant.BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED _padding: [f32; 2], }