X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcore%2Fprogram.cpp;h=5c8257b2fc60de50bf0e767beb90a5f8da5784e2;hp=6458b4779d396ae3fe5072f4ec9381c1ba4b05e3;hb=a833b47ecd5bf91a979a30d0898f768a14cf5067;hpb=c8520aa336e92f2eaf9a38c3430c608520a90324 diff --git a/source/core/program.cpp b/source/core/program.cpp index 6458b477..5c8257b2 100644 --- a/source/core/program.cpp +++ b/source/core/program.cpp @@ -46,6 +46,13 @@ void Program::add_stages(const Module &mod, const map &spec_values) collect_attributes(static_cast(mod)); } + for(ReflectData::UniformBlockInfo &b: reflect_data.uniform_blocks) + if(!b.data_size && !b.uniforms.empty()) + { + const ReflectData::UniformInfo &uni = *b.uniforms.back(); + b.data_size = uni.location*16+uni.array_size*get_type_size(uni.type); + } + for(const ReflectData::UniformInfo &u: reflect_data.uniforms) require_type(u.type); for(const ReflectData::AttributeInfo &a: reflect_data.attributes)