vertexPipelineStoresAndAtomics предупреждение для вершинного шейдера Vulkan SSBO - PullRequest
0 голосов
/ 11 мая 2018

Я хочу использовать массив vec3 в моем шейдере Vertex. Я создал

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 Ответ

0 голосов
/ 25 мая 2018

В настоящее время это активно отслеживаемая ошибка в комплекте проверки. См. https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/2526 для получения дополнительной информации.

...