2019-12-21 18:40:17 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "EGpDisplayDriverType.h"
|
2019-12-31 05:20:07 -05:00
|
|
|
#include "GpDisplayDriverTickStatus.h"
|
2019-12-21 18:40:17 -05:00
|
|
|
|
|
|
|
|
struct IGpDisplayDriver;
|
2019-12-23 17:43:10 -05:00
|
|
|
struct IGpFiber;
|
2019-12-24 02:35:24 -05:00
|
|
|
struct IGpVOSEventQueue;
|
2019-12-21 18:40:17 -05:00
|
|
|
|
|
|
|
|
struct GpDisplayDriverProperties
|
|
|
|
|
{
|
2019-12-31 05:20:07 -05:00
|
|
|
typedef GpDisplayDriverTickStatus_t (*TickFunc_t)(void *context, IGpFiber *vosFiber);
|
2019-12-21 18:40:17 -05:00
|
|
|
typedef void(*RenderFunc_t)(void *context);
|
2020-04-04 02:20:03 -04:00
|
|
|
typedef void(*AdjustRequestedResolutionFunc_t)(void *context, unsigned int &width, unsigned int &height);
|
2019-12-21 18:40:17 -05:00
|
|
|
|
|
|
|
|
EGpDisplayDriverType m_type;
|
|
|
|
|
|
|
|
|
|
unsigned int m_frameTimeLockNumerator;
|
|
|
|
|
unsigned int m_frameTimeLockDenominator;
|
|
|
|
|
|
|
|
|
|
unsigned int m_frameTimeLockMinNumerator;
|
|
|
|
|
unsigned int m_frameTimeLockMinDenominator;
|
|
|
|
|
|
|
|
|
|
unsigned int m_frameTimeLockMaxNumerator;
|
|
|
|
|
unsigned int m_frameTimeLockMaxDenominator;
|
|
|
|
|
|
2019-12-22 00:35:30 -05:00
|
|
|
void *m_osGlobals;
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
// Tick function and context to call when a frame needs to be served.
|
|
|
|
|
TickFunc_t m_tickFunc;
|
|
|
|
|
void *m_tickFuncContext;
|
|
|
|
|
|
|
|
|
|
RenderFunc_t m_renderFunc;
|
|
|
|
|
void *m_renderFuncContext;
|
2019-12-24 02:35:24 -05:00
|
|
|
|
2020-04-04 02:20:03 -04:00
|
|
|
AdjustRequestedResolutionFunc_t m_adjustRequestedResolutionFunc;
|
|
|
|
|
void *m_adjustRequestedResolutionFuncContext;
|
|
|
|
|
|
2019-12-24 02:35:24 -05:00
|
|
|
IGpVOSEventQueue *m_eventQueue;
|
2019-12-21 18:40:17 -05:00
|
|
|
};
|