Files
2022-05-19 23:55:03 +03:00

67 lines
1.3 KiB
C

/*
* vsyncarch.c - End-of-frame handling for libretro
*
*/
#include "vice.h"
#include "kbdbuf.h"
#include "lightpendrv.h"
#include "ui.h"
#include "uistatusbar.h"
#include "vsyncapi.h"
#include "videoarch.h"
#include "video.h"
#include "resources.h"
#include "libretro-core.h"
/*#define TICKSPERSECOND 1000000L*/ /* Microseconds resolution. */
#ifdef HAVE_NANOSLEEP
#define TICKSPERSECOND 1000000000L /* Nanoseconds resolution. */
#define TICKSPERMSEC 1000000L
#define TICKSPERUSEC 1000L
#define TICKSPERNSEC 1L
#else
#define TICKSPERSECOND 1000000L /* Microseconds resolution. */
#define TICKSPERMSEC 1000L
#define TICKSPERUSEC 1L
#endif
/* ------------------------------------------------------------------------- */
/* Number of timer units per second. */
unsigned long vsyncarch_frequency(void)
{
/* Microseconds resolution. */
return TICKSPERSECOND;
}
/* Get time in timer units. */
unsigned long vsyncarch_gettime(void)
{
/* Microseconds resolution. */
return retro_ticks();
}
void vsyncarch_init(void)
{
}
void vsyncarch_presync(void)
{
#if 0
if (uistatusbar_state & UISTATUSBAR_ACTIVE) {
uistatusbar_draw();
}
#endif
retro_renderloop = 0;
retro_lightpen_update();
}
void vsyncarch_postsync(void)
{
/* Dispatch all the pending UI events. */
ui_dispatch_events();
}