Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions crates/bevy_render/src/batching/gpu_preprocessing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1328,9 +1328,11 @@ impl FromWorld for GpuPreprocessingSupport {
// - We filter out Adreno 730 and earlier GPUs (except 720, as it's newer
// than 730).
// - We filter out Mali GPUs with driver versions lower than 48.
// - We filter out Pixel 10 GPUs (all versions for now)
fn is_non_supported_android_device(adapter_info: &RenderAdapterInfo) -> bool {
crate::get_adreno_model(adapter_info).is_some_and(|model| model != 720 && model <= 730)
|| crate::get_mali_driver_version(adapter_info).is_some_and(|version| version < 48)
|| crate::get_pixel10_driver_version(adapter_info).is_some()
Comment thread
alice-i-cecile marked this conversation as resolved.
Outdated
}

let culling_feature_support = device
Expand Down
13 changes: 13 additions & 0 deletions crates/bevy_render/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,19 @@ pub fn get_mali_driver_version(adapter_info: &RenderAdapterInfo) -> Option<u32>
None
}

pub fn get_pixel10_driver_version(adapter_info: &RenderAdapterInfo) -> Option<u32> {
if !cfg!(target_os = "android") {
return None;
}

if adapter_info.name != "PowerVR D-Series DXT-48-1536 MC1" {
return None;
}

let (_, driver_version) = adapter_info.driver_info.split_once('@')?;
driver_version.parse::<u32>().ok()
}

/// Returns true if storage buffers are unsupported on this platform or false
/// if they are supported.
pub fn storage_buffers_are_unsupported(limits: &WgpuLimits) -> bool {
Expand Down