summaryrefslogtreecommitdiffstats
path: root/src/egl/main/egldriver.h
diff options
context:
space:
mode:
authorJulien Cristau <[email protected]>2007-02-01 11:50:36 +0100
committerJulien Cristau <[email protected]>2007-02-01 11:50:36 +0100
commit2634f06c2095b79d4252bb81c0b0272139dad890 (patch)
tree855ba634812939982daa999dc44365a4d889d11e /src/egl/main/egldriver.h
parent7549426a168f3803d6023622dd9e630a5fa2faf6 (diff)
parenteb667b979bc941f05b8f40a2fc39af6fac960ac5 (diff)
Merge branch 'upstream-experimental' into debian-experimental
Conflicts: progs/util/README progs/util/glstate.c progs/util/glstate.h progs/util/sampleMakefile src/glu/sgi/libnurbs/interface/bezierEval.h src/glu/sgi/libnurbs/interface/bezierPatch.cc src/glu/sgi/libnurbs/interface/bezierPatch.h src/glu/sgi/libnurbs/interface/bezierPatchMesh.cc src/glu/sgi/libnurbs/interface/bezierPatchMesh.h src/glu/sgi/libnurbs/interface/glcurveval.cc src/glu/sgi/libnurbs/interface/glimports.h src/glu/sgi/libnurbs/interface/glinterface.cc src/glu/sgi/libnurbs/interface/glrenderer.h src/glu/sgi/libnurbs/interface/incurveeval.cc src/glu/sgi/libnurbs/interface/insurfeval.cc src/glu/sgi/libnurbs/interface/mystdio.h src/glu/sgi/libnurbs/interface/mystdlib.h src/glu/sgi/libnurbs/internals/arc.h src/glu/sgi/libnurbs/internals/arcsorter.cc src/glu/sgi/libnurbs/internals/arcsorter.h src/glu/sgi/libnurbs/internals/arctess.h src/glu/sgi/libnurbs/internals/backend.cc src/glu/sgi/libnurbs/internals/backend.h src/glu/sgi/libnurbs/internals/basiccrveval.h src/glu/sgi/libnurbs/internals/basicsurfeval.h src/glu/sgi/libnurbs/internals/bezierarc.h src/glu/sgi/libnurbs/internals/bin.cc src/glu/sgi/libnurbs/internals/bin.h src/glu/sgi/libnurbs/internals/bufpool.cc src/glu/sgi/libnurbs/internals/bufpool.h src/glu/sgi/libnurbs/internals/cachingeval.cc src/glu/sgi/libnurbs/internals/cachingeval.h src/glu/sgi/libnurbs/internals/ccw.cc src/glu/sgi/libnurbs/internals/coveandtiler.h src/glu/sgi/libnurbs/internals/curve.cc src/glu/sgi/libnurbs/internals/curve.h src/glu/sgi/libnurbs/internals/curvelist.cc src/glu/sgi/libnurbs/internals/curvelist.h src/glu/sgi/libnurbs/internals/curvesub.cc src/glu/sgi/libnurbs/internals/dataTransform.cc src/glu/sgi/libnurbs/internals/dataTransform.h src/glu/sgi/libnurbs/internals/defines.h src/glu/sgi/libnurbs/internals/displaylist.cc src/glu/sgi/libnurbs/internals/displaylist.h src/glu/sgi/libnurbs/internals/displaymode.h src/glu/sgi/libnurbs/internals/flist.cc src/glu/sgi/libnurbs/internals/flist.h src/glu/sgi/libnurbs/internals/flistsorter.cc src/glu/sgi/libnurbs/internals/flistsorter.h src/glu/sgi/libnurbs/internals/gridline.h src/glu/sgi/libnurbs/internals/gridtrimvertex.h src/glu/sgi/libnurbs/internals/gridvertex.h src/glu/sgi/libnurbs/internals/hull.cc src/glu/sgi/libnurbs/internals/hull.h src/glu/sgi/libnurbs/internals/intersect.cc src/glu/sgi/libnurbs/internals/jarcloc.h src/glu/sgi/libnurbs/internals/knotvector.h src/glu/sgi/libnurbs/internals/mapdesc.cc src/glu/sgi/libnurbs/internals/mapdesc.h src/glu/sgi/libnurbs/internals/mapdescv.cc src/glu/sgi/libnurbs/internals/maplist.cc src/glu/sgi/libnurbs/internals/maplist.h src/glu/sgi/libnurbs/internals/mesher.cc src/glu/sgi/libnurbs/internals/mesher.h src/glu/sgi/libnurbs/internals/monoTriangulationBackend.cc src/glu/sgi/libnurbs/internals/monotonizer.cc src/glu/sgi/libnurbs/internals/monotonizer.h src/glu/sgi/libnurbs/internals/myassert.h src/glu/sgi/libnurbs/internals/mycode.cc src/glu/sgi/libnurbs/internals/mystring.h src/glu/sgi/libnurbs/internals/nurbsconsts.h src/glu/sgi/libnurbs/internals/nurbstess.cc src/glu/sgi/libnurbs/internals/patch.cc src/glu/sgi/libnurbs/internals/patch.h src/glu/sgi/libnurbs/internals/patchlist.cc src/glu/sgi/libnurbs/internals/patchlist.h src/glu/sgi/libnurbs/internals/pwlarc.h src/glu/sgi/libnurbs/internals/quilt.cc src/glu/sgi/libnurbs/internals/quilt.h src/glu/sgi/libnurbs/internals/reader.cc src/glu/sgi/libnurbs/internals/reader.h src/glu/sgi/libnurbs/internals/renderhints.cc src/glu/sgi/libnurbs/internals/renderhints.h src/glu/sgi/libnurbs/internals/simplemath.h src/glu/sgi/libnurbs/internals/slicer.cc src/glu/sgi/libnurbs/internals/slicer.h src/glu/sgi/libnurbs/internals/sorter.cc src/glu/sgi/libnurbs/internals/sorter.h src/glu/sgi/libnurbs/internals/splitarcs.cc src/glu/sgi/libnurbs/internals/subdivider.h src/glu/sgi/libnurbs/internals/tobezier.cc src/glu/sgi/libnurbs/internals/trimline.cc src/glu/sgi/libnurbs/internals/trimline.h src/glu/sgi/libnurbs/internals/trimregion.cc src/glu/sgi/libnurbs/internals/trimregion.h src/glu/sgi/libnurbs/internals/trimvertex.h src/glu/sgi/libnurbs/internals/trimvertpool.cc src/glu/sgi/libnurbs/internals/trimvertpool.h src/glu/sgi/libnurbs/internals/types.h src/glu/sgi/libnurbs/internals/uarray.cc src/glu/sgi/libnurbs/internals/uarray.h src/glu/sgi/libnurbs/internals/varray.cc src/glu/sgi/libnurbs/internals/varray.h src/glu/sgi/libnurbs/nurbtess/definitions.h src/glu/sgi/libnurbs/nurbtess/directedLine.h src/glu/sgi/libnurbs/nurbtess/glimports.h src/glu/sgi/libnurbs/nurbtess/gridWrap.cc src/glu/sgi/libnurbs/nurbtess/gridWrap.h src/glu/sgi/libnurbs/nurbtess/monoChain.cc src/glu/sgi/libnurbs/nurbtess/monoChain.h src/glu/sgi/libnurbs/nurbtess/monoTriangulation.cc src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h src/glu/sgi/libnurbs/nurbtess/mystdio.h src/glu/sgi/libnurbs/nurbtess/mystdlib.h src/glu/sgi/libnurbs/nurbtess/partitionX.cc src/glu/sgi/libnurbs/nurbtess/partitionX.h src/glu/sgi/libnurbs/nurbtess/partitionY.cc src/glu/sgi/libnurbs/nurbtess/partitionY.h src/glu/sgi/libnurbs/nurbtess/polyDBG.h src/glu/sgi/libnurbs/nurbtess/polyUtil.cc src/glu/sgi/libnurbs/nurbtess/polyUtil.h src/glu/sgi/libnurbs/nurbtess/primitiveStream.cc src/glu/sgi/libnurbs/nurbtess/primitiveStream.h src/glu/sgi/libnurbs/nurbtess/quicksort.cc src/glu/sgi/libnurbs/nurbtess/quicksort.h src/glu/sgi/libnurbs/nurbtess/rectBlock.cc src/glu/sgi/libnurbs/nurbtess/rectBlock.h src/glu/sgi/libnurbs/nurbtess/sampleComp.cc src/glu/sgi/libnurbs/nurbtess/sampleComp.h src/glu/sgi/libnurbs/nurbtess/sampleCompBot.cc src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h src/glu/sgi/libnurbs/nurbtess/sampleCompRight.cc src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h src/glu/sgi/libnurbs/nurbtess/sampleCompTop.cc src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.cc src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h src/glu/sgi/libnurbs/nurbtess/sampledLine.cc src/glu/sgi/libnurbs/nurbtess/sampledLine.h src/glu/sgi/libnurbs/nurbtess/searchTree.cc src/glu/sgi/libnurbs/nurbtess/searchTree.h src/glu/sgi/libnurbs/nurbtess/zlassert.h src/glu/sgi/libtess/README src/glu/sgi/libtess/alg-outline src/glu/sgi/libtess/dict-list.h src/glu/sgi/libtess/dict.c src/glu/sgi/libtess/dict.h src/glu/sgi/libtess/geom.c src/glu/sgi/libtess/memalloc.c src/glu/sgi/libtess/memalloc.h src/glu/sgi/libtess/mesh.c src/glu/sgi/libtess/mesh.h src/glu/sgi/libtess/normal.h src/glu/sgi/libtess/priorityq-heap.c src/glu/sgi/libtess/priorityq-heap.h src/glu/sgi/libtess/priorityq-sort.h src/glu/sgi/libtess/priorityq.c src/glu/sgi/libtess/priorityq.h src/glu/sgi/libtess/render.c src/glu/sgi/libtess/render.h src/glu/sgi/libtess/sweep.h src/glu/sgi/libtess/tess.h src/glu/sgi/libtess/tessmono.c src/glu/sgi/libtess/tessmono.h src/glu/sgi/libutil/error.c src/glu/sgi/libutil/glue.c src/glu/sgi/libutil/gluint.h src/glu/sgi/libutil/project.c src/glu/sgi/libutil/registry.c
Diffstat (limited to 'src/egl/main/egldriver.h')
-rw-r--r--src/egl/main/egldriver.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h
new file mode 100644
index 00000000000..88526e973d1
--- /dev/null
+++ b/src/egl/main/egldriver.h
@@ -0,0 +1,81 @@
+#ifndef EGLDRIVER_INCLUDED
+#define EGLDRIVER_INCLUDED
+
+
+#include "egltypedefs.h"
+#include "eglapi.h"
+
+/* should probably use a dynamic-length string, but this will do */
+#define MAX_EXTENSIONS_LEN 1000
+
+
+/**
+ * Optional EGL extensions info.
+ */
+struct _egl_extensions
+{
+ EGLBoolean MESA_screen_surface;
+ EGLBoolean MESA_copy_context;
+
+ char String[MAX_EXTENSIONS_LEN];
+};
+
+
+/**
+ * Base class for device drivers.
+ */
+struct _egl_driver
+{
+ EGLBoolean Initialized; /* set by driver after initialized */
+
+ void *LibHandle; /* dlopen handle */
+
+ _EGLDisplay *Display;
+
+ int ABIversion;
+ int APImajor, APIminor; /* returned through eglInitialize */
+ const char *ClientAPIs;
+
+ _EGLAPI API;
+
+ _EGLExtensions Extensions;
+};
+
+
+extern _EGLDriver *_eglMain(_EGLDisplay *dpy);
+
+
+extern _EGLDriver *
+_eglChooseDriver(EGLDisplay dpy);
+
+
+extern _EGLDriver *
+_eglOpenDriver(_EGLDisplay *dpy, const char *driverName);
+
+
+extern EGLBoolean
+_eglCloseDriver(_EGLDriver *drv, EGLDisplay dpy);
+
+
+extern _EGLDriver *
+_eglLookupDriver(EGLDisplay d);
+
+
+extern void
+_eglInitDriverFallbacks(_EGLDriver *drv);
+
+
+extern const char *
+_eglQueryString(_EGLDriver *drv, EGLDisplay dpy, EGLint name);
+
+
+extern EGLBoolean
+_eglWaitGL(_EGLDriver *drv, EGLDisplay dpy);
+
+
+extern EGLBoolean
+_eglWaitNative(_EGLDriver *drv, EGLDisplay dpy, EGLint engine);
+
+
+
+#endif /* EGLDRIVER_INCLUDED */