Skip to content

Add a spirv-opt pass to add NonWritable to top-level structs when all members are NonWritable #6785

Description

@Tobski

A quirk of DXC that went unnoticed for years is that instead of decorating the top-level of a buffer as NonWritable, it decorates all members of the buffer. While this is legal, it wasn't noticed during bring up of VK_EXT_descriptor_heap, and a key part of how the mapping APIs in that extension works is making use of this decoration.

A DXC issue has been raised to modify DXC to adjust for this, but for existing shaders it could be useful to be able to do a quick fixup pass, without needing to regenerate all of the shaders.

This issue is a request to at least consider adding a pass to do this to spirv-opt.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions