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
	 Robert Swain
						Robert Swain