Fix 2d_shapes and general 2D mesh instancing (#10051)
# Objective - Fix #10050 ## Solution - Push constants needed to be defined in the pipeline layout and `bevy_sprite` needed to have a `webgl` feature.
This commit is contained in:
parent
e67d63aa79
commit
b6286cf570
@ -73,7 +73,7 @@ x11 = ["bevy_winit/x11"]
|
|||||||
subpixel_glyph_atlas = ["bevy_text/subpixel_glyph_atlas"]
|
subpixel_glyph_atlas = ["bevy_text/subpixel_glyph_atlas"]
|
||||||
|
|
||||||
# Optimise for WebGL2
|
# Optimise for WebGL2
|
||||||
webgl = ["bevy_core_pipeline?/webgl", "bevy_pbr?/webgl", "bevy_render?/webgl", "bevy_gizmos?/webgl"]
|
webgl = ["bevy_core_pipeline?/webgl", "bevy_pbr?/webgl", "bevy_render?/webgl", "bevy_gizmos?/webgl", "bevy_sprite?/webgl"]
|
||||||
|
|
||||||
# enable systems that allow for automated testing on CI
|
# enable systems that allow for automated testing on CI
|
||||||
bevy_ci_testing = ["bevy_app/bevy_ci_testing", "bevy_time/bevy_ci_testing", "bevy_render?/bevy_ci_testing", "bevy_render?/ci_limits"]
|
bevy_ci_testing = ["bevy_app/bevy_ci_testing", "bevy_time/bevy_ci_testing", "bevy_render?/bevy_ci_testing", "bevy_render?/ci_limits"]
|
||||||
|
|||||||
@ -8,6 +8,9 @@ repository = "https://github.com/bevyengine/bevy"
|
|||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
keywords = ["bevy"]
|
keywords = ["bevy"]
|
||||||
|
|
||||||
|
[features]
|
||||||
|
webgl = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# bevy
|
# bevy
|
||||||
bevy_app = { path = "../bevy_app", version = "0.12.0-dev" }
|
bevy_app = { path = "../bevy_app", version = "0.12.0-dev" }
|
||||||
|
|||||||
@ -536,6 +536,13 @@ impl SpecializedMeshPipeline for Mesh2dPipeline {
|
|||||||
true => ViewTarget::TEXTURE_FORMAT_HDR,
|
true => ViewTarget::TEXTURE_FORMAT_HDR,
|
||||||
false => TextureFormat::bevy_default(),
|
false => TextureFormat::bevy_default(),
|
||||||
};
|
};
|
||||||
|
let mut push_constant_ranges = Vec::with_capacity(1);
|
||||||
|
if cfg!(all(feature = "webgl", target_arch = "wasm32")) {
|
||||||
|
push_constant_ranges.push(PushConstantRange {
|
||||||
|
stages: ShaderStages::VERTEX,
|
||||||
|
range: 0..4,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
Ok(RenderPipelineDescriptor {
|
Ok(RenderPipelineDescriptor {
|
||||||
vertex: VertexState {
|
vertex: VertexState {
|
||||||
@ -555,7 +562,7 @@ impl SpecializedMeshPipeline for Mesh2dPipeline {
|
|||||||
})],
|
})],
|
||||||
}),
|
}),
|
||||||
layout: vec![self.view_layout.clone(), self.mesh_layout.clone()],
|
layout: vec![self.view_layout.clone(), self.mesh_layout.clone()],
|
||||||
push_constant_ranges: Vec::new(),
|
push_constant_ranges,
|
||||||
primitive: PrimitiveState {
|
primitive: PrimitiveState {
|
||||||
front_face: FrontFace::Ccw,
|
front_face: FrontFace::Ccw,
|
||||||
cull_mode: None,
|
cull_mode: None,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user