From faecd155c49229499e29815eb6e79662ed33ddd5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 4 Mar 2010 09:31:15 -0800 Subject: [PATCH] Move batch and 965 render state setup/teardown to screen init/close. Whether we're VT switched or not shouldn't impact rendering. --- src/i830_driver.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/i830_driver.c b/src/i830_driver.c index 99db7c6e..c65de286 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -1182,6 +1182,11 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) i830_fixup_mtrrs(scrn); + intel_batch_init(scrn); + + if (IS_I965G(intel)) + gen4_render_state_init(scrn); + miClearVisualTypes(); if (!miSetVisualTypes(scrn->depth, miGetDefaultVisualMask(scrn->depth), @@ -1366,13 +1371,6 @@ static void I830LeaveVT(int scrnIndex, int flags) xf86_hide_cursors(scrn); - intel_sync(scrn); - - intel_batch_teardown(scrn); - - if (IS_I965G(intel)) - gen4_render_state_cleanup(scrn); - ret = drmDropMaster(intel->drmSubFD); if (ret) xf86DrvMsg(scrn->scrnIndex, X_WARNING, @@ -1406,11 +1404,6 @@ static Bool I830EnterVT(int scrnIndex, int flags) if (!i830_reinit_memory(scrn)) return FALSE; - intel_batch_init(scrn); - - if (IS_I965G(intel)) - gen4_render_state_init(scrn); - if (!xf86SetDesiredModes(scrn)) return FALSE; @@ -1448,6 +1441,13 @@ static Bool I830CloseScreen(int scrnIndex, ScreenPtr screen) intel->front_buffer = NULL; } + intel_sync(scrn); + + intel_batch_teardown(scrn); + + if (IS_I965G(intel)) + gen4_render_state_cleanup(scrn); + xf86_cursors_fini(screen); /* Free most of the allocations */