]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/program.cpp
Store descriptor set in program reflection data
[libs/gl.git] / source / core / program.cpp
index 57ef987950d9dbbaed82d3a75669b53a6b7fbc20..72eb03d8d92dcf233ee20a5fddd3d9127d7f6ab4 100644 (file)
@@ -38,6 +38,7 @@ void Program::add_stages(const Module &mod, const map<string, int> &spec_values)
        {
                collect_uniforms(static_cast<const SpirVModule &>(mod));
                collect_attributes(static_cast<const SpirVModule &>(mod));
+               collect_builtins(static_cast<const SpirVModule &>(mod));
        }
 
        finalize_uniforms();
@@ -62,6 +63,7 @@ void Program::collect_uniforms(const SpirVModule &mod)
                        ReflectData::UniformBlockInfo &info = reflect_data.uniform_blocks.back();
                        info.name = v.struct_type->name;
                        info.bind_point = v.binding;
+                       info.descriptor_set = v.descriptor_set;
                        info.data_size = v.struct_type->size;
 
                        string prefix;
@@ -79,6 +81,7 @@ void Program::collect_uniforms(const SpirVModule &mod)
                        info.tag = v.name;
                        info.location = v.location;
                        info.binding = v.binding;
+                       info.descriptor_set = v.descriptor_set;
                        info.array_size = max(v.array_size, 1U);
                        info.type = v.type;
                }