From 72d3f0988ac562e626cc3c2226a2746ef8bfc0ed Mon Sep 17 00:00:00 2001 From: divverent Date: Mon, 31 Dec 2012 19:10:23 +0000 Subject: [PATCH] slightly speed up vid_glx by better XShm handling git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11869 d7cf8633-e32d-0410-b094-e92efae38249 --- vid_glx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vid_glx.c b/vid_glx.c index 5b77483f..c066555c 100644 --- a/vid_glx.c +++ b/vid_glx.c @@ -909,18 +909,18 @@ void VID_Finish (void) vid.softpixels = (unsigned int *) vidx11_ximage[vidx11_ximage_pos]->data; DPSOFTRAST_SetRenderTargets(vid.width, vid.height, vid.softdepthpixels, vid.softpixels, NULL, NULL, NULL); + ++vidx11_shmwait; + XShmPutImage(vidx11_display, win, vidx11_gc, vidx11_ximage[!vidx11_ximage_pos], 0, 0, 0, 0, vid.width, vid.height, True); + // save mouse motion so we can deal with it later in_mouse_x = 0; in_mouse_y = 0; - while(vidx11_shmwait) + while(vidx11_shmwait > 1) HandleEvents(); in_mouse_x_save += in_mouse_x; in_mouse_y_save += in_mouse_y; in_mouse_x = 0; in_mouse_y = 0; - - ++vidx11_shmwait; - XShmPutImage(vidx11_display, win, vidx11_gc, vidx11_ximage[!vidx11_ximage_pos], 0, 0, 0, 0, vid.width, vid.height, True); } else { // no buffer switching here, we just flush the renderer DPSOFTRAST_Finish(); -- 2.39.2