每当我试图访问一个SSBO时,我都会收到一个错误信息,称 atio6axx.pdb not loaded
.
我的显卡 (AMD) 驱动程序已更新, 但有趣的是,同时搜索的解决方案,我发现 这个 线程,这是几个小时前才发的,那么会不会是驱动的问题呢?我搜索了一下我的电脑,发现 .dll
而非 .pdb
,可能是这个问题吗?我把VS设置为从Microsoft Symbol Servers加载符号,但不是NuGet.org Symbol Servers。
相关代码。
Shader(简化为只显示必要的代码)
#version 430 core
layout(binding = 5, std430) buffer test
{
float t[];
};
out vec4 colour;
void main()
{
colour = vec4(test.t[0], test.t[1], test.t[2], 1);
}
创建SSBO
float test[3] { 0, 10, 0 };
glGenBuffers(1, &ss_id);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, ss_id);
glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(float) * 3, test, GL_STATIC_READ);
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 5, ss_id);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
感谢任何帮助
对于其他有这个问题的人,我找到了它发生的原因。我指的是SSBO中的数据与 test.t[0]
而不是应该只是 t[0]
.