summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/egl/common/egl_g3d.h
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2010-06-29 14:58:33 +0800
committerChia-I Wu <olv@lunarg.com>2010-06-29 17:16:20 +0800
commitd5ab243d5a5bacbd2ba615d40f13c8ab37364745 (patch)
treebbf3c92d3c512e0d12eab3a7036c60c8e2cf7171 /src/gallium/state_trackers/egl/common/egl_g3d.h
parentd8e0e114567ec19fd59f974080a418dc959cc9b6 (diff)
st/egl: Move module loading code to targets.
Several changes are made. libegl.a no longer defines _eglMain. It defines functions to create and destroy a _EGLDriver instead. The creation function is called by the targets. It takes an egl_g3d_loader as its argument. The loader is defined by the targets and is in charge of creating st_api and pipe_screen. This allows us to move the module loading code to targets. Lastly, the modules are now loaded as the respective contexts are created.
Diffstat (limited to 'src/gallium/state_trackers/egl/common/egl_g3d.h')
-rw-r--r--src/gallium/state_trackers/egl/common/egl_g3d.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.h b/src/gallium/state_trackers/egl/common/egl_g3d.h
index a498dcf6f6..d9ecb208e0 100644
--- a/src/gallium/state_trackers/egl/common/egl_g3d.h
+++ b/src/gallium/state_trackers/egl/common/egl_g3d.h
@@ -41,12 +41,11 @@
#include "native.h"
#include "egl_g3d_st.h"
+#include "egl_g3d_loader.h"
struct egl_g3d_driver {
_EGLDriver base;
- struct st_api *stapis[ST_API_COUNT];
- EGLint api_mask;
-
+ const struct egl_g3d_loader *loader;
const struct native_platform *platforms[_EGL_NUM_PLATFORMS];
EGLint probe_key;
};
@@ -54,6 +53,7 @@ struct egl_g3d_driver {
struct egl_g3d_display {
struct native_display *native;
+ const struct egl_g3d_loader *loader;
struct st_manager *smapi;
struct pipe_context *pipe;
};