summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/state_tracker
diff options
context:
space:
mode:
authorJakob Bornecrantz <[email protected]>2010-04-24 01:05:49 +0100
committerJakob Bornecrantz <[email protected]>2010-04-26 00:40:17 +0100
commit0c572c6828b6a338b07a6860280b3a314a81662e (patch)
tree749dc6f81128f7a1b16953fad240f53108b4f8a4 /src/gallium/include/state_tracker
parent81ab19de04e623d24cb65ad1ed3b240bce78235b (diff)
st_api: Remove st_module
The struct st_module isn't needed as it is the same thing as the st_api struct. That is they both represent the API. Instead just use a single function entry point to the the API.
Diffstat (limited to 'src/gallium/include/state_tracker')
-rw-r--r--src/gallium/include/state_tracker/st_api.h35
1 files changed, 12 insertions, 23 deletions
diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h
index 8897ff7c259..002d1c6b840 100644
--- a/src/gallium/include/state_tracker/st_api.h
+++ b/src/gallium/include/state_tracker/st_api.h
@@ -43,14 +43,6 @@
*/
/**
- * The entry points of the state trackers.
- */
-#define ST_MODULE_OPENGL_SYMBOL "st_module_OpenGL"
-#define ST_MODULE_OPENGL_ES1_SYMBOL "st_module_OpenGL_ES1"
-#define ST_MODULE_OPENGL_ES2_SYMBOL "st_module_OpenGL_ES2"
-#define ST_MODULE_OPENVG_SYMBOL "st_module_OpenVG"
-
-/**
* The supported rendering API of a state tracker.
*/
enum st_api_type {
@@ -379,17 +371,6 @@ struct st_api
};
/**
- * Represent a state tracker.
- *
- * This is the entry point of a state tracker.
- */
-struct st_module
-{
- enum st_api_type api;
- struct st_api *(*create_api)(void);
-};
-
-/**
* Return true if the visual has the specified buffers.
*/
static INLINE boolean
@@ -399,9 +380,17 @@ st_visual_have_buffers(const struct st_visual *visual, unsigned mask)
}
/* these symbols may need to be dynamically lookup up */
-extern PUBLIC const struct st_module st_module_OpenGL;
-extern PUBLIC const struct st_module st_module_OpenGL_ES1;
-extern PUBLIC const struct st_module st_module_OpenGL_ES2;
-extern PUBLIC const struct st_module st_module_OpenVG;
+extern PUBLIC struct st_api * st_api_create_OpenGL(void);
+extern PUBLIC struct st_api * st_api_create_OpenGL_ES1(void);
+extern PUBLIC struct st_api * st_api_create_OpenGL_ES2(void);
+extern PUBLIC struct st_api * st_api_create_OpenVG(void);
+
+/**
+ * The entry points of the state trackers.
+ */
+#define ST_CREATE_OPENGL_SYMBOL "st_api_create_OpenGL"
+#define ST_CREATE_OPENGL_ES1_SYMBOL "st_api_create_OpenGL_ES1"
+#define ST_CREATE_OPENGL_ES2_SYMBOL "st_api_create_OpenGL_ES2"
+#define ST_CREATE_OPENVG_SYMBOL "st_api_create_OpenVG"
#endif /* _ST_API_H_ */