Skip to content

Commit

Permalink
wgsl-out: vector bitcast
Browse files Browse the repository at this point in the history
  • Loading branch information
DDoS committed Sep 21, 2021
1 parent 98944bb commit 33d489b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
17 changes: 11 additions & 6 deletions src/back/wgsl/writer.rs
Expand Up @@ -1287,12 +1287,17 @@ impl<W: Write> Writer<W> {
)?;
}
TypeInner::Vector { size, .. } => {
write!(
self.out,
"vec{}<{}>",
back::vector_size_str(size),
scalar_kind_str(kind)
)?;
let vector_size_str = back::vector_size_str(size);
let scalar_kind_str = scalar_kind_str(kind);
if convert.is_some() {
write!(self.out, "vec{}<{}>", vector_size_str, scalar_kind_str)?;
} else {
write!(
self.out,
"bitcast<vec{}<{}>>",
vector_size_str, scalar_kind_str
)?;
}
}
TypeInner::Scalar { .. } => {
if convert.is_some() {
Expand Down
2 changes: 1 addition & 1 deletion tests/out/wgsl/operators.wgsl
Expand Up @@ -14,7 +14,7 @@ fn builtins() -> vec4<f32> {
let m1_: vec4<f32> = mix(vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(1.0, 1.0, 1.0, 1.0), vec4<f32>(0.5, 0.5, 0.5, 0.5));
let m2_: vec4<f32> = mix(vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(1.0, 1.0, 1.0, 1.0), 0.10000000149011612);
let b1_: f32 = bitcast<f32>(vec4<i32>(1, 1, 1, 1).x);
let b2_: vec4<f32> = vec4<f32>(vec4<i32>(1, 1, 1, 1));
let b2_: vec4<f32> = bitcast<vec4<f32>>(vec4<i32>(1, 1, 1, 1));
let v_i32_zero: vec4<i32> = vec4<i32>(vec4<f32>(0.0, 0.0, 0.0, 0.0));
return (((((vec4<f32>((vec4<i32>(s1_) + v_i32_zero)) + s2_) + m1_) + m2_) + vec4<f32>(b1_)) + b2_);
}
Expand Down

0 comments on commit 33d489b

Please sign in to comment.