From a4c1ec389225f2022cd1e54d14136c325eed887c Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Sat, 30 Sep 2023 01:53:38 -0500 Subject: [PATCH] nak: Implement From for SrcRef for more types Part-of: --- src/nouveau/compiler/nak_ir.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/nouveau/compiler/nak_ir.rs b/src/nouveau/compiler/nak_ir.rs index 7332cc52931..3d0487a8280 100644 --- a/src/nouveau/compiler/nak_ir.rs +++ b/src/nouveau/compiler/nak_ir.rs @@ -837,6 +837,32 @@ impl SrcRef { } } +impl From for SrcRef { + fn from(b: bool) -> SrcRef { + if b { + SrcRef::True + } else { + SrcRef::False + } + } +} + +impl From for SrcRef { + fn from(u: u32) -> SrcRef { + if u == 0 { + SrcRef::Zero + } else { + SrcRef::Imm32(u) + } + } +} + +impl From for SrcRef { + fn from(f: f32) -> SrcRef { + f.to_bits().into() + } +} + impl From for SrcRef { fn from(cb: CBufRef) -> SrcRef { SrcRef::CBuf(cb) @@ -966,11 +992,11 @@ impl Src { } pub fn new_imm_u32(u: u32) -> Src { - SrcRef::Imm32(u).into() + u.into() } pub fn new_imm_bool(b: bool) -> Src { - Src::from(if b { SrcRef::True } else { SrcRef::False }) + b.into() } pub fn fabs(&self) -> Src {