1

我正在使用带有 NVIDIA 驱动程序 384.111 的 Ubuntu 16.4,我遇到了与此类似的问题

我以与链接讨论中所述相同的方式将最小的 GLSL 顶点着色器(一个输入和一个空的主函数)编译到 SPIR-V。当我加载并专门化它时,专门化不成功,信息日志只包含随机数据。

我决定发布这个问题,因为链接评论中引用的讨论不再存在并且已经超过一年了。我在此处或 NVIDIA 开发论坛上找不到任何其他关于此问题的参考资料。

是否有任何错误可以合法地产生损坏的信息日志,或者这是驱动程序错误?不知何故,这个问题似乎不太可能已经存在一年多而没有人讨论过。

我的 GLSL 着色器如下所示:

#version 330  
layout(location = 0) in  vec3 vPosition; 

void main() {
}

我使用以下命令将代码编译为 SPIR-V:

./glslangValidator -G quad.vert -o quad.vert.spv

以下代码加载着色器:

glShaderBinary(1, &shader, GL_SHADER_BINARY_FORMAT_SPIR_V_ARB, shader_source.data(), (GLsizei)shader_source.size());
glSpecializeShader(shader, "main", 0, nullptr, nullptr);
4

0 回答 0