mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
[naga wgsl-in] Matrix constructors have only float overloads.
This commit is contained in:
committed by
Teodor Tanasoaia
parent
85dd4048df
commit
fe4d412aea
@@ -346,6 +346,10 @@ impl<'source, 'temp> Lowerer<'source, 'temp> {
|
||||
automatic_conversion_consensus(&components, ctx).map_err(|index| {
|
||||
Error::InvalidConstructorComponentType(spans[index], index as i32)
|
||||
})?;
|
||||
// We actually only accept floating-point elements.
|
||||
let consensus_scalar = consensus_scalar
|
||||
.automatic_conversion_combine(crate::Scalar::ABSTRACT_FLOAT)
|
||||
.unwrap_or(consensus_scalar);
|
||||
ctx.convert_slice_to_common_scalar(&mut components, consensus_scalar)?;
|
||||
let vec_ty = ctx.ensure_type_exists(consensus_scalar.to_inner_vector(rows));
|
||||
|
||||
|
||||
@@ -27,6 +27,10 @@ const xmfpaiafaiai: mat2x2<f32> = mat2x2(1, 2.0, 3, 4);
|
||||
const xmfpaiaiafai: mat2x2<f32> = mat2x2(1, 2, 3.0, 4);
|
||||
const xmfpaiaiaiaf: mat2x2<f32> = mat2x2(1, 2, 3, 4.0);
|
||||
|
||||
const imfpaiaiaiai = mat2x2(1, 2, 3, 4);
|
||||
const imfpafaiaiai = mat2x2(1.0, 2, 3, 4);
|
||||
const imfpafafafaf = mat2x2(1.0, 2.0, 3.0, 4.0);
|
||||
|
||||
const ivispai = vec2(1);
|
||||
const ivfspaf = vec2(1.0);
|
||||
const ivis_ai = vec2<i32>(1);
|
||||
|
||||
@@ -23,6 +23,9 @@ constant metal::float2x2 xmfpafaiaiai = metal::float2x2(metal::float2(1.0, 2.0),
|
||||
constant metal::float2x2 xmfpaiafaiai = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, 4.0));
|
||||
constant metal::float2x2 xmfpaiaiafai = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, 4.0));
|
||||
constant metal::float2x2 xmfpaiaiaiaf = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, 4.0));
|
||||
constant metal::float2x2 imfpaiaiaiai = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, 4.0));
|
||||
constant metal::float2x2 imfpafaiaiai = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, 4.0));
|
||||
constant metal::float2x2 imfpafafafaf = metal::float2x2(metal::float2(1.0, 2.0), metal::float2(3.0, 4.0));
|
||||
constant metal::int2 ivispai = metal::int2(1);
|
||||
constant metal::float2 ivfspaf = metal::float2(1.0);
|
||||
constant metal::int2 ivis_ai = metal::int2(1);
|
||||
|
||||
@@ -15,6 +15,9 @@ const xmfpafaiaiai: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0
|
||||
const xmfpaiafaiai: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
const xmfpaiaiafai: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
const xmfpaiaiaiaf: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
const imfpaiaiaiai: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
const imfpafaiaiai: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
const imfpafafafaf: mat2x2<f32> = mat2x2<f32>(vec2<f32>(1.0, 2.0), vec2<f32>(3.0, 4.0));
|
||||
const ivispai: vec2<i32> = vec2(1);
|
||||
const ivfspaf: vec2<f32> = vec2(1.0);
|
||||
const ivis_ai: vec2<i32> = vec2(1);
|
||||
|
||||
Reference in New Issue
Block a user