Skip to content

nonuniform descriptor indexing: is OpDecorate NonUniform intentionally unsupported? #61

Description

@abbator

The Vulkan spec requires OpDecorate NonUniform on non-uniform descriptor array indices (VUID-RuntimeSpirv-NonUniform-06274).

descriptor_set(0) descriptor_binding(0)
uniform_constant storageImage2D images[4096];

u32 idx = buffer[tid];
storageImage2D img = images[idx];
native_vec4 val = imageLoad(img, coord);

Compiling this with Vcc, the generated SPIR-V has no NonUniform decoration, and I didn't find any handling of it in the shady source.

Is this an intentional omission, or just something that hasn't come up yet? If the latter, would a PR be welcome that adds something like an asm("shady::nonuniform") intrinsic that propagates as a decoration to the SPIR-V backend?

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

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions