X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fmodule.h;h=4d1511121e4191165bd3c9c13b7fb5f866c3e54b;hb=HEAD;hp=51924d606668db500e7b871f72f7677ae538190d;hpb=3efe3bab1c8290bd49a957ebec0ad97e58a35fcf;p=libs%2Fgl.git diff --git a/source/core/module.h b/source/core/module.h index 51924d60..4d151112 100644 --- a/source/core/module.h +++ b/source/core/module.h @@ -61,6 +61,9 @@ private: virtual void compile(SL::Compiler &) = 0; SL::Features create_features() const; + +public: + virtual void set_debug_name(const std::string &) { } }; /** @@ -100,8 +103,11 @@ public: enum Stage { VERTEX = 0, + TESS_CONTROL = 1, + TESS_EVAL = 2, GEOMETRY = 3, - FRAGMENT = 4 + FRAGMENT = 4, + COMPUTE = 5 }; enum StorageClass @@ -132,6 +138,7 @@ public: unsigned id = 0; Stage stage = VERTEX; std::vector globals; + LinAl::Vector compute_local_size; }; struct StructMember @@ -225,6 +232,7 @@ private: void reflect_name(CodeIterator); void reflect_member_name(CodeIterator); void reflect_entry_point(CodeIterator); + void reflect_execution_mode(CodeIterator); void reflect_void_type(CodeIterator); void reflect_bool_type(CodeIterator); void reflect_int_type(CodeIterator); @@ -278,6 +286,9 @@ public: private: std::vector collect_visited_blocks(const std::map &) const; void collect_visited_blocks(unsigned, std::vector &) const; + +public: + void set_debug_name(const std::string &n) { SpirVModuleBackend::set_debug_name(n); } }; } // namespace GL