Skip to content

Deferred rendering example (Forward + Prepass) is broken on web and macos #15525

@DGriffin91

Description

@DGriffin91

Bevy version 8316d89

The deferred rendering example is broken on Windows 10 / Vulkan.

The issue was introduced at 2ae5a21 with #13497

Caused by:
  In Device::create_render_pipeline, label = 'deferred_lighting_pipeline'
    Error matching ShaderStages(FRAGMENT) shader requirements against the pipeline
      Shader global ResourceBinding { group: 0, binding: 22 } is not available in the pipeline layout
        View dimension D3 (is array: false) doesn't match the binding Sampler(Filtering)

Additionally, it issues the following warning:

Too many textures in mesh pipeline view layout, this might cause us to hit `wgpu::Limits::max_sampled_textures_per_shader_stage` in some environments.

This means it will also be broken on WebGL2, WebGPU, and some native platforms. I haven't investigated yet if solving the create_render_pipeline issue will also reduce the number of samples textures (allowing it to run on wasm, etc...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-RenderingDrawing game state to the screenC-BugAn unexpected or incorrect behaviorO-LinuxSpecific to the Linux desktop operating systemO-MacOSSpecific to the MacOS (Apple) desktop operating systemO-WebSpecific to web (WASM) buildsS-Needs-InvestigationThis issue requires detective work to figure out what's going wrong

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions