Skip to content

Commit a6e82e9

Browse files
committed
Switch to early-shader-defs bevy fork
1 parent 14427a0 commit a6e82e9

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

src/rust_gpu.rs

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -308,16 +308,8 @@ where
308308
if let Some(vertex_shader) = key.bind_group_data.vertex_shader {
309309
info!("Vertex shader is present, aggregating defs");
310310

311-
let shader_defs: Vec<_> = descriptor
312-
.vertex
313-
.shader_defs
314-
.iter()
315-
.cloned()
316-
.chain(SHADER_DEFS.iter().map(ToString::to_string))
317-
.collect();
318-
319311
info!("Building vertex entrypoint");
320-
let entry_point = M::Vertex::build(&shader_defs);
312+
let entry_point = M::Vertex::build(&descriptor.vertex.shader_defs);
321313

322314
#[allow(unused_mut)]
323315
let mut apply = true;
@@ -353,7 +345,7 @@ where
353345
handle
354346
.send(crate::prelude::Export {
355347
shader: M::Vertex::NAME,
356-
permutation: M::Vertex::permutation(&shader_defs),
348+
permutation: M::Vertex::permutation(&descriptor.vertex.shader_defs),
357349
})
358350
.unwrap();
359351
};
@@ -365,21 +357,17 @@ where
365357
} else {
366358
warn!("Falling back to default vertex shader.");
367359
}
360+
361+
// Clear shader defs to satify ShaderProcessor
362+
descriptor.vertex.shader_defs.clear();
368363
}
369364

370365
if let Some(fragment_descriptor) = descriptor.fragment.as_mut() {
371366
if let Some(fragment_shader) = key.bind_group_data.fragment_shader {
372367
info!("Fragment shader is present, aggregating defs");
373368

374-
let shader_defs: Vec<_> = fragment_descriptor
375-
.shader_defs
376-
.iter()
377-
.cloned()
378-
.chain(SHADER_DEFS.iter().map(ToString::to_string))
379-
.collect();
380-
381369
info!("Building fragment entrypoint");
382-
let entry_point = M::Fragment::build(&shader_defs);
370+
let entry_point = M::Fragment::build(&fragment_descriptor.shader_defs);
383371

384372
#[allow(unused_mut)]
385373
let mut apply = true;
@@ -416,7 +404,7 @@ where
416404
handle
417405
.send(crate::prelude::Export {
418406
shader: M::Fragment::NAME,
419-
permutation: M::Fragment::permutation(&shader_defs),
407+
permutation: M::Fragment::permutation(&fragment_descriptor.shader_defs),
420408
})
421409
.unwrap();
422410
};
@@ -428,6 +416,9 @@ where
428416
} else {
429417
warn!("Falling back to default fragment shader.");
430418
}
419+
420+
// Clear shader defs to satify ShaderProcessor
421+
fragment_descriptor.shader_defs.clear();
431422
}
432423
}
433424

0 commit comments

Comments
 (0)