Fix WebGL mode for Adreno GPUs (#8508)
# Objective - This fixes a crash when loading shaders, when running an Adreno GPU and using WebGL mode. - Fixes #8506 - Fixes #8047 ## Solution - The shader pbr_functions.wgsl, will fail in apply_fog function, trying to access values that are null on Adreno chipsets using WebGL, these devices are commonly found in android handheld devices. --------- Co-authored-by: Carter Anderson <mcanders1@gmail.com> Co-authored-by: François <mockersf@gmail.com>
This commit is contained in:
		
							parent
							
								
									aeeb20ec4c
								
							
						
					
					
						commit
						d90c65d25f
					
				| @ -216,6 +216,12 @@ pub struct GpuLights { | |||||||
| 
 | 
 | ||||||
| // NOTE: this must be kept in sync with the same constants in pbr.frag
 | // NOTE: this must be kept in sync with the same constants in pbr.frag
 | ||||||
| pub const MAX_UNIFORM_BUFFER_POINT_LIGHTS: usize = 256; | pub const MAX_UNIFORM_BUFFER_POINT_LIGHTS: usize = 256; | ||||||
|  | 
 | ||||||
|  | //NOTE: When running bevy on Adreno GPU chipsets in WebGL, any value above 1 will result in a crash
 | ||||||
|  | // when loading the wgsl "pbr_functions.wgsl" in the function apply_fog.
 | ||||||
|  | #[cfg(all(feature = "webgl", target_arch = "wasm32"))] | ||||||
|  | pub const MAX_DIRECTIONAL_LIGHTS: usize = 1; | ||||||
|  | #[cfg(any(not(feature = "webgl"), not(target_arch = "wasm32")))] | ||||||
| pub const MAX_DIRECTIONAL_LIGHTS: usize = 10; | pub const MAX_DIRECTIONAL_LIGHTS: usize = 10; | ||||||
| #[cfg(any(not(feature = "webgl"), not(target_arch = "wasm32")))] | #[cfg(any(not(feature = "webgl"), not(target_arch = "wasm32")))] | ||||||
| pub const MAX_CASCADES_PER_LIGHT: usize = 4; | pub const MAX_CASCADES_PER_LIGHT: usize = 4; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 TotalKrill
						TotalKrill