UI elements randomly disappear for some frames on specific android devices
Bevy version
Bevy 0.14.1
Relevant system information
Samsung Galaxy A34 Cargo 1.80.0 Built using https://github.com/NiklasEi/xbuild
What you did
Rendered user interface and a regular sprite.
use bevy::prelude::*;
#[bevy_main]
fn main() {
let mut app = App::new();
app.add_plugins(DefaultPlugins).add_systems(Startup, setup);
app.run();
}
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.spawn((Camera2dBundle::default(), IsDefaultUiCamera));
commands.spawn((
NodeBundle {
style: Style {
width: Val::Px(500.0),
height: Val::Px(125.0),
..default()
},
..default()
},
UiImage::new(asset_server.load("branding/bevy_logo_dark_big.png")),
));
commands.spawn(SpriteBundle {
transform: Transform::from_xyz(0., 0., 0.),
sprite: Sprite {
custom_size: Some(Vec2::new(500., 125.)),
..default()
},
texture: asset_server.load("branding/bevy_logo_dark_big.png"),
..default()
});
}
What went wrong
The ui image is flickering, but the regular sprite is not flickering.
Additional information
https://github.com/user-attachments/assets/e5c3c48b-6470-440b-9392-e4a2257ec75b
One of my play testers for my game has this issue, this was recorded on their phone. Other people, including me don't have this issue so it could be a device related issue. This flickering also happens on text and 9-slices (not shown in example).
This issue happened once to me, but never again after that. But on this persons phone it seems to happen almost always.
This might be a related issue: https://github.com/gfx-rs/wgpu/issues/2399, but I am not sure since it only happens on UI elements as shown in the video.
This pull request seems to be solving a similar issue: https://github.com/bevyengine/bevy/pull/13462.
Maybe this bug has something to do with system ordering?
@MarcoMeijer how are you using xbuild with bevy, exactly? It would be nice if you provided more of the project code. I am having trouble even running bevy with xbuild in the first place.
@Nihilistas I have a manifest.yaml file containing this:
android:
gradle: true
icon: "assets/icon.png"
manifest:
package: "com.x.y"
version_code: 13
uses_permission:
- name: "android.permission.INTERNET"
application:
label: "x"
theme: "@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"
activities:
- orientation: "landscape"
And a cargo.toml file containing this:
[package]
name = "bug-report"
version = "0.1.0"
edition = "2021"
[dependencies]
bevy = { version = "0.14.1" }
[lib]
crate-type = ["staticlib", "cdylib"]
[package.metadata.android]
package = "org.x.y"
apk_name = "x"
assets = "assets"
resources = "assets/android-res"
strip = "strip"
build_targets = ["aarch64-linux-android"]
[target."cfg(target_os = \"android\")".dependencies.cpal]
version = "0.15"
features = ["oboe-shared-stdcxx"]
[package.metadata.android.sdk]
target_sdk_version = 31
[package.metadata.android.application]
icon = "@mipmap/ic_launcher"
theme = "@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"
label = "x"
[package.metadata.android.signing.release]
path = "<PATH_TO_KEYSTORE_FILE>"
keystore_password = "<PASSWORD_TO_KEYSTORE_FILE>"
[package.metadata.android.application.activity]
orientation = "landscape"
[[package.metadata.android.uses_permission]]
name = "android.permission.INTERNET"
For my use case I needed internet permissions but you can probably remove that.
And that's it. Then I just run x build --platform android --store play.
@MarcoMeijer, sorry for the late reply.
I am using the manifest.yaml and cargo.toml you provided, but I get this error:
Process: com.x.y, PID: 10458 10458 10458 E AndroidRuntime: java.lang.UnsatisfiedLinkError: Unable to load native library "/data/app/~~fthkHCbi4QDyynDTLS7DKg==/com.x.y-KgxWJ91X3SXS140HyupMMg==/lib/arm64/libbug_report.so": dlopen failed: library "libc++_shared.so" not found: needed by /data/app/~~fthkHCbi4QDyynDTLS7DKg==/com.x.y-KgxWJ91X3SXS140HyupMMg==/lib/arm64/libbug_report.so in namespace clns-4
Did you ever get this kind of error?
@Nihilistas I don't remember. Did you run x doctor? All of this things in the clang/llvm toolchain and android should have a path. Also be sure to use the fork of x build (https://github.com/NiklasEi/xbuild) and not the official repo.
@MarcoMeijer ok I got it to run finally. The issue in the end was that I was after all using the non-forked version of xbuild. On my Pixel phone the issue doesn't seem to appear so far. Next Wednesday I'm gonna go get more devices to test with. Btw, what android OS version does the Galaxy A34 you mentioned have?
@Nihilistas their android version is 14
Another play tester reported this problem, their phone is a "Redmi Note 11s Pro"
I also have a Redmi Note 8 Pro and this happens consistently (Android 11). It happens with the mobile example button so it's not user error.
I have some new android devices to report in #15792
My compilation method is cargo-ndk + Android Studio, and my assumption is this will happen on MediaTek SoCs and has little connection with Android version and compiling methods.
FYI: Samsung Galaxy A34: MediaTek Dimensity 1080 Redmi Note 8 Pro: MediaTek Helio G90T Redmi Note 11s Pro: MediaTek Dimensity 920 Phone mentioned in my issue: OPPO A97 5G: MediaTek Dimensity 810 Huawei Honor X40i: MediaTek Dimensity 700
I have similar issue on Motorola Edge 50 Neo: Dimensity 7300 with example from ui/text. But in my case no ui elements shown at all.
There is spam of this error in logcat but app is not crashing its still responsive.
2024-12-03 20:49:48.834 10904-10968 BLASTBufferQueue com.clownworks.timepass E [SurfaceView[com.clownworks.timepass/com.clownworks.timepass.MainActivity]#1](f:1,a:7) acquireNextBufferLocked: Can't acquire next buffer. Already acquired max frames 7 max:5 + 2
Just tried it on 0.15, and on some phones both the sprite and ui image are blinking with this code:
use bevy::prelude::*;
#[bevy_main]
fn main() {
let mut app = App::new();
app.add_plugins(DefaultPlugins).add_systems(Startup, setup);
app.run();
}
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.spawn((Camera2d, IsDefaultUiCamera));
commands.spawn(ImageNode::new(
asset_server.load("branding/bevy_logo_dark_big.png"),
));
commands.spawn(Sprite {
custom_size: Some(Vec2::new(500., 125.)),
image: asset_server.load("branding/bevy_logo_dark_big.png"),
..default()
});
}
Also something to note, there are 175 systems with indeterminate execution order in the render schedule, maybe one of them causes issues on some android devices.
use bevy::{
ecs::schedule::{LogLevel, ScheduleBuildSettings},
prelude::*,
render::RenderApp,
};
fn main() {
let mut app = App::new();
app.add_plugins(DefaultPlugins);
if let Some(render_app) = app.get_sub_app_mut(RenderApp) {
render_app.edit_schedule(bevy::render::Render, |schedule| {
schedule.set_build_settings(ScheduleBuildSettings {
ambiguity_detection: LogLevel::Warn,
..default()
});
});
};
app.run();
}
Output
175 pairs of systems with conflicting data access have indeterminate execution order. Consider adding `before`, `after`, or `ambiguous_with` relationships between these:
-- sort_cameras (in set ManageViews) and prepare_view_attachments (in set ManageViews)
conflict on: ["bevy_render::camera::camera::ExtractedCamera"]
-- sort_cameras (in set ManageViews) and prepare_lights (in set ManageViews)
conflict on: ["bevy_render::camera::camera::SortedCameras"]
-- prepare_view_attachments (in set ManageViews) and prepare_assets<GpuImage> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssets<bevy_render::texture::gpu_image::GpuImage>"]
-- prepare_screenshots (in set ManageViews) and prepare_assets<GpuImage> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssets<bevy_render::texture::gpu_image::GpuImage>"]
-- prepare_assets<GpuShaderStorageBuffer> (in set PrepareAssets) and prepare_assets<GpuImage> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuShaderStorageBuffer> (in set PrepareAssets) and prepare_assets<PreparedMaterial2d<ColorMaterial>> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssets<bevy_render::storage::GpuShaderStorageBuffer>", "bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuShaderStorageBuffer> (in set PrepareAssets) and prepare_assets<PreparedMaterial<StandardMaterial>> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssets<bevy_render::storage::GpuShaderStorageBuffer>", "bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuShaderStorageBuffer> (in set PrepareAssets) and prepare_assets<GpuLineGizmo> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuShaderStorageBuffer> (in set PrepareAssets) and prepare_assets<RenderMesh> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuImage> (in set PrepareAssets) and prepare_assets<PreparedMaterial2d<ColorMaterial>> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssets<bevy_render::texture::gpu_image::GpuImage>", "bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuImage> (in set PrepareAssets) and prepare_assets<PreparedMaterial<StandardMaterial>> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssets<bevy_render::texture::gpu_image::GpuImage>", "bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuImage> (in set PrepareAssets) and prepare_assets<GpuLineGizmo> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_view_targets (in set ManageViews) and prepare_lights (in set ManageViews)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_auxiliary_depth_of_field_textures (in set ManageViews) and prepare_lights (in set ManageViews)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- delete_old_work_item_buffers<MeshPipeline> (in set ManageViews) and collect_meshes_for_gpu_building (in set PrepareAssets)
conflict on: ["bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInputUniform>"]
-- queue_uinodes (in set Queue) and queue_ui_slices (in set Queue)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_ui::render::render_pass::TransparentUi>"]
-- queue_uinodes (in set Queue) and queue_shadows (in set Queue)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_ui::render::render_pass::TransparentUi>"]
-- queue_ui_slices (in set Queue) and queue_shadows (in set Queue)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_ui::render::render_pass::TransparentUi>"]
-- prepare_assets<PreparedMaterial2d<ColorMaterial>> (in set PrepareAssets) and prepare_assets<PreparedMaterial<StandardMaterial>> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<PreparedMaterial2d<ColorMaterial>> (in set PrepareAssets) and prepare_assets<GpuLineGizmo> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<PreparedMaterial2d<ColorMaterial>> (in set PrepareAssets) and prepare_assets<RenderMesh> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<PreparedMaterial<StandardMaterial>> (in set PrepareAssets) and prepare_assets<GpuLineGizmo> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<PreparedMaterial<StandardMaterial>> (in set PrepareAssets) and prepare_assets<RenderMesh> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- prepare_assets<GpuLineGizmo> (in set PrepareAssets) and prepare_assets<RenderMesh> (in set PrepareAssets)
conflict on: ["bevy_render::render_asset::RenderAssetBytesPerFrame"]
-- queue_line_gizmos_3d (in sets Queue, QueueLineGizmos3d) and queue_line_joint_gizmos_3d (in sets Queue, QueueLineGizmos3d)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transparent3d>"]
-- queue_line_gizmos_2d (in sets Queue, QueueLineGizmos2d) and queue_line_joint_gizmos_2d (in sets Queue, QueueLineGizmos2d)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_2d::Transparent2d>"]
-- collect_meshes_for_gpu_building (in set PrepareAssets) and queue_material_meshes<StandardMaterial> (in sets Queue, QueueMeshes)
conflict on: ["bevy_pbr::render::mesh::RenderMeshInstances"]
-- collect_meshes_for_gpu_building (in set PrepareAssets) and queue_shadows<StandardMaterial> (in sets Queue, QueueMeshes)
conflict on: ["bevy_pbr::render::mesh::RenderMeshInstances"]
-- collect_meshes_for_gpu_building (in set PrepareAssets) and queue_prepass_material_meshes<StandardMaterial> (in sets Queue, QueueMeshes)
conflict on: ["bevy_pbr::render::mesh::RenderMeshInstances"]
-- set_mesh_motion_vector_flags (in set PrepareAssets) and queue_material_meshes<StandardMaterial> (in sets Queue, QueueMeshes)
conflict on: ["bevy_pbr::render::mesh::RenderMeshInstances"]
-- set_mesh_motion_vector_flags (in set PrepareAssets) and queue_shadows<StandardMaterial> (in sets Queue, QueueMeshes)
conflict on: ["bevy_pbr::render::mesh::RenderMeshInstances"]
-- set_mesh_motion_vector_flags (in set PrepareAssets) and queue_prepass_material_meshes<StandardMaterial> (in sets Queue, QueueMeshes)
conflict on: ["bevy_pbr::render::mesh::RenderMeshInstances"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_prepass_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_bloom_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_smaa_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque2d, Mesh2dPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_2d::Opaque2d>"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent2d, Mesh2dPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_2d::Transparent2d>"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_ssao_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_2d_depth_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_prepass_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_bloom_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_smaa_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::Opaque3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::Opaque3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::AlphaMask3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::AlphaMask3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transmissive3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transmissive3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transparent3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transparent3d>"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_ssao_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_view_depth_textures_for_volumetric_fog (in set Prepare)
conflict on: ["bevy_core_pipeline::core_3d::camera_3d::Camera3d"]
-- prepare_core_3d_transmission_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and prepare_bloom_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and prepare_smaa_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::deferred::Opaque3dDeferred>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::deferred::Opaque3dDeferred>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::deferred::AlphaMask3dDeferred>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::deferred::AlphaMask3dDeferred>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::prepass::Opaque3dPrepass>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::prepass::Opaque3dPrepass>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::prepass::AlphaMask3dPrepass>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::prepass::AlphaMask3dPrepass>"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and prepare_ssao_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_prepass_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources) and prepare_bloom_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources) and prepare_smaa_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources) and prepare_ssao_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_deferred_lighting_id_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_bloom_textures (in sets Prepare, PrepareResources) and prepare_smaa_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_bloom_textures (in sets Prepare, PrepareResources) and prepare_ssao_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_bloom_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_smaa_textures (in sets Prepare, PrepareResources) and prepare_ssao_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_smaa_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- batch_and_prepare_binned_render_phase<Opaque2d, Mesh2dPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask2d, Mesh2dPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_sprite::mesh2d::mesh::Mesh2dUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque2d, Mesh2dPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent2d, Mesh2dPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_sprite::mesh2d::mesh::Mesh2dUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask2d, Mesh2dPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent2d, Mesh2dPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_sprite::mesh2d::mesh::Mesh2dUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::Opaque3d>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::Opaque3d>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::Opaque3d>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::AlphaMask3d>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::AlphaMask3d>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::core_3d::AlphaMask3d>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_pbr::render::light::Shadow>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Shadow, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::deferred::Opaque3dDeferred>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResourc
es)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::deferred::AlphaMask3dDeferred>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResource
s)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dDeferred, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResource
s)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transmissive3d>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transmissive3d>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_sorted_render_phase<Transmissive3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transmissive3d>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transparent3d>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transparent3d>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_sorted_render_phase<Transparent3d, MeshPipeline> (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_core_pipeline::core_3d::Transparent3d>"]
-- batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::prepass::Opaque3dPrepass>"]
-- batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::no_gpu_preprocessing::BatchedInstanceBuffer<bevy_pbr::render::mesh::MeshUniform>"]
-- batch_and_prepare_binned_render_phase<Opaque3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::batching::gpu_preprocessing::IndirectParametersBuffer", "bevy_render::batching::gpu_preprocessing::BatchedInstanceBuffers<bevy_pbr::render::mesh::MeshUniform, bevy_pbr::render::mesh::MeshInp
utUniform>"]
-- batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources) and batch_and_prepare_binned_render_phase<AlphaMask3dPrepass, MeshPipeline> (in sets Prepare, PrepareResources
)
conflict on: ["bevy_render::render_phase::ViewBinnedRenderPhases<bevy_core_pipeline::prepass::AlphaMask3dPrepass>"]
-- prepare_ssao_textures (in sets Prepare, PrepareResources) and prepare_core_3d_depth_textures (in sets Prepare, PrepareResources)
conflict on: ["bevy_render::texture::texture_cache::TextureCache"]
-- prepare_uinodes (in sets Prepare, PrepareBindGroups) and prepare_ui_slices (in sets Prepare, PrepareBindGroups)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_ui::render::render_pass::TransparentUi>"]
-- prepare_uinodes (in sets Prepare, PrepareBindGroups) and prepare_shadows (in sets Prepare, PrepareBindGroups)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_ui::render::render_pass::TransparentUi>"]
-- prepare_ui_slices (in sets Prepare, PrepareBindGroups) and prepare_shadows (in sets Prepare, PrepareBindGroups)
conflict on: ["bevy_render::render_phase::ViewSortedRenderPhases<bevy_ui::render::render_pass::TransparentUi>"]
-- prepare_preprocess_bind_groups (in sets Prepare, PrepareBindGroups) and prepare_preprocess_pipelines (in set Prepare)
conflict on: ["bevy_pbr::render::gpu_preprocess::PreprocessPipelines"]
This issue doesn't happen when you switch the render backend to opengl, but to get opengl to work on this phone I had to get rid of most code related to meshes.
does this bug still occur after 0.16 release?
I am experiencing this bug on my Android device. Redmi 13C: Mediatek Helio G85, Android 15, Bevy 0.16.0
Unfortunately, I have the same problem on Android 15, on two devices:
- POCO M6 (Xiaomi HyperOS 2.0.201.0)
- Samsung galaxy A33 5G
There is no such problem on the pixel 5 with Android 14. :-(
I suddenly found a fix for this issue: before that, the app was just unusable, but after enabling the 'Disable HW Overlays' setting in Developer Options, it now runs smoothly 99% of the time.
Unfortunately, I have the same problem on Android 15, on two devices:
* POCO M6 (Xiaomi HyperOS 2.0.201.0) * Samsung galaxy A33 5GThere is no such problem on the pixel 5 with Android 14. :-(
I suddenly found a fix for this issue: before that, the app was just unusable, but after enabling the 'Disable HW Overlays' setting in Developer Options, it now runs smoothly 99% of the time.
I checked the SoC of these two phones:
POCO M6: MTK Helio G91-Ultra Samsung galaxy A33 5G: MTK Exynos 1280
Another evidence of the issue between bevy and mediatek soc.
I suddenly found a fix for this issue: before that, the app was just unusable, but after enabling the 'Disable HW Overlays' setting in Developer Options, it now runs smoothly 99% of the time.
Hm, this is new information
So maybe it's caused by the method that MTK SoC implement HW Overlay?
I have this issue in bevy v0.17.2 Device: realme c75 Gpu: mali g52 mc2
I think I got rid of the UI flickering problem by adding a post-processing effect. I tested it on two different phones with UI flickering problems and the UI didn’t flicker. The post-processing code is taken from the Bevy examples. The shader code doesn’t actually do anything.
I think I got rid of the UI flickering problem by adding a post-processing effect. I tested it on two different phones with UI flickering problems and the UI didn’t flicker. The post-processing code is taken from the Bevy examples. The shader code doesn’t actually do anything.
what device did you use to test the code?
Samsung galaxy A25 5G and Redmi Note 10S
Samsung galaxy A25 5G and Redmi Note 10S
Samsung galaxy A25 5G -> Exynos 1280 // this probably not the case
Redmi Note 10S -> MediaTek MT6785V // but this one is
would you mind sharing the code here?
I just found some MediaTek SoC that doesn't have this problem: Dimensity 8400(seen in iQoo Z10 Turbo and Redmi turbo 4) and one with problem: Dimensity 6020
Here's a minimal repo with instructions https://github.com/eyozk/bevy-android-ui-flicker
currently on my project, combining this repo fix will still have this problem
but the repo itself has working fix
some research on my side:
only PostProcess+WinitSettings::mobile() will have the fix
any of them disabled will cause flicker to appear again
no idea if it's related with GameActivity and NativeActivity
@Litttlefish I dont think it's related to GameActivity or NativeActivity. Im using my own window manager and my own android Activity (based NativeActivity). the issue still exists it's something related to bevy_render.
I have another project witch uses my own text rendering and ui crate witch uses wgpu with no such a problem.
the way that bevy uses wgpu is mysterious to me and I dont have enuogh time to inspect that.
This issue is bothering since bevy 14 or even earlier and beside poor performance of bevy ui on android I decided to use only bevy { default-features = false } Unfortunetly
For me, adding the eyozk's no-op shader and WinitSettings::mobile() did not help. Bevy 0.18.0-dev from today, sort-of-blank project based on official examples/mobile/android_example. Turning off Hardware Overlay didn't help.
tested and flickering on: name / model name / os / gpu / chipset: Oukitel WP17 - WP 17 - Android 11 - Mali-G76 MC4 - Mediatek MT6785V/CD Helio G95 Lenovo Yoga Tab 11 - YT-J706X - Android 12 - Mali-G76 MC4 - Mediatek MT6785 Helio G90T TCL Nxtpaper 14 - 9491G - Android 14 - Mali-G57 MC2 - Mediatek Helio G99
[dependencies.bevy]
git = "https://github.com/bevyengine/bevy/"
rev = "ad48f39348a290f110845d77e83c066f8a1c64a0"
features = ["android-game-activity", "android_shared_stdcxx", "bevy_animation", "async_executor", "bevy_asset", "bevy_audio", "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_gilrs", "bevy_gizmos", "bevy_image", "bevy_input_focus", "bevy_log", "bevy_mesh", "mesh_picking", "bevy_picking", "bevy_render", "bevy_scene", "bevy_shader", "bevy_sprite", "sprite_picking", "bevy_sprite_render", "bevy_state", "bevy_text", "bevy_ui", "ui_picking", "bevy_ui_render", "bevy_window", "bevy_winit", "custom_cursor", "debug", "default_font", "hdr", "mp3", "multi_threaded", "png", "reflect_auto_register", "sysinfo_plugin", "vorbis", "wayland", "webgl2", "x11"]
[target.'cfg(target_os = "android")'.dependencies.bevy_render]
#version = "0.17.2"
git = "https://github.com/bevyengine/bevy/"
rev = "ad48f39348a290f110845d77e83c066f8a1c64a0"
features = ["gles"]
Setup code:
app.add_plugins(
DefaultPlugins
.set(LogPlugin {
// This will show some log events from Bevy to the native logger.
level: Level::DEBUG,
filter: "wgpu=error,bevy_render=info,bevy_ecs=info,naga=warn".to_string(),
..Default::default()
})
.set(RenderPlugin {
render_creation: RenderCreation::Automatic(WgpuSettings {
backends: Some(Backends::VULKAN),
limits: WgpuLimits::defaults(),
// backends: Some(Backends::PRIMARY),
// limits: WgpuLimits::downlevel_webgl2_defaults(),
instance_flags: InstanceFlags::default(),
features: WgpuFeatures::empty(),
..default()
}),
..default()
})
// #[cfg(target_os = "android")]
.set(WindowPlugin {
primary_window: Some(Window {
resizable: false,
mode: WindowMode::BorderlessFullscreen(MonitorSelection::Primary),
// on iOS, gestures must be enabled.
// This doesn't work on Android
recognize_rotation_gesture: true,
// Only has an effect on iOS
prefers_home_indicator_hidden: true,
// Only has an effect on iOS
prefers_status_bar_hidden: true,
// Only has an effect on iOS
preferred_screen_edges_deferring_system_gestures: ScreenEdge::Bottom,
..default()
}),
..default()
})
// THIS WILL DISABLE ANY USE OF STANDARDMATERIAL!!!
// .disable::<PbrPlugin>(),
);
app.add_plugins(post_process::PostProcessPlugin);
app
// Make the winit loop wait more aggressively when no user input is received
// This can help reduce cpu usage on mobile devices
.insert_resource(WinitSettings::mobile())
.add_systems(Startup, (setup_scene, setup_music))
.add_systems(
Update,
(
touch_camera,
button_handler,
handle_lifetime.run_if(any_with_component::<AudioSink>),
),
);
Infinix NOTE 30 flickering too (Helio G99)