Skip to content

Work on more general solution to adding access chain placeholders during reduction #2183

@afd

Description

@afd

In spirv-reduce's loop-to-conditional reduction pass, if we find that an access chain use is no longer dominated, we replace the use with an access to a (possibly new) variable of the right type. This is fine if the storage class is Private or Function; we can just add a new variable. But for other storage classes I'm unsure whether it's legal to arbitrarily add more global-scoped variables with the given storage class; there might be limits on the number of such variables that are allowed, and quite possibly constraints on adding such variables without modifying the associated host code.

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