]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/spirv.h
Add inline data items to the collection
[libs/gl.git] / source / glsl / spirv.h
index add5a967d3659d525901101cb25e3712601a2f03..f18bf61c39443196795c2fdb9d80145e2e8d888c 100644 (file)
@@ -31,6 +31,7 @@ private:
                char extension[13];
                Word opcode;
                UInt8 arg_order[4];
+               Word capability;
                void (SpirVGenerator::*handler)(FunctionCall &, const std::vector<Id> &);
        };
 
@@ -79,6 +80,7 @@ private:
        std::map<Node *, Declaration> declared_ids;
        std::map<std::string, Id> declared_uniform_ids;
        std::map<TypeKey, Id> standard_type_ids;
+       std::map<Id, Id> image_type_ids;
        std::map<TypeKey, Id> array_type_ids;
        std::map<TypeKey, Id> pointer_type_ids;
        std::map<std::string, Id> function_type_ids;
@@ -113,6 +115,7 @@ private:
        Id import_extension(const std::string &);
        Id get_id(Node &) const;
        Id allocate_id(Node &, Id);
+       Id allocate_forward_id(Node &);
        Id write_constant(Id, Word, bool);
        static ConstantKey get_constant_key(Id, const Variant &value);
        Id get_constant_id(Id, const Variant &value);
@@ -147,6 +150,7 @@ private:
        virtual void visit(FunctionCall &);
        void visit_constructor(FunctionCall &, const std::vector<Id> &, bool);
        void visit_builtin_matrix_comp_mult(FunctionCall &, const std::vector<Id> &);
+       void visit_builtin_texture_query(FunctionCall &, const std::vector<Id> &);
        void visit_builtin_texture(FunctionCall &, const std::vector<Id> &);
        void visit_builtin_texel_fetch(FunctionCall &, const std::vector<Id> &);
        void visit_builtin_interpolate(FunctionCall &, const std::vector<Id> &);