]> git.notmuchmail.org Git - apitrace/blobdiff - retrace/glretrace.hpp
Improved profiling capabilities.
[apitrace] / retrace / glretrace.hpp
index 100d5a8991870cd1ce9ead988a103467c3f7ebab..bfc6398abdc2c5b7bd3900b38789df49e48c12c0 100644 (file)
 namespace glretrace {
 
 
+extern bool insideList;
 extern bool insideGlBeginEnd;
-extern glws::Profile defaultProfile;
-extern glws::Visual *visual[glws::PROFILE_MAX];
-extern glws::Drawable *drawable;
-extern glws::Context *context;
+
+
+extern glws::Drawable *currentDrawable;
+extern glws::Context *currentContext;
+
+glws::Drawable *
+createDrawable(glws::Profile profile);
+
+glws::Drawable *
+createDrawable(void);
+
+glws::Context *
+createContext(glws::Context *shareContext, glws::Profile profile);
+
+glws::Context *
+createContext(glws::Context *shareContext = 0);
+
+bool
+makeCurrent(trace::Call &call, glws::Drawable *drawable, glws::Context *context);
+
 
 void
 checkGlError(trace::Call &call);
@@ -48,11 +65,18 @@ extern const retrace::Entry glx_callbacks[];
 extern const retrace::Entry wgl_callbacks[];
 extern const retrace::Entry egl_callbacks[];
 
+void frame_start();
 void frame_complete(trace::Call &call);
 
 void updateDrawable(int width, int height);
 
+void flushQueries();
+void beginProfile(trace::Call &call);
+void endProfile(trace::Call &call);
+
+void setActiveProgram(GLuint program);
 } /* namespace glretrace */
 
+GLuint retrace_unmap_program(GLuint val);
 
 #endif /* _GLRETRACE_HPP_ */