vertexPipelineStoresAndAtomics предупреждение для вершинного шейдера Vulkan SSBO
Я хочу использовать массив vec3
в моем вершинном шейдере. я создал
layout(binding = 1) readonly buffer MyBuffer {
vec3 buf[];
} myBuffer;
...
vec test = myBuffer[gl_VertexIndex];
макет в моем GLSL и glslc
это к моему SPIR-V, где у него есть это NonWriteable
оп-код. Я выполнил всю работу на стороне процессора, настроив его с помощью набора дескрипторов и всего остального. Кажется, что данные проходят правильно, но я получаю это предупреждение через уровень проверки
ERROR: [Validation] Code 15 : Object: VK_NULL_HANDLE (Type = 0) | Shader requires vertexPipelineStoresAndAtomics but is not enabled on the device
Который затем смотрит больше на это, я понимаю, vertexPipelineStoresAndAtomics
это просто для не-вычислительных шейдеров, чтобы писать, но я только когда-либо читаю данные, поэтому не уверен, почему они кричат на меня. Кроме того, кажется, что он все еще работает, так что это ложноотрицательная ошибка или я делаю что-то совершенно неправильно?
1 ответ
В настоящее время это активно отслеживаемая ошибка в комплекте проверки. См. https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/2526 для получения дополнительной информации.