summaryrefslogtreecommitdiffstats
path: root/opengl/libagl2/src/gles2context.h
diff options
context:
space:
mode:
Diffstat (limited to 'opengl/libagl2/src/gles2context.h')
-rw-r--r--opengl/libagl2/src/gles2context.h166
1 files changed, 0 insertions, 166 deletions
diff --git a/opengl/libagl2/src/gles2context.h b/opengl/libagl2/src/gles2context.h
deleted file mode 100644
index cec0340..0000000
--- a/opengl/libagl2/src/gles2context.h
+++ /dev/null
@@ -1,166 +0,0 @@
-#define _SIZE_T_DEFINED_
-typedef unsigned int size_t;
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <GLES/gl.h>
-#include <GLES/glext.h>
-
-#include <utils/threads.h>
-#include <pthread.h>
-
-#include <cutils/log.h>
-
-#include <assert.h>
-
-#ifdef __arm__
-#ifndef __location__
-#define __HIERALLOC_STRING_0__(s) #s
-#define __HIERALLOC_STRING_1__(s) __HIERALLOC_STRING_0__(s)
-#define __HIERALLOC_STRING_2__ __HIERALLOC_STRING_1__(__LINE__)
-#define __location__ __FILE__ ":" __HIERALLOC_STRING_2__
-#endif
-#undef assert
-#define assert(EXPR) { do { if (!(EXPR)) {LOGD("\n*\n*\n*\n* assert fail: '"#EXPR"' at "__location__"\n*\n*\n*\n*"); exit(EXIT_FAILURE); } } while (false); }
-//#define printf LOGD
-#else // #ifdef __arm__
-//#define LOGD printf
-#endif // #ifdef __arm__
-
-
-#include <pixelflinger2/pixelflinger2_format.h>
-#include <pixelflinger2/pixelflinger2.h>
-
-#include <map>
-
-typedef uint8_t GGLubyte; // ub
-
-#define ggl_likely(x) __builtin_expect(!!(x), 1)
-#define ggl_unlikely(x) __builtin_expect(!!(x), 0)
-
-#undef NELEM
-#define NELEM(x) (sizeof(x)/sizeof(*(x)))
-
-template<typename T>
-inline T max(T a, T b)
-{
- return a<b ? b : a;
-}
-
-template<typename T>
-inline T min(T a, T b)
-{
- return a<b ? a : b;
-}
-
-struct egl_context_t {
- enum {
- IS_CURRENT = 0x00010000,
- NEVER_CURRENT = 0x00020000
- };
- uint32_t flags;
- EGLDisplay dpy;
- EGLConfig config;
- EGLSurface read;
- EGLSurface draw;
-
- unsigned frame;
- clock_t lastSwapTime;
- float accumulateSeconds;
-
- static inline egl_context_t* context(EGLContext ctx);
-};
-
-struct GLES2Context;
-
-#ifdef HAVE_ANDROID_OS
-#include <bionic_tls.h>
-// We have a dedicated TLS slot in bionic
-inline void setGlThreadSpecific(GLES2Context *value)
-{
- ((uint32_t *)__get_tls())[TLS_SLOT_OPENGL] = (uint32_t)value;
-}
-inline GLES2Context* getGlThreadSpecific()
-{
- return (GLES2Context *)(((unsigned *)__get_tls())[TLS_SLOT_OPENGL]);
-}
-#else
-extern pthread_key_t gGLKey;
-inline void setGlThreadSpecific(GLES2Context *value)
-{
- pthread_setspecific(gGLKey, value);
-}
-inline GLES2Context* getGlThreadSpecific()
-{
- return static_cast<GLES2Context*>(pthread_getspecific(gGLKey));
-}
-#endif
-
-struct VBO {
- unsigned size;
- GLenum usage;
- void * data;
-};
-
-struct GLES2Context {
- GGLContext rasterizer;
- egl_context_t egl;
- GGLInterface * iface; // shortcut to &rasterizer.interface
-
- struct VertexState {
- struct VertAttribPointer {
- unsigned size; // number of values per vertex
- GLenum type; // data type
- unsigned stride; // bytes
- const void * ptr;
-bool normalized :
- 1;
-bool enabled :
- 1;
- } attribs [GGL_MAXVERTEXATTRIBS];
-
- VBO * vbo, * indices;
- std::map<GLuint, VBO *> vbos;
- GLuint free;
-
- Vector4 defaultAttribs [GGL_MAXVERTEXATTRIBS];
- } vert;
-
- struct TextureState {
- GGLTexture * tmus[GGL_MAXCOMBINEDTEXTUREIMAGEUNITS];
- int sampler2tmu[GGL_MAXCOMBINEDTEXTUREIMAGEUNITS]; // sampler2tmu[sampler] is index of tmu, -1 means not used
- unsigned active;
- std::map<GLuint, GGLTexture *> textures;
- GLuint free; // first possible free name
- GGLTexture * tex2D, * texCube; // default textures
- unsigned unpack;
-
- void UpdateSampler(GGLInterface * iface, unsigned tmu);
- } tex;
-
- GLES2Context();
- void InitializeTextures();
- void InitializeVertices();
-
- ~GLES2Context();
- void UninitializeTextures();
- void UninitializeVertices();
-
- static inline GLES2Context* get() {
- return getGlThreadSpecific();
- }
-};
-
-inline egl_context_t* egl_context_t::context(EGLContext ctx)
-{
- GLES2Context* const gl = static_cast<GLES2Context*>(ctx);
- return static_cast<egl_context_t*>(&gl->egl);
-}
-
-#define GLES2_GET_CONTEXT(ctx) GLES2Context * ctx = GLES2Context::get(); \
- /*puts(__FUNCTION__);*/
-#define GLES2_GET_CONST_CONTEXT(ctx) GLES2Context * ctx = GLES2Context::get(); \
- /*puts(__FUNCTION__);*/