Skip to content
Snippets Groups Projects
Verified Commit 43ef256c authored by Louis's avatar Louis :fire:
Browse files

Pad shader structs to 16 byte layout

parent 161ed4ba
No related branches found
No related tags found
No related merge requests found
......@@ -337,6 +337,9 @@ struct QuadVertex {
#[derive(Copy, Clone, ShaderType)]
struct QuadType {
pub t: i32,
pub _unused_1: i32,
pub _unused_2: i32,
pub _unused_3: i32,
}
pub struct QuadMeta {
......@@ -376,9 +379,10 @@ pub fn prepare_quads(
sprite_meta.types_buffer.clear();
// sprite_meta.types_buffer.reserve(2, &render_device);
let quad_type_offset = sprite_meta.types_buffer.push(QuadType { t: 0 });
let text_type_offset = sprite_meta.types_buffer.push(QuadType { t: 1 });
let image_type_offset = sprite_meta.types_buffer.push(QuadType { t: 2 });
let quad_type_offset = sprite_meta.types_buffer.push(QuadType { t: 0, _unused_1: 0, _unused_2: 0, _unused_3: 0, });
let text_type_offset = sprite_meta.types_buffer.push(QuadType { t: 1, _unused_1: 0, _unused_2: 0, _unused_3: 0, });
let image_type_offset = sprite_meta.types_buffer.push(QuadType { t: 2, _unused_1: 0, _unused_2: 0, _unused_3: 0, });
sprite_meta
.types_buffer
.write_buffer(&render_device, &render_queue);
......
......@@ -7,7 +7,11 @@ var<uniform> view: View;
struct QuadType {
t: i32,
_unused_1: i32,
_unused_2: i32,
_unused_3: i32,
};
@group(2) @binding(0)
var<uniform> quad_type: QuadType;
......@@ -19,6 +23,7 @@ struct VertexOutput {
@location(3) size: vec2<f32>,
@location(4) border_radius: f32,
@location(5) pixel_position: vec2<f32>,
@location(6) _unused: f32,
};
@vertex
......@@ -36,6 +41,7 @@ fn vertex(
out.uv = vertex_uv.xyz;
out.size = vertex_pos_size.zw;
out.border_radius = vertex_uv.w;
out._unused = 0.0;
return out;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment