summaryrefslogtreecommitdiff
path: root/src/VBox/GuestHost/OpenGL/state_tracker/state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/GuestHost/OpenGL/state_tracker/state.h')
-rw-r--r--src/VBox/GuestHost/OpenGL/state_tracker/state.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/VBox/GuestHost/OpenGL/state_tracker/state.h b/src/VBox/GuestHost/OpenGL/state_tracker/state.h
index c94525a1..07429aa9 100644
--- a/src/VBox/GuestHost/OpenGL/state_tracker/state.h
+++ b/src/VBox/GuestHost/OpenGL/state_tracker/state.h
@@ -9,6 +9,16 @@
#include "cr_glstate.h"
+#define CRSTATE_CHECKERR_RET(expr, result, message, ret) \
+ if (expr) { \
+ crStateError(__LINE__, __FILE__, result, message); \
+ return ret; \
+ }
+
+#define CRSTATE_NO_RETURN
+
+#define CRSTATE_CHECKERR(expr, result, message) CRSTATE_CHECKERR_RET(expr, result, message, CRSTATE_NO_RETURN)
+
typedef struct _crCheckIDHWID {
GLuint id, hwid;
} crCheckIDHWID_t;
@@ -33,6 +43,11 @@ extern CRContext *__currentContext;
#define GetCurrentContext() __currentContext
#endif
+extern GLboolean g_bVBoxEnableDiffOnMakeCurrent;
+
+extern CRContext *g_pAvailableContexts[CR_MAX_CONTEXTS];
+extern uint32_t g_cContexts;
+
extern void crStateTextureInitTextureObj (CRContext *ctx, CRTextureObj *tobj, GLuint name, GLenum target);
extern void crStateTextureInitTextureFormat( CRTextureLevel *tl, GLenum internalFormat );
@@ -55,10 +70,10 @@ void crStateClientDiff(CRClientBits *cb, CRbitvalue *bitID, CRContext *from, CRC
void crStateClientSwitch(CRClientBits *cb, CRbitvalue *bitID, CRContext *from, CRContext *to);
-void crStateGetTextureObjectAndImage(CRContext *g, GLenum texTarget, GLint level,
- CRTextureObj **obj, CRTextureLevel **img);
-
void crStateFreeBufferObject(void *data);
void crStateFreeFBO(void *data);
void crStateFreeRBO(void *data);
+
+void crStateGenNames(CRContext *g, CRHashTable *table, GLsizei n, GLuint *names);
+void crStateRegNames(CRContext *g, CRHashTable *table, GLsizei n, GLuint *names);
#endif