diff --git a/src/modules/graphics/Shader.cpp b/src/modules/graphics/Shader.cpp index 71ffac2df..728e372ab 100644 --- a/src/modules/graphics/Shader.cpp +++ b/src/modules/graphics/Shader.cpp @@ -891,14 +891,14 @@ bool Shader::validateInternal(StrongRef stages[], std::string &err, const glslang::TTypeList *structure = type->getStruct(); if (structure == nullptr || structure->size() != 1) { - err = "Shader validation error:\nStorage Buffer block '" + info.name + "' must contain a single unsized array of structs."; + err = "Shader validation error:\nStorage Buffer block '" + info.name + "' must contain a single unsized array of base types or structs."; return false; } - const glslang::TType* structtype = (*structure)[0].type; - if (structtype == nullptr || structtype->getBasicType() != glslang::EbtStruct || !structtype->isUnsizedArray()) + const glslang::TType* elementtype = (*structure)[0].type; + if (elementtype == nullptr || !elementtype->isUnsizedArray()) { - err = "Shader validation error:\nStorage Buffer block '" + info.name + "' must contain a single unsized array of structs."; + err = "Shader validation error:\nStorage Buffer block '" + info.name + "' must contain a single unsized array of base types or structs."; return false; } diff --git a/src/modules/graphics/opengl/Shader.h b/src/modules/graphics/opengl/Shader.h index efab5ab59..13ded3566 100644 --- a/src/modules/graphics/opengl/Shader.h +++ b/src/modules/graphics/opengl/Shader.h @@ -45,7 +45,7 @@ public: struct StorageTextureBinding { - Texture *texture = nullptr; + love::graphics::Texture *texture = nullptr; GLuint gltexture = 0; TextureType type = TEXTURE_2D; GLenum access = GL_READ_ONLY;