From 2186d5f3f95cd74a070a490d899291648d58667a Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Sun, 1 Jul 2001 00:55:22 +0000 Subject: Initial revision --- src/win95/vramtime.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/win95/vramtime.c (limited to 'src/win95/vramtime.c') diff --git a/src/win95/vramtime.c b/src/win95/vramtime.c new file mode 100644 index 0000000..a4fae03 --- /dev/null +++ b/src/win95/vramtime.c @@ -0,0 +1,33 @@ +#include + +#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; +} -- cgit v1.3