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"] | ||||
| 
 | ||||
| # 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 | ||||
| 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" | ||||
| keywords = ["bevy"] | ||||
| 
 | ||||
| [features] | ||||
| webgl = [] | ||||
| 
 | ||||
| [dependencies] | ||||
| # bevy | ||||
| bevy_app = { path = "../bevy_app", version = "0.12.0-dev" } | ||||
|  | ||||
| @ -536,6 +536,13 @@ impl SpecializedMeshPipeline for Mesh2dPipeline { | ||||
|             true => ViewTarget::TEXTURE_FORMAT_HDR, | ||||
|             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 { | ||||
|             vertex: VertexState { | ||||
| @ -555,7 +562,7 @@ impl SpecializedMeshPipeline for Mesh2dPipeline { | ||||
|                 })], | ||||
|             }), | ||||
|             layout: vec![self.view_layout.clone(), self.mesh_layout.clone()], | ||||
|             push_constant_ranges: Vec::new(), | ||||
|             push_constant_ranges, | ||||
|             primitive: PrimitiveState { | ||||
|                 front_face: FrontFace::Ccw, | ||||
|                 cull_mode: None, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Robert Swain
						Robert Swain