# Objective - Pipeline compilation is slow and blocks the frame - Closes https://github.com/bevyengine/bevy/issues/8224 ## Solution - Compile pipelines in a Task on the AsyncComputeTaskPool --- ## Changelog - Render/compute pipeline compilation is now done asynchronously over multiple frames when the multi-threaded feature is enabled and on non-wasm and non-macOS platforms - Added `CachedPipelineState::Creating` - Added `PipelineCache::block_on_render_pipeline()` - Added `bevy_utils::futures::check_ready` - Added `bevy_render/multi-threaded` cargo feature ## Migration Guide - Match on the new `Creating` variant for exhaustive matches of `CachedPipelineState`
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
[package]
 | 
						|
name = "bevy_pbr"
 | 
						|
version = "0.12.0"
 | 
						|
edition = "2021"
 | 
						|
description = "Adds PBR rendering to Bevy Engine"
 | 
						|
homepage = "https://bevyengine.org"
 | 
						|
repository = "https://github.com/bevyengine/bevy"
 | 
						|
license = "MIT OR Apache-2.0"
 | 
						|
keywords = ["bevy"]
 | 
						|
 | 
						|
[features]
 | 
						|
webgl = []
 | 
						|
webgpu = []
 | 
						|
shader_format_glsl = ["naga_oil/glsl"]
 | 
						|
pbr_transmission_textures = []
 | 
						|
 | 
						|
[dependencies]
 | 
						|
# bevy
 | 
						|
bevy_app = { path = "../bevy_app", version = "0.12.0" }
 | 
						|
bevy_asset = { path = "../bevy_asset", version = "0.12.0" }
 | 
						|
bevy_core_pipeline = { path = "../bevy_core_pipeline", version = "0.12.0" }
 | 
						|
bevy_ecs = { path = "../bevy_ecs", version = "0.12.0" }
 | 
						|
bevy_math = { path = "../bevy_math", version = "0.12.0" }
 | 
						|
bevy_reflect = { path = "../bevy_reflect", version = "0.12.0", features = [
 | 
						|
  "bevy",
 | 
						|
] }
 | 
						|
bevy_render = { path = "../bevy_render", version = "0.12.0" }
 | 
						|
bevy_transform = { path = "../bevy_transform", version = "0.12.0" }
 | 
						|
bevy_utils = { path = "../bevy_utils", version = "0.12.0" }
 | 
						|
bevy_window = { path = "../bevy_window", version = "0.12.0" }
 | 
						|
bevy_derive = { path = "../bevy_derive", version = "0.12.0" }
 | 
						|
 | 
						|
# other
 | 
						|
bitflags = "2.3"
 | 
						|
fixedbitset = "0.4"
 | 
						|
# direct dependency required for derive macro
 | 
						|
bytemuck = { version = "1", features = ["derive"] }
 | 
						|
radsort = "0.1"
 | 
						|
smallvec = "1.6"
 | 
						|
thread_local = "1.0"
 | 
						|
 | 
						|
[target.'cfg(target_arch = "wasm32")'.dependencies]
 | 
						|
naga_oil = "0.13"
 | 
						|
 | 
						|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
 | 
						|
# Omit the `glsl` feature in non-WebAssembly by default.
 | 
						|
naga_oil = { version = "0.13", default-features = false, features = [
 | 
						|
  "test_shader",
 | 
						|
] }
 | 
						|
 | 
						|
[lints]
 | 
						|
workspace = true
 |