avp/3dc/win95/VRAMTIME.C

34 lines
691 B
C
Raw Normal View History

#include <windows.h>
#include "vramtime.h"
static DWORD transition_times_matrix[][VWS_MAXSTATES] =
{
/* from DDRELEASE */
{ 0, 20, 0, 100, 100 },
/* from D3DTEXRELEASE */
{ 20, 0, 100, 100, 100 },
/* from DDCREATE */
{ 0, 100, 0, 20, 100 },
/* from D3DTEXCREATE */
{ 20, 100, 20, 20, 100 },
/* from UNKNOWN */
{ 100, 100, 100, 100, 100 }
};
void WaitForVRamReady(VRAM_WAIT_STATE vws)
{
static DWORD old_time = 0;
static VRAM_WAIT_STATE old_vws = VWS_UNKNOWN;
DWORD new_time;
if (0==old_time) old_time = timeGetTime();
do new_time = timeGetTime(); while (new_time - old_time < transition_times_matrix[old_vws][vws]);
old_time = new_time;
old_vws = vws;
}