glslang icon indicating copy to clipboard operation
glslang copied to clipboard

No error message given

Open Ipotrick opened this issue 1 year ago • 1 comments

When using mesh and task shaders there is an optional payload between the stages. There can only be up to one of these payload variables per pipeline. Glslang errors when using multiple of these variables but gives NO error message: GLSLANG: As an example:

struct TaskPayload{
    MeshletInstance meshlet_instance;
    uint meshlet_instance_index;
};
taskPayloadSharedEXT TaskPayload tps[128];

This is legal, compiles and works with no issue.

taskPayloadSharedEXT TaskPayload MeshletInstance tps_meshlet_instances[128];
taskPayloadSharedEXT TaskPayload MeshletInstance tps_meshlet_instance_indices[128];

This is illegal and does not compile BUT it also gives NO reason for the error. This is quite confusing and seems like an easy fix to add an error message for this instead of not giving anything.

Ipotrick avatar Jul 25 '23 00:07 Ipotrick

Could you attach a complete example of a shader that triggers this issue?

arcady-lunarg avatar Jul 25 '23 01:07 arcady-lunarg