diff options
author | George Sapountzis <gsapountzis@gmail.com> | 2010-03-29 21:06:54 +0300 |
---|---|---|
committer | George Sapountzis <gsapountzis@gmail.com> | 2010-03-29 21:06:54 +0300 |
commit | 625e024b186829f199458679921916971a5b00cb (patch) | |
tree | 880bb927cb786e9602a91aded97298452b6193a9 /src/gallium/targets | |
parent | 6cc5fbd76b8994da8174c39f8eacb6605f4aa3b2 (diff) | |
download | external_mesa3d-625e024b186829f199458679921916971a5b00cb.zip external_mesa3d-625e024b186829f199458679921916971a5b00cb.tar.gz external_mesa3d-625e024b186829f199458679921916971a5b00cb.tar.bz2 |
st/dri/sw: add drisw_api similarly to dri1_api
I am pretty sure that this is in gallium spirit, so commit. Thanks to Chia-I
for suggesting this.
Diffstat (limited to 'src/gallium/targets')
-rw-r--r-- | src/gallium/targets/dri-swrast/swrast_drm_api.c | 17 | ||||
-rw-r--r-- | src/gallium/targets/libgl-xlib/xlib.c | 8 |
2 files changed, 15 insertions, 10 deletions
diff --git a/src/gallium/targets/dri-swrast/swrast_drm_api.c b/src/gallium/targets/dri-swrast/swrast_drm_api.c index 1f24d76..63b935b 100644 --- a/src/gallium/targets/dri-swrast/swrast_drm_api.c +++ b/src/gallium/targets/dri-swrast/swrast_drm_api.c @@ -32,15 +32,7 @@ #include "state_tracker/sw_winsys.h" #include "dri_sw_winsys.h" -/* Copied from targets/libgl-xlib. - * - * TODO: - * This function should be put in targets/common or winsys/sw/common and shared - * with targets/libgl-xlib and winsys/sw/drm. - * - * For targets/common, you get layering violations unless all of drm_api's are - * moved under targets. - */ +/* Copied from targets/libgl-xlib */ #ifdef GALLIUM_SOFTPIPE #include "softpipe/sp_public.h" @@ -98,19 +90,24 @@ swrast_drm_create_screen(struct drm_api *api, { struct sw_winsys *winsys = NULL; struct pipe_screen *screen = NULL; + struct drisw_create_screen_arg *drisw; (void) drmFD; if (arg != NULL) { switch(arg->mode) { case DRM_CREATE_DRISW: + drisw = (struct drisw_create_screen_arg *)arg; break; default: return NULL; } } + else { + return NULL; + } - winsys = dri_create_sw_winsys(); + winsys = dri_create_sw_winsys(drisw->lf); if (winsys == NULL) return NULL; diff --git a/src/gallium/targets/libgl-xlib/xlib.c b/src/gallium/targets/libgl-xlib/xlib.c index 4a83662..48e5bdf 100644 --- a/src/gallium/targets/libgl-xlib/xlib.c +++ b/src/gallium/targets/libgl-xlib/xlib.c @@ -55,6 +55,14 @@ PUBLIC const struct st_module st_module_OpenGL = { * GALLIUM_CELL, etc. Scons already eliminates those #defines, so * things that are painful for it now are likely to be painful for * other build systems in the future. + * + * Copies (full or partial): + * targets/libgl-xlib + * targets/graw-xlib + * targets/dri-swrast + * winsys/sw/drm + * drivers/sw + * */ #ifdef GALLIUM_SOFTPIPE |