xf86-video-intel: src/sna/sna_driver.c src/sna/sna.h

Chris Wilson ickle at kemper.freedesktop.org
Fri Jul 13 02:36:39 PDT 2012


 src/sna/sna.h        |    3 ++-
 src/sna/sna_driver.c |   12 ++++++------
 2 files changed, 8 insertions(+), 7 deletions(-)

New commits:
commit 0f03f7b4359fcbcde651bc1554ddff4fe10bc53b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jul 13 10:35:27 2012 +0100

    sna: Only try to enable DRI2 if the module is available at runtime
    
    Blatantly cribbed from Michel Danzer's patch for ati...
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna.h b/src/sna/sna.h
index abb010c..01e256a 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -252,7 +252,8 @@ struct sna {
 	} render_state;
 	uint32_t have_render;
 
-	Bool directRenderingOpen;
+	bool dri_available;
+	bool dri_open;
 	char *deviceName;
 
 	/* Broken-out options. */
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 1433971..0eefa35 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -549,8 +549,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags)
 	/* Set display resolution */
 	xf86SetDpi(scrn, 0, 0);
 
-	/* Load the dri2 module if requested. */
-	xf86LoadSubModule(scrn, "dri2");
+	sna->dri_available = !!xf86LoadSubModule(scrn, "dri2");
 
 	return TRUE;
 }
@@ -767,9 +766,9 @@ static Bool sna_close_screen(CLOSE_SCREEN_ARGS_DECL)
 
 	free(screen->visuals);
 
-	if (sna->directRenderingOpen) {
+	if (sna->dri_open) {
 		sna_dri_close(sna, screen);
-		sna->directRenderingOpen = FALSE;
+		sna->dri_open = false;
 	}
 
 	if (sna->front) {
@@ -941,8 +940,9 @@ sna_screen_init(SCREEN_INIT_ARGS_DECL)
 	xf86DPMSInit(screen, xf86DPMSSet, 0);
 
 	sna_video_init(sna, screen);
-	sna->directRenderingOpen = sna_dri_open(sna, screen);
-	if (sna->directRenderingOpen)
+	if (sna->dri_available)
+		sna->dri_open = sna_dri_open(sna, screen);
+	if (sna->dri_open)
 		xf86DrvMsg(scrn->scrnIndex, X_INFO,
 			   "direct rendering: DRI2 Enabled\n");
 


More information about the xorg-commit mailing list