Skip to content

Commit 3e4d24e

Browse files
authored
Remove dead code from naga::back. (gfx-rs#7350)
The `#![allow(dead_code)]` on the module was hiding dead code in the child modules. I changed it to be conditional on actually having no backends enabled. (Note that with gfx-rs#7349, there would actually be no warnings and we could remove the `allow(dead_code)` entirely, but I expect that state of affairs won’t necessarily persist.)
1 parent d55bb29 commit 3e4d24e

8 files changed

Lines changed: 15 additions & 41 deletions

File tree

naga/src/back/continue_forward.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ impl ContinueCtx {
185185
/// Resets internal state.
186186
///
187187
/// Use this to reuse memory between writing sessions.
188+
#[allow(dead_code, reason = "only used by some backends")]
188189
pub fn clear(&mut self) {
189190
self.stack.clear();
190191
}

naga/src/back/glsl/mod.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ pub(crate) const FREXP_FUNCTION: &str = "naga_frexp";
8989
// Must match code in glsl_built_in
9090
pub const FIRST_INSTANCE_BINDING: &str = "naga_vs_first_instance";
9191

92+
#[cfg(any(feature = "serialize", feature = "deserialize"))]
9293
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
9394
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
9495
struct BindingMapSerialization {
@@ -130,13 +131,6 @@ impl crate::AtomicFunction {
130131
}
131132

132133
impl crate::AddressSpace {
133-
const fn is_buffer(&self) -> bool {
134-
match *self {
135-
crate::AddressSpace::Uniform | crate::AddressSpace::Storage { .. } => true,
136-
_ => false,
137-
}
138-
}
139-
140134
/// Whether a variable with this address space can be initialized
141135
const fn initializable(&self) -> bool {
142136
match *self {

naga/src/back/hlsl/help.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1777,8 +1777,6 @@ impl<W: Write> super::Writer<'_, W> {
17771777
) -> BackendResult {
17781778
use crate::back::INDENT;
17791779

1780-
const RETURN_VARIABLE_NAME: &str = "ret";
1781-
17821780
// Write function return type and name
17831781
if let crate::TypeInner::Array { base, size, .. } = module.types[zero_value.ty].inner {
17841782
write!(self.out, "typedef ")?;

naga/src/back/hlsl/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ pub struct OffsetsBindTarget {
151151
pub size: u32,
152152
}
153153

154+
#[cfg(any(feature = "serialize", feature = "deserialize"))]
154155
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
155156
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
156157
struct BindingMapSerialization {
@@ -270,6 +271,7 @@ impl Default for SamplerHeapBindTargets {
270271
}
271272
}
272273

274+
#[cfg(any(feature = "serialize", feature = "deserialize"))]
273275
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
274276
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
275277
struct SamplerIndexBufferBindingSerialization {
@@ -301,6 +303,7 @@ where
301303
pub type SamplerIndexBufferBindingMap =
302304
alloc::collections::BTreeMap<SamplerIndexBufferKey, BindTarget>;
303305

306+
#[cfg(any(feature = "serialize", feature = "deserialize"))]
304307
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
305308
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
306309
struct DynamicStorageBufferOffsetTargetSerialization {

naga/src/back/mod.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
/*!
22
Backend functions that export shader [`Module`](super::Module)s into binary and text formats.
33
*/
4-
#![allow(dead_code)] // can be dead if none of the enabled backends need it
4+
#![cfg_attr(
5+
not(any(dot_out, glsl_out, hlsl_out, msl_out, spv_out, wgsl_out)),
6+
allow(
7+
dead_code,
8+
reason = "shared helpers can be dead if none of the enabled backends need it"
9+
)
10+
)]
511

612
use alloc::string::String;
713

naga/src/back/msl/mod.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ pub struct BindTarget {
6868
pub mutable: bool,
6969
}
7070

71+
#[cfg(any(feature = "serialize", feature = "deserialize"))]
7172
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
7273
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
7374
struct BindingMapSerialization {
@@ -588,13 +589,6 @@ impl ResolvedBinding {
588589
}
589590
}
590591

591-
const fn as_bind_target(&self) -> Option<&BindTarget> {
592-
match *self {
593-
Self::Resource(ref target) => Some(target),
594-
_ => None,
595-
}
596-
}
597-
598592
fn try_fmt<W: Write>(&self, out: &mut W) -> Result<(), Error> {
599593
write!(out, " [[")?;
600594
match *self {

naga/src/back/msl/writer.rs

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ struct TypeContext<'a> {
149149
gctx: proc::GlobalCtx<'a>,
150150
names: &'a FastHashMap<NameKey, String>,
151151
access: crate::StorageAccess,
152-
binding: Option<&'a super::ResolvedBinding>,
153152
first_time: bool,
154153
}
155154

@@ -323,7 +322,6 @@ struct TypedGlobalVariable<'a> {
323322
names: &'a FastHashMap<NameKey, String>,
324323
handle: Handle<crate::GlobalVariable>,
325324
usage: valid::GlobalUse,
326-
binding: Option<&'a super::ResolvedBinding>,
327325
reference: bool,
328326
}
329327

@@ -356,7 +354,6 @@ impl TypedGlobalVariable<'_> {
356354
gctx: self.module.to_ctx(),
357355
names: self.names,
358356
access: storage_access,
359-
binding: self.binding,
360357
first_time: false,
361358
};
362359

@@ -1513,7 +1510,6 @@ impl<W: Write> Writer<W> {
15131510
gctx: module.to_ctx(),
15141511
names: &self.names,
15151512
access: crate::StorageAccess::empty(),
1516-
binding: None,
15171513
first_time: false,
15181514
};
15191515
write!(self.out, "{ty_name} {{}}")?;
@@ -1524,7 +1520,6 @@ impl<W: Write> Writer<W> {
15241520
gctx: module.to_ctx(),
15251521
names: &self.names,
15261522
access: crate::StorageAccess::empty(),
1527-
binding: None,
15281523
first_time: false,
15291524
};
15301525
write!(self.out, "{ty_name}")?;
@@ -3050,7 +3045,6 @@ impl<W: Write> Writer<W> {
30503045
gctx: context.module.to_ctx(),
30513046
names: &self.names,
30523047
access: crate::StorageAccess::empty(),
3053-
binding: None,
30543048
first_time: false,
30553049
};
30563050
write!(self.out, "{ty_name}")?;
@@ -3993,7 +3987,6 @@ impl<W: Write> Writer<W> {
39933987
gctx: module.to_ctx(),
39943988
names: &self.names,
39953989
access: crate::StorageAccess::empty(),
3996-
binding: None,
39973990
first_time: false,
39983991
};
39993992

@@ -4049,7 +4042,6 @@ impl<W: Write> Writer<W> {
40494042
gctx: module.to_ctx(),
40504043
names: &self.names,
40514044
access: crate::StorageAccess::empty(),
4052-
binding: None,
40534045
first_time: false,
40544046
};
40554047
writeln!(
@@ -4079,7 +4071,6 @@ impl<W: Write> Writer<W> {
40794071
gctx: module.to_ctx(),
40804072
names: &self.names,
40814073
access: crate::StorageAccess::empty(),
4082-
binding: None,
40834074
first_time: true,
40844075
};
40854076
writeln!(self.out, "typedef {ty_name} {name};")?;
@@ -4179,7 +4170,6 @@ template <typename A>
41794170
gctx: module.to_ctx(),
41804171
names: &self.names,
41814172
access: crate::StorageAccess::empty(),
4182-
binding: None,
41834173
first_time: false,
41844174
};
41854175
let name = &self.names[&NameKey::Constant(handle)];
@@ -5479,7 +5469,6 @@ template <typename A>
54795469
gctx: module.to_ctx(),
54805470
names: &self.names,
54815471
access: crate::StorageAccess::empty(),
5482-
binding: None,
54835472
first_time: false,
54845473
};
54855474
write!(self.out, "{ty_name}")?;
@@ -5497,7 +5486,6 @@ template <typename A>
54975486
gctx: module.to_ctx(),
54985487
names: &self.names,
54995488
access: crate::StorageAccess::empty(),
5500-
binding: None,
55015489
first_time: false,
55025490
};
55035491
let separator = separate(
@@ -5520,7 +5508,7 @@ template <typename A>
55205508
names: &self.names,
55215509
handle,
55225510
usage: fun_info[handle],
5523-
binding: None,
5511+
55245512
reference: true,
55255513
};
55265514
let separator =
@@ -5565,7 +5553,6 @@ template <typename A>
55655553
gctx: module.to_ctx(),
55665554
names: &self.names,
55675555
access: crate::StorageAccess::empty(),
5568-
binding: None,
55695556
first_time: false,
55705557
};
55715558
let local_name = &self.names[&NameKey::FunctionLocal(fun_handle, local_handle)];
@@ -5794,7 +5781,6 @@ template <typename A>
57945781
gctx: module.to_ctx(),
57955782
names: &self.names,
57965783
access: crate::StorageAccess::empty(),
5797-
binding: None,
57985784
first_time: false,
57995785
};
58005786
let resolved = options.resolve_local_binding(binding, in_mode)?;
@@ -5854,7 +5840,6 @@ template <typename A>
58545840
gctx: module.to_ctx(),
58555841
names: &self.names,
58565842
access: crate::StorageAccess::empty(),
5857-
binding: None,
58585843
first_time: true,
58595844
};
58605845
let binding = binding.ok_or_else(|| {
@@ -5955,7 +5940,6 @@ template <typename A>
59555940
gctx: module.to_ctx(),
59565941
names: &self.names,
59575942
access: crate::StorageAccess::empty(),
5958-
binding: None,
59595943
first_time: false,
59605944
};
59615945

@@ -6140,7 +6124,6 @@ template <typename A>
61406124
names: &self.names,
61416125
handle,
61426126
usage,
6143-
binding: resolved.as_ref(),
61446127
reference: true,
61456128
};
61466129
let separator = if is_first_argument {
@@ -6353,7 +6336,7 @@ template <typename A>
63536336
names: &self.names,
63546337
handle,
63556338
usage,
6356-
binding: None,
6339+
63576340
reference: false,
63586341
};
63596342
write!(self.out, "{}", back::INDENT)?;
@@ -6481,7 +6464,6 @@ template <typename A>
64816464
gctx: module.to_ctx(),
64826465
names: &self.names,
64836466
access: crate::StorageAccess::empty(),
6484-
binding: None,
64856467
first_time: false,
64866468
};
64876469
write!(self.out, "{}{} {}", back::INDENT, ty_name, name)?;

naga/src/back/spv/instructions.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,6 @@ impl super::Instruction {
105105
instruction
106106
}
107107

108-
pub(super) const fn no_line() -> Self {
109-
Self::new(Op::NoLine)
110-
}
111-
112108
//
113109
// Annotation Instructions
114110
//

0 commit comments

Comments
 (0)