summaryrefslogtreecommitdiff
path: root/src/gallium/targets
diff options
context:
space:
mode:
authorGeorge Sapountzis <gsapountzis@gmail.com>2010-03-29 21:06:54 +0300
committerGeorge Sapountzis <gsapountzis@gmail.com>2010-03-29 21:06:54 +0300
commit625e024b186829f199458679921916971a5b00cb (patch)
tree880bb927cb786e9602a91aded97298452b6193a9 /src/gallium/targets
parent6cc5fbd76b8994da8174c39f8eacb6605f4aa3b2 (diff)
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.c17
-rw-r--r--src/gallium/targets/libgl-xlib/xlib.c8
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 1f24d7650d..63b935bb07 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 4a8366280d..48e5bdff42 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