在Nvidia上SSBO的编译时间很长,但对AMD没有

时间:2015-12-10 09:27:32

标签: c++ opengl shader nvidia amd

我试图在SSBO的帮助下将数据发送到我的Compute Shader,数据是一个结构,填充了4个另外的结构,230KB大。这工作正常,只要我在我的AMD卡上做,每当我在nvidia上尝试它,它只是编译(我认为)永远。如果我降低结构中的数据量,它将编译得很好。 这是Nvidia将SSBO限制在16MB以下,这是我所看到的标准,还是某种驱动程序错误?

CompileShader:

struct Plane {
    vec3 Normal;
    float d;
};

struct Frustum {
    Plane Planes[4];
};

layout (std430, binding = 0) buffer FrustumBuffer
{
    Frustum Data[3600];
} Frustums;

layout (local_size_x = 16, local_size_y = 16, local_size_z = 1) in;
void main ()
{
        if(1 == 1) {
    }
}

如果我将数据数组更改为1000而不是3600,则可以正常工作。

0 个答案:

没有答案