X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fglretrace.hpp;h=7441b56938e22481e0110b181b74b7de81a55c98;hb=771273711a483847df104149a992746b44bb8314;hp=f058d8deaaf94731b889b8c9e5781824ba5ca464;hpb=958d980c85810ed01ad45f8c2af924368dde20f4;p=apitrace diff --git a/retrace/glretrace.hpp b/retrace/glretrace.hpp index f058d8d..7441b56 100644 --- a/retrace/glretrace.hpp +++ b/retrace/glretrace.hpp @@ -35,17 +35,19 @@ namespace glretrace { struct Context { Context(glws::Context* context) : wsContext(context), + drawable(0), activeProgram(0), used(false) { } - ~Context() - { - delete wsContext; - } + ~Context(); glws::Context* wsContext; + + // Bound drawable + glws::Drawable *drawable; + GLuint activeProgram; bool used; @@ -58,10 +60,10 @@ struct Context { extern bool insideList; extern bool insideGlBeginEnd; +extern bool supportsARBShaderObjects; - -extern glws::Drawable *currentDrawable; -extern Context *currentContext; +Context * +getCurrentContext(void); int @@ -74,6 +76,9 @@ createDrawable(glws::Profile profile); glws::Drawable * createDrawable(void); +glws::Drawable * +createPbuffer(int width, int height); + Context * createContext(Context *shareContext, glws::Profile profile);