glslang
glslang copied to clipboard
No error message given
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.
Could you attach a complete example of a shader that triggers this issue?