Skip to content

Conversation

@NicoZweifel
Copy link
Contributor

@NicoZweifel NicoZweifel commented Nov 3, 2025

Objective

Solution

  • Implementing bindless_supported of the AsBindGroup trait for ExtendedMaterial:
    fn bindless_supported(render_device: &RenderDevice) -> bool {
        B::bindless_supported(render_device) && E::bindless_supported(render_device)
    }

Before it just returned the default (true), leading to the mismatch.

I made small, mostly stylistic, improvements to fn bind_group_layout_entries and a few other locations like a comment in extended_material during debugging but I could move that out into a separate PR as well. Since the changes are rather limited and related to the issue I decided to leave it in for now.

Testing

  • Tested on Windows/NixOS and MacOS, tested multiple examples but most testing happened on the extended_material_bindless and extended_material examples.

@NicoZweifel NicoZweifel marked this pull request as ready for review November 3, 2025 09:22
@alice-i-cecile alice-i-cecile added C-Bug An unexpected or incorrect behavior A-Rendering Drawing game state to the screen C-Examples An addition or correction to our examples O-MacOS Specific to the MacOS (Apple) desktop operating system labels Nov 3, 2025
@alice-i-cecile alice-i-cecile added the S-Needs-Review Needs reviewer attention (from anyone!) to move forward label Nov 3, 2025
@alice-i-cecile alice-i-cecile added this to the 0.17.3 milestone Nov 3, 2025
@mockersf mockersf modified the milestones: 0.17.3, 0.17.4 Nov 17, 2025
@IceSentry IceSentry added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Nov 19, 2025
Copy link
Contributor

@mgi388 mgi388 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know there are already approvals, but I tested on my Macbook Pro and it fixes the bug for me so leaving another approval.

INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "macOS 15.7.2 Sequoia", kernel: "24.6.0", cpu: "Apple M1 Max", core_count: "10", memory: "64.0 GiB" }
INFO bevy_render::renderer: AdapterInfo { name: "Apple M1 Max", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
INFO bevy_render::batching::gpu_preprocessing: GPU preprocessing is fully supported on this device.

I ran these examples (added the last 2 just because I tested them but I don't think they'd be affected anyway):

cargo run --example extended_material_bindless
cargo run --example extended_material
cargo run --example texture_binding_array
cargo run --example storage_buffer
cargo run --example array_texture

@alice-i-cecile alice-i-cecile added this pull request to the merge queue Dec 3, 2025
Merged via the queue into bevyengine:main with commit aa14ada Dec 3, 2025
38 checks passed
@github-project-automation github-project-automation bot moved this to Done in Rendering Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Rendering Drawing game state to the screen C-Bug An unexpected or incorrect behavior C-Examples An addition or correction to our examples O-MacOS Specific to the MacOS (Apple) desktop operating system S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

extended_material_bindless example wgpu validation error on MacOS/Metal

6 participants