Я пытаюсь отправить данные в мой Compute Shader с помощью SSBO, данные представляют собой структуру, заполненную 4 из другой структуры, размером 230 КБ. Это прекрасно работает, пока я делаю это на моей карте AMD, всякий раз, когда я пробую это на nvidia, он просто компилируется (я думаю) навсегда. Если я уменьшу количество данных в структуре, это будет хорошо скомпилировано.
Это то, что Nvidia ограничивает SSBO менее 16 МБ, это стандарт из того, что я видел, или это какая-то ошибка драйвера?
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, он будет работать.
Задача ещё не решена.
Других решений пока нет …