]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/opengl/program_backend.h
Remove support for array size specialization from the engine as well
[libs/gl.git] / source / backends / opengl / program_backend.h
index 4ae729e2c95525cc2ef8e102991d0bc25e464632..b08b70fae968e5992e1e7e026aaa5f7004c78430 100644 (file)
@@ -26,7 +26,6 @@ protected:
        {
                std::map<std::string, unsigned> textures;
                std::map<std::string, unsigned> blocks;
-               std::map<unsigned, int> spec_values;
        };
 
        struct UniformCall
@@ -40,9 +39,9 @@ protected:
                UniformCall(unsigned l, unsigned s, FuncPtr f): location(l), size(s), func(f) { }
        };
 
-       unsigned id;
-       unsigned stage_ids[MAX_STAGES];
-       bool linked;
+       unsigned id = 0;
+       unsigned stage_ids[MAX_STAGES] = { };
+       bool linked = false;
        std::vector<UniformCall> uniform_calls;
        std::string debug_name;
 
@@ -53,13 +52,14 @@ protected:
        unsigned add_stage(Stage);
        void add_glsl_stages(const GlslModule &, const std::map<std::string, int> &, TransientData &);
        void compile_glsl_stage(const GlslModule &, unsigned);
-       void add_spirv_stages(const SpirVModule &, const std::map<std::string, int> &, TransientData &);
+       void add_spirv_stages(const SpirVModule &, const std::map<std::string, int> &);
 
-       void finalize(const Module &);
+       void finalize(const Module &, TransientData &);
        void query_uniforms();
        void query_uniform_blocks(const std::vector<ReflectData::UniformInfo *> &);
        void query_attributes();
        void apply_bindings(const TransientData &);
+       void finalize_uniforms();
 
        void set_debug_name(const std::string &);
        void set_stage_debug_name(unsigned, Stage);