/** ****************************************************************************** * Xenia : Xbox 360 Emulator Research Project * ****************************************************************************** * Copyright 2013 Ben Vanik. All rights reserved. * * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** */ #ifndef XENIA_GPU_D3D11_D3D11_GRAPHICS_SYSTEM_H_ #define XENIA_GPU_D3D11_D3D11_GRAPHICS_SYSTEM_H_ #include #include #include #include namespace xe { namespace gpu { namespace d3d11 { class D3D11Window; GraphicsSystem* Create(Emulator* emulator); class D3D11GraphicsSystem : public GraphicsSystem { public: D3D11GraphicsSystem(Emulator* emulator); virtual ~D3D11GraphicsSystem(); protected: virtual void Initialize(); virtual void Pump(); virtual void Shutdown(); private: IDXGIFactory1* dxgi_factory_; ID3D11Device* device_; D3D11Window* window_; HANDLE timer_queue_; HANDLE vsync_timer_; }; } // namespace d3d11 } // namespace gpu } // namespace xe #endif // XENIA_GPU_D3D11_D3D11_GRAPHICS_SYSTEM_H_