Skip to content

ppy.Veldrid.Spir-V SSBO binding issues. #69

Description

@MrScautHD

Hey i tried to bind my ssbo buffer with my shader.
And as i know from the community of Veldrid the version of SPIRV-Cross ppy.Veldrid uses has an issue with how it binds SSBOs.

Code:

struct Light {
    int type; // Type: (Direction = 0, Point = 1, Spot = 2).
    float range; // Range.
    float spotAngle; // SpotAngle.
    float _padding0; // Padding.
    vec4 position; // xyz: (Position), w: (Padding).
    vec4 direction; // xyz: (Direction), w: (Padding).
    vec4 color; // rgb: (Color), w: (Intensity).
};

layout(std430, set = 3, binding = 0) buffer LightBuffer {
    int lightCapacity; // The max number lights.
    int numOfLights; // Number of lights.
    vec4 ambientColor; // rgb: (Color), w: (Intensity).
    Light[] lights;
};

Error:

Unhandled exception. Veldrid.VeldridException: Failed to compile HLSL code: F:\projects\Bliss\src\Bliss.Test\bin\Debug\net9.0\Shader@0x000001C234CEBAD0(19,21-23): error X4509: UAV registers live in the same name space as outputs, so they must be bound to at least u1, manual bind to slot u0 failed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions