Skip to content

Fate of EXPERIMENTAL_MESH_SHADER_MULTIVIEW #8343

@inner-daemons

Description

@inner-daemons

Is your feature request related to a problem? Please describe.
Currently, we expose Features::EXPERIMENTAL_MESH_SHADER_MULTIVIEW as a feature separate from mesh shaders and separate from multiview. Only vulkan would expose devices that support both but not used together, and LLVMPIPE is the only driver that I'm aware of that does this. The feature feels particularly unergonomic and surprising, it might be worth removing it.

Also related, Limits::max_mesh_multiview_view_count, which is also a vulkan-specific thing that I'd love to remove.

Describe the solution you'd like
On platforms that don't support multiview mesh shaders, we could set Limits::max_mesh_multiview_view_count to zero.

We could also just not expose mesh shaders where they can't be used with multiview (unless multiview isn't supported in general by the device). This probably wouldn't hurt too many real setups, since any graphics card that supports DX12 and exposes these features there might as well expose them together on vulkan. Losing LLVMPIPE would be unfortunate (mainly for testing/CI) but not the end of the world, and I don't think there's a strong need for testing that uses both features at the same time.

Describe alternatives you've considered
Keep it the way it is.

Additional context
#7197

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions