summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel_winsys/intel_screen.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-11-07 16:07:17 -0700
committerBrian <brian.paul@tungstengraphics.com>2007-11-07 16:08:04 -0700
commit10c62bf0683437672c83339138a6802d56aeca8f (patch)
treecdf17f1ce6ed6d6c96132013752c8f365aa41e72 /src/mesa/drivers/dri/intel_winsys/intel_screen.c
parent03cfeb31af7834c2b2701ad25ec39f8375df6c96 (diff)
Remove context dependencies in winsys layer.
The winsys object is now per-screen and shared by multiple contexts. The regionPool is now part of the i915 winsys layer. The winsys wait_idle() and flush_frontbuffer() funcs will get more attention...
Diffstat (limited to 'src/mesa/drivers/dri/intel_winsys/intel_screen.c')
-rw-r--r--src/mesa/drivers/dri/intel_winsys/intel_screen.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/intel_winsys/intel_screen.c b/src/mesa/drivers/dri/intel_winsys/intel_screen.c
index 334803e264..01460e5be3 100644
--- a/src/mesa/drivers/dri/intel_winsys/intel_screen.c
+++ b/src/mesa/drivers/dri/intel_winsys/intel_screen.c
@@ -34,6 +34,7 @@
#include "intel_batchbuffer.h"
#include "intel_batchpool.h"
#include "intel_swapbuffers.h"
+#include "intel_winsys.h"
#include "i830_dri.h"
#include "dri_bufpool.h"
@@ -165,17 +166,11 @@ intelCreatePools(__DRIscreenPrivate * sPriv)
if (intelScreen->havePools)
return GL_TRUE;
- batchPoolSize /= BATCH_SZ;
- intelScreen->regionPool = driDRMPoolInit(sPriv->fd);
-
- if (!intelScreen->regionPool)
- return GL_FALSE;
-
intelScreen->staticPool = driDRMStaticPoolInit(sPriv->fd);
-
if (!intelScreen->staticPool)
return GL_FALSE;
+ batchPoolSize /= BATCH_SZ;
intelScreen->batchPool = driBatchPoolInit(sPriv->fd,
DRM_BO_FLAG_EXE |
DRM_BO_FLAG_MEM_TT |
@@ -245,6 +240,8 @@ intelInitDriver(__DRIscreenPrivate * sPriv)
(*glx_enable_extension) (psc, "GLX_SGI_make_current_read");
}
+ intelScreen->winsys = intel_create_pipe_winsys(sPriv->fd);
+
return GL_TRUE;
}
@@ -257,7 +254,6 @@ intelDestroyScreen(__DRIscreenPrivate * sPriv)
/* intelUnmapScreenRegions(intelScreen); */
if (intelScreen->havePools) {
- driPoolTakeDown(intelScreen->regionPool);
driPoolTakeDown(intelScreen->staticPool);
driPoolTakeDown(intelScreen->batchPool);
}