OSDN Git Service

st/mesa: remove Windows hack for glFinish
authorBrian Paul <brianp@vmware.com>
Wed, 16 Aug 2017 15:50:34 +0000 (09:50 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 17 Aug 2017 01:03:10 +0000 (19:03 -0600)
I see no evidence that opengl32.dll's wglSwapBuffers calls glFinish.
It looks like Jose removed that dependency years ago, but this hack
remained.

Removing this code also fixes the Piglit sync_api test since commit
eceb6710024716.

No piglit regressions.  No glretrace regressions, per Charmaine.
Fixes VMware bug 1937990.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/mesa/state_tracker/st_cb_flush.c

index 5a26018..d9ec0a8 100644 (file)
@@ -183,16 +183,4 @@ void st_init_flush_functions(struct pipe_screen *screen,
 
    if (screen->get_param(screen, PIPE_CAP_DEVICE_RESET_STATUS_QUERY))
       functions->GetGraphicsResetStatus = st_get_graphics_reset_status;
-
-   /* Windows opengl32.dll calls glFinish prior to every swapbuffers.
-    * This is unnecessary and degrades performance.  Luckily we have some
-    * scope to work around this, as the externally-visible behaviour of
-    * Finish() is identical to Flush() in all cases - no differences in
-    * rendering or ReadPixels are visible if we opt not to wait here.
-    *
-    * Only set this up on Windows to avoid surprise elsewhere.
-    */
-#ifdef PIPE_OS_WINDOWS
-   functions->Finish = st_glFlush;
-#endif
 }