我想vec3
在我的顶点着色器中使用一个数组。我建立
layout(binding = 1) readonly buffer MyBuffer {
vec3 buf[];
} myBuffer;
...
vec test = myBuffer[gl_VertexIndex];
我的 GLSL 中的布局并将glslc
其转移到我的 SPIR-V 中,它有它的NonWriteable
操作码。我做了所有 CPU 方面的工作,使用描述符集和所有设置它。数据似乎正确通过,但我通过验证层收到此警告
ERROR: [Validation] Code 15 : Object: VK_NULL_HANDLE (Type = 0) | Shader requires vertexPipelineStoresAndAtomics but is not enabled on the device
然后对其进行更多研究,我意识到这vertexPipelineStoresAndAtomics
只是供非计算着色器写入,但我只读取数据,所以不确定它为什么对我大喊大叫。此外,它似乎仍在工作,所以这是一个假阴性错误还是我做错了什么?