Skip to content

Commit acd6a5c

Browse files
committed
cover InsertBits
1 parent 6ed3edb commit acd6a5c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

naga/src/proc/builtins.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ macro_rules! where_clause {
298298

299299
/// Nicer notation for [`TypeSet`] values.
300300
macro_rules! typeset {
301-
( ( vecN or scalar < $scalar:ident > ) ) => (
301+
( ( vecN or scalar < $scalar:tt > ) ) => (
302302
TypeSet {
303303
constructors: ConstructorSet::VECN.union(ConstructorSet::SCALAR),
304304
scalars: scalar!($scalar),
@@ -310,7 +310,7 @@ macro_rules! typeset {
310310
scalars: scalar!($scalar),
311311
}
312312
);
313-
( $scalar:ident ) => (
313+
( $scalar:tt ) => (
314314
TypeSet {
315315
constructors: ConstructorSet::SCALAR,
316316
scalars: scalar!($scalar),
@@ -322,11 +322,14 @@ macro_rules! typeset {
322322
macro_rules! scalar {
323323
( numeric ) => ( ScalarSet::NUMERIC );
324324
( float ) => ( ScalarSet::ANY_FLOAT );
325+
( ( concrete integer ) ) => ( ScalarSet::CONCRETE_INTEGER );
326+
( u32 ) => ( ScalarSet::UINT_32 );
325327
}
326328

327329
/// Nicer notation for [`ReturnType`] values.
328330
macro_rules! return_type {
329331
( T ) => { ReturnType::Match(0) };
332+
( S ) => { ReturnType::Match(1) };
330333
( ( scalar T ) ) => { ReturnType::MatchScalar(0) };
331334
}
332335

@@ -378,6 +381,7 @@ impl crate::MathFunction {
378381
Mf::Atan2 => b!((T, T) -> T where (T: (vecN or scalar<float>))),
379382

380383
Mf::Dot => b!((T, T) -> (scalar T) where (T: (vecN<numeric>))),
384+
Mf::InsertBits => b!((T, T, S, S) -> S where (T: (vecN or scalar<(concrete integer)>), S: u32)),
381385
/*
382386
// Functions of three floating-point arguments, extended
383387
// element-wise to vectors.
@@ -426,7 +430,6 @@ impl crate::MathFunction {
426430
Mf::FaceForward => todo!(),
427431
Mf::Fma => todo!(),
428432
Mf::Frexp => todo!(),
429-
Mf::InsertBits => todo!(),
430433
Mf::Inverse => todo!(),
431434
Mf::Ldexp => todo!(),
432435
Mf::Mix => todo!(),

0 commit comments

Comments
 (0)