Я хочу использовать массив 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
просто для не-вычислительных шейдеров, чтобы писать в него, но я только когда читаю данные, поэтому не уверен, почему они кричат на меня. Кроме того, похоже, что он все еще работает, так что это ложноотрицательная ошибка или я делаю что-то совершенно неправильно?