summaryrefslogtreecommitdiff
path: root/Runtime/Interfaces/IGfxDevice.h
blob: 749c7237e5d3b73a9dfef49268f2bb33b09a6408 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef IGFXDEVICE_H
#define IGFXDEVICE_H

class GfxDevice;
class GraphicsCaps;
class GpuProgramParameters;

class IGfxDevice
{
public:
	virtual bool IsGfxDevice() = 0;
	virtual bool InitializeGfxDevice() = 0;
	virtual bool IsRealGfxDeviceThreadOwner() = 0;
	virtual GfxDevice &GetGfxDevice() = 0;
	virtual GfxDevice &GetUncheckedGfxDevice() = 0;
	virtual GfxDevice &GetRealGfxDevice() = 0;
	virtual void DestroyGfxDevice() = 0;
	virtual void ParseGfxDeviceArgs() = 0;
	virtual GpuProgramParameters* CreateGpuProgramParameters() = 0;
	virtual void DestroyGpuProgramParameters(GpuProgramParameters*) = 0;
	virtual GraphicsCaps &gGraphicsCaps = 0;

};

EXPORT_COREMODULE IGfxDevice*	GetIGfxDevice ();
EXPORT_COREMODULE void			SetIGfxDevice (IGfxDevice* device);

#endif