st_api: Add get param function to st_manager

This commit is contained in:
Jakob Bornecrantz
2010-05-21 20:25:54 +01:00
parent 0853401805
commit 5f66363f8e
5 changed files with 45 additions and 1 deletions
@@ -105,6 +105,13 @@ enum st_context_resource_type {
ST_CONTEXT_RESOURCE_OPENVG_PARENT_IMAGE
};
/**
* Value to st_manager->get_param function.
*/
enum st_manager_param {
ST_MANAGER_TEMP,
};
/**
* The return type of st_api->get_proc_address.
*/
@@ -319,6 +326,12 @@ struct st_manager
*/
boolean (*get_egl_image)(struct st_manager *smapi,
struct st_egl_image *stimg);
/**
* Query an manager param.
*/
int (*get_param)(struct st_manager *smapi,
enum st_manager_param param);
};
/**
@@ -337,6 +337,13 @@ dri_get_egl_image(struct st_manager *smapi,
return TRUE;
}
static int
dri_get_param(struct st_manager *smapi,
enum st_manager_param param)
{
return 0;
}
static void
dri_destroy_option_cache(struct dri_screen * screen)
{
@@ -391,6 +398,7 @@ dri_init_screen_helper(struct dri_screen *screen,
}
screen->base.get_egl_image = dri_get_egl_image;
screen->base.get_param = dri_get_param;
screen->st_api = st_gl_api_create();
if (!screen->st_api)
@@ -235,6 +235,13 @@ egl_g3d_st_manager_get_egl_image(struct st_manager *smapi,
return TRUE;
}
static int
egl_g3d_st_manager_get_param(struct st_manager *smapi,
enum st_manager_param param)
{
return 0;
}
struct st_manager *
egl_g3d_create_st_manager(_EGLDisplay *dpy)
{
@@ -247,6 +254,7 @@ egl_g3d_create_st_manager(_EGLDisplay *dpy)
gsmapi->base.screen = gdpy->native->screen;
gsmapi->base.get_egl_image = egl_g3d_st_manager_get_egl_image;
gsmapi->base.get_param = egl_g3d_st_manager_get_param;
}
return &gsmapi->base;;
+9 -1
View File
@@ -87,6 +87,12 @@ void xmesa_set_driver( const struct xm_driver *templ )
static struct xmesa_display Displays[MAX_DISPLAYS];
static int NumDisplays = 0;
static int
xmesa_get_param(struct st_manager *smapi,
enum st_manager_param *param)
{
return 0;
}
static XMesaDisplay
xmesa_init_display( Display *display )
@@ -116,8 +122,10 @@ xmesa_init_display( Display *display )
xmdpy->display = display;
xmdpy->screen = driver.create_pipe_screen(display);
xmdpy->smapi = CALLOC_STRUCT(st_manager);
if (xmdpy->smapi)
if (xmdpy->smapi) {
xmdpy->smapi->screen = xmdpy->screen;
xmdpy->smapi->get_param = xmesa_get_param;
}
if (xmdpy->screen && xmdpy->smapi) {
pipe_mutex_init(xmdpy->mutex);
@@ -48,6 +48,12 @@ extern _glthread_Mutex OneTimeLock;
struct stw_device *stw_dev = NULL;
static int
stw_get_param(struct st_manager *smapi,
enum st_manager_param param)
{
return 0;
}
boolean
stw_init(const struct stw_winsys *stw_winsys)
@@ -87,6 +93,7 @@ stw_init(const struct stw_winsys *stw_winsys)
stw_winsys->get_adapter_luid(screen, &stw_dev->AdapterLuid);
stw_dev->smapi->screen = screen;
stw_dev->smapi->get_param = stw_get_param;
stw_dev->screen = screen;
pipe_mutex_init( stw_dev->ctx_mutex );