diff options
Diffstat (limited to 'video.hpp')
-rw-r--r-- | video.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -408,17 +408,37 @@ struct Vertex_Format_Desc { int attribute_count; }; +struct Device; +struct Context; +struct Device_Debug_Hooks { + Device* dev; + virtual void on_rpo_create(const Render_Pass& rpo); + virtual void on_rpo_destroy(const Render_Pass& rpo); + virtual void on_fbo_create(const Render_Pass& pass); + virtual void on_fbo_destroy(const Render_Pass& pass); + virtual void on_pso_create(const Pipeline& pso); + virtual void on_pso_destroy(const Pipeline& pso); + virtual void on_dso_create(const Pipeline& pso); + virtual void on_dso_destroy(const Pipeline& pso); + virtual void on_acquire(Context& ctx); + virtual void on_submit(Context& ctx); + virtual void on_present(Context& ctx); +}; + struct Context; struct Shader; struct Device { Arena* arena; Heap* heap; App* app; + Device_Debug_Hooks* hooks; static Device* create(Arena* a, App* ap); void init(Arena* a, App* ap); void destroy(); + void register_hooks(Device_Debug_Hooks* hooks); + void on_resize(); void begin_frame(); |