From f26039311693b70ad25d6cecae47999b1992d6e4 Mon Sep 17 00:00:00 2001 From: havoc Date: Fri, 1 Apr 2011 08:11:16 +0000 Subject: [PATCH] added support for dpsoftrast synchronization for fpsscaling git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10999 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::merge=ecf8d72498492b34cc57d99e1c8928c3d37ed205 --- cl_screen.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/cl_screen.c b/cl_screen.c index 75bf4e02..3454252e 100644 --- a/cl_screen.c +++ b/cl_screen.c @@ -9,6 +9,7 @@ #include "csprogs.h" #include "cap_avi.h" #include "cap_ogg.h" +#include "dpsoftrast.h" // we have to include snd_main.h here only to get access to snd_renderbuffer->format.speed when writing the AVI headers #include "snd_main.h" @@ -2335,8 +2336,30 @@ void CL_UpdateScreen(void) } } - if (r_viewscale_fpsscaling.integer && qglFinish) - qglFinish(); + if (r_viewscale_fpsscaling.integer) + { + switch(vid.renderpath) + { + case RENDERPATH_GL11: + case RENDERPATH_GL13: + case RENDERPATH_GL20: + case RENDERPATH_GLES2: + qglFinish(); + break; + case RENDERPATH_D3D9: + //Con_DPrintf("FIXME D3D9 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); + break; + case RENDERPATH_D3D10: + Con_DPrintf("FIXME D3D10 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); + break; + case RENDERPATH_D3D11: + Con_DPrintf("FIXME D3D11 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); + break; + case RENDERPATH_SOFT: + DPSOFTRAST_Flush(); + break; + } + } drawscreenstart = Sys_DoubleTime(); if (R_Stereo_Active()) { @@ -2370,8 +2393,30 @@ void CL_UpdateScreen(void) } else SCR_DrawScreen(); - if (r_viewscale_fpsscaling.integer && qglFinish) - qglFinish(); + if (r_viewscale_fpsscaling.integer) + { + switch(vid.renderpath) + { + case RENDERPATH_GL11: + case RENDERPATH_GL13: + case RENDERPATH_GL20: + case RENDERPATH_GLES2: + qglFinish(); + break; + case RENDERPATH_D3D9: + //Con_DPrintf("FIXME D3D9 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); + break; + case RENDERPATH_D3D10: + Con_DPrintf("FIXME D3D10 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); + break; + case RENDERPATH_D3D11: + Con_DPrintf("FIXME D3D11 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); + break; + case RENDERPATH_SOFT: + DPSOFTRAST_Flush(); + break; + } + } r_refdef.lastdrawscreentime = Sys_DoubleTime() - drawscreenstart; SCR_CaptureVideo(); -- 2.39.2