summaryrefslogtreecommitdiffstats
path: root/src/VBox/Additions/common/crOpenGL/array/arrayspu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Additions/common/crOpenGL/array/arrayspu.h')
-rw-r--r--src/VBox/Additions/common/crOpenGL/array/arrayspu.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/VBox/Additions/common/crOpenGL/array/arrayspu.h b/src/VBox/Additions/common/crOpenGL/array/arrayspu.h
new file mode 100644
index 00000000..f31dea5c
--- /dev/null
+++ b/src/VBox/Additions/common/crOpenGL/array/arrayspu.h
@@ -0,0 +1,46 @@
+/* Copyright (c) 2001, Stanford University
+ * All rights reserved.
+ *
+ * See the file LICENSE.txt for information on redistributing this software.
+ */
+
+#ifndef GA_INCLUDED_SRC_common_crOpenGL_array_arrayspu_h
+#define GA_INCLUDED_SRC_common_crOpenGL_array_arrayspu_h
+#ifndef RT_WITHOUT_PRAGMA_ONCE
+# pragma once
+#endif
+
+#ifdef WINDOWS
+#define ARRAYSPU_APIENTRY __stdcall
+#else
+#define ARRAYSPU_APIENTRY
+#endif
+
+#include "cr_spu.h"
+#include "cr_glstate.h"
+
+void arrayspuSetVBoxConfiguration( void );
+
+typedef struct context_info_t ContextInfo;
+
+struct context_info_t {
+ CRContext *clientState; /* used to store client-side GL state */
+ GLint clientCtx; /* client context ID */
+};
+
+typedef struct {
+ int id;
+ int has_child;
+ CRContext *defaultctx;
+ SPUDispatchTable self, child, super;
+ int numContexts;
+ ContextInfo context[CR_MAX_CONTEXTS];
+} ArraySPU;
+
+extern ArraySPU array_spu;
+
+#ifdef CHROMIUM_THREADSAFE
+extern CRmutex _ArrayMutex;
+#endif
+
+#endif /* !GA_INCLUDED_SRC_common_crOpenGL_array_arrayspu_h */