|
Cogs.Core
|
Public Member Functions | |
| GraphicsDeviceD3D11 (RenderingAllocatorInfo *allocator) | |
| bool | initialize () |
| Initializes the graphics device with the settings previous set through calling setSettings. | |
| std::string | getIdentifier () const override |
| Get the graphics device identifier. | |
| GraphicsDeviceType | getType () const override |
| Get the type of the graphics device. | |
| void | beginFrame () |
| Signal the beginning of a new frame to the graphics device. | |
| void | endFrame (uint32_t syncInterval=0, PresentFlags presentFlags=PresentFlags::None) |
| Signal the end of a frame to the graphics device. | |
| void | releaseResources () |
| Release all resources allocated. | |
| virtual ISwapChain * | createSwapChain (struct WindowData *windowData) override |
| Create a new swap chain for the specified window. | |
| virtual void | deleteSwapChain (ISwapChain *swapChain) override |
| Deletes the specified swap chain. | |
| void | setSize (int newWidth, int newHeight) |
| Set the size of the main drawing buffer used by the graphics device in pixels. | |
| bool | getSize (int &w, int &h) const override |
| Retrieve the size previously set by setSize. | |
| bool | resizeSharedSurfaces () |
| IBuffers * | getBuffers () |
| Get a pointer to the buffer management interface. | |
| ITextures * | getTextures () |
| Get a pointer to the texture management interface. | |
| IContext * | getImmediateContext () |
| Get a pointer to the immediate context used to issue commands to the graphics device. | |
| IEffects * | getEffects () |
| Get a pointer to the effect management interface. | |
| IPipelineStates * | getPipelineStates () |
| Get a pointer to the pipeline state management interface. | |
| IRenderTargets * | getRenderTargets () |
| Get a pointer to the render target management interface. | |
| ICapabilities * | getCapabilities () |
| Get a pointer to the capability management interface used to query the graphics device capability flags. | |
| ISyncObjects * | getSyncObjects () override |
| Get a pointer to the sync object management interface. | |
| SwapChainD3D11 * | getDefaultSwapChain () override |
| Get a pointer to the default swap chain for this graphics device. | |
| virtual void * | getNativeDevice () override |
| ResourcePointer< ID3D11Device > & | getDevice () |
| Memory::Allocator * | getResourceAllocator () |
| ResourceStatistics | getResourceStatistics () override |
Public Member Functions inherited from Cogs::IGraphicsDevice | |
| virtual | ~IGraphicsDevice ()=default |
| Destructor. | |
| virtual bool | initializeThread () |
| Initialize the graphics device for operation on the current thread. | |
| virtual SharedGraphicsContext * | createSharedContext () |
| Create a shared graphics context that can be used to activate another thread for rendering. | |
| virtual void | activateSharedContext (SharedGraphicsContext *) |
| Activates the given shared context on the calling thread. | |
| virtual void | releaseSharedContext (SharedGraphicsContext *) |
| Releases the given shared context. | |
| virtual bool | initialize ()=0 |
| Initializes the graphics device with the settings previous set through calling setSettings. | |
| virtual bool | isInitializationFinished () |
| Check if async initialization is finished. | |
| virtual ResourceStatistics | getResourceStatistics () |
| virtual std::string | getIdentifier () const |
| Get the graphics device identifier. | |
| virtual GraphicsDeviceType | getType () const |
| Get the type of the graphics device. | |
| virtual void | setSize (int width, int height)=0 |
| Set the size of the main drawing buffer used by the graphics device in pixels. | |
| virtual bool | getSize (int &width, int &height) const =0 |
| Retrieve the size previously set by setSize. | |
| virtual void | beginFrame ()=0 |
| Signal the beginning of a new frame to the graphics device. | |
| virtual void | endFrame (uint32_t syncInterval=0, PresentFlags presentFlags=PresentFlags::None)=0 |
| Signal the end of a frame to the graphics device. | |
| virtual void | waitForCommandSync () |
| Wait for any GPU commands on the current device to finish before returning. | |
| virtual void | releaseResources ()=0 |
| Release all resources allocated. | |
| virtual ISwapChain * | createSwapChain (struct WindowData *) |
| Create a new swap chain for the specified window. | |
| virtual void | deleteSwapChain (ISwapChain *) |
| Deletes the specified swap chain. | |
| virtual IContext * | getImmediateContext ()=0 |
| Get a pointer to the immediate context used to issue commands to the graphics device. | |
| virtual IBuffers * | getBuffers ()=0 |
| Get a pointer to the buffer management interface. | |
| virtual ITextures * | getTextures ()=0 |
| Get a pointer to the texture management interface. | |
| virtual IRenderTargets * | getRenderTargets ()=0 |
| Get a pointer to the render target management interface. | |
| virtual IEffects * | getEffects ()=0 |
| Get a pointer to the effect management interface. | |
| virtual IPipelineStates * | getPipelineStates ()=0 |
| Get a pointer to the pipeline state management interface. | |
| virtual ICapabilities * | getCapabilities ()=0 |
| Get a pointer to the capability management interface used to query the graphics device capability flags. | |
| virtual ISwapChain * | getDefaultSwapChain ()=0 |
| Get a pointer to the default swap chain for this graphics device. | |
| virtual ISyncObjects * | getSyncObjects ()=0 |
| Get a pointer to the sync object management interface. | |
| virtual void * | getNativeDevice () |
| virtual bool | setSettings (const GraphicsDeviceSettings &newSettings) |
| Updates the settings associated with this device. | |
| const GraphicsDeviceSettings & | getSettings () const |
Private Member Functions | |
| bool | initializeDeviceAndSwapChain () |
| bool | initializeDeviceShared () |
| void | setupDebugging () |
| HRESULT | createDevice (IDXGIAdapter *adapter, D3D_DRIVER_TYPE driverType, UINT flags, const std::vector< D3D_FEATURE_LEVEL > &featureLevelsRequested, D3D_FEATURE_LEVEL &apiFeatureLevel) |
Private Attributes | |
| std::unique_ptr< Memory::Allocator > | resourceAllocator |
| ResourcePointer< ID3D11Device > | device |
| ResourcePointer< ID3D11Device1 > | device1 |
| ResourcePointer< ID3D11Device5 > | device5 |
| ResourcePointer< ID3D11InfoQueue > | infoQueue |
| SwapChainD3D11 | defaultSwapChain |
| ContextD3D11 | context |
| CapabilitiesD3D11 | capabilities |
| BuffersD3D11 | buffers |
| TexturesD3D11 | textures |
| EffectsD3D11 | effects |
| RenderTargetsD3D11 | renderTargets |
| SyncObjectsD3D11 | syncObjects |
| bool | inFrame = false |
Additional Inherited Members | |
Static Public Member Functions inherited from Cogs::IGraphicsDevice | |
| static void | fillGraphicsSettings (struct WindowData *windowData, int requestedSampleCount) |
| Set platform specific graphics settings used for window creation e.g.: XVisualInfo on Linux. | |
Protected Attributes inherited from Cogs::IGraphicsDevice | |
| GraphicsDeviceSettings | settings |
| std::vector< ISwapChain * > | swapChains |
Definition at line 18 of file GraphicsDeviceD3D11.h.
| Cogs::GraphicsDeviceD3D11::GraphicsDeviceD3D11 | ( | RenderingAllocatorInfo * | allocator | ) |
Definition at line 74 of file GraphicsDeviceD3D11.cpp.
|
virtual |
Signal the beginning of a new frame to the graphics device.
Implements Cogs::IGraphicsDevice.
Definition at line 124 of file GraphicsDeviceD3D11.cpp.
|
private |
Definition at line 480 of file GraphicsDeviceD3D11.cpp.
|
overridevirtual |
Create a new swap chain for the specified window.
Reimplemented from Cogs::IGraphicsDevice.
Definition at line 178 of file GraphicsDeviceD3D11.cpp.
|
overridevirtual |
Deletes the specified swap chain.
The swap chain must have been previously created through a call to createSwapChain.
Reimplemented from Cogs::IGraphicsDevice.
Definition at line 189 of file GraphicsDeviceD3D11.cpp.
|
virtual |
Signal the end of a frame to the graphics device.
When the graphics device itself is responsible for managing the device context (e.g in D3D11), and the PresentFlags::NoSwap flag is not set, this will swap the back buffer to make the result of previous drawing visible.
| syncInterval | Synchronization interval.
|
| presentFlags | A combination of PresentFlags controlling the presentation of the rendered frame. |
Implements Cogs::IGraphicsDevice.
Definition at line 137 of file GraphicsDeviceD3D11.cpp.
|
inlinevirtual |
Get a pointer to the buffer management interface.
Implements Cogs::IGraphicsDevice.
Definition at line 41 of file GraphicsDeviceD3D11.h.
|
inlinevirtual |
Get a pointer to the capability management interface used to query the graphics device capability flags.
Implements Cogs::IGraphicsDevice.
Definition at line 47 of file GraphicsDeviceD3D11.h.
|
inlineoverridevirtual |
Get a pointer to the default swap chain for this graphics device.
Implements Cogs::IGraphicsDevice.
Definition at line 49 of file GraphicsDeviceD3D11.h.
|
inline |
Definition at line 52 of file GraphicsDeviceD3D11.h.
|
inlinevirtual |
Get a pointer to the effect management interface.
Implements Cogs::IGraphicsDevice.
Definition at line 44 of file GraphicsDeviceD3D11.h.
|
inlineoverridevirtual |
Get the graphics device identifier.
Reimplemented from Cogs::IGraphicsDevice.
Definition at line 26 of file GraphicsDeviceD3D11.h.
|
inlinevirtual |
Get a pointer to the immediate context used to issue commands to the graphics device.
Implements Cogs::IGraphicsDevice.
Definition at line 43 of file GraphicsDeviceD3D11.h.
|
inlineoverridevirtual |
Reimplemented from Cogs::IGraphicsDevice.
Definition at line 51 of file GraphicsDeviceD3D11.h.
|
inlinevirtual |
Get a pointer to the pipeline state management interface.
Implements Cogs::IGraphicsDevice.
Definition at line 45 of file GraphicsDeviceD3D11.h.
|
inlinevirtual |
Get a pointer to the render target management interface.
Implements Cogs::IGraphicsDevice.
Definition at line 46 of file GraphicsDeviceD3D11.h.
|
inline |
Definition at line 53 of file GraphicsDeviceD3D11.h.
|
overridevirtual |
Reimplemented from Cogs::IGraphicsDevice.
Definition at line 461 of file GraphicsDeviceD3D11.cpp.
|
overridevirtual |
Retrieve the size previously set by setSize.
Implements Cogs::IGraphicsDevice.
Definition at line 203 of file GraphicsDeviceD3D11.cpp.
|
inlineoverridevirtual |
Get a pointer to the sync object management interface.
Implements Cogs::IGraphicsDevice.
Definition at line 48 of file GraphicsDeviceD3D11.h.
|
inlinevirtual |
Get a pointer to the texture management interface.
Implements Cogs::IGraphicsDevice.
Definition at line 42 of file GraphicsDeviceD3D11.h.
|
inlineoverridevirtual |
Get the type of the graphics device.
Reimplemented from Cogs::IGraphicsDevice.
Definition at line 27 of file GraphicsDeviceD3D11.h.
References Cogs::Direct3D11.
|
virtual |
Initializes the graphics device with the settings previous set through calling setSettings.
Implements Cogs::IGraphicsDevice.
Definition at line 84 of file GraphicsDeviceD3D11.cpp.
References Cogs::UseSharedSurface.
|
private |
Definition at line 258 of file GraphicsDeviceD3D11.cpp.
|
private |
Definition at line 378 of file GraphicsDeviceD3D11.cpp.
|
virtual |
Release all resources allocated.
Implements Cogs::IGraphicsDevice.
Definition at line 171 of file GraphicsDeviceD3D11.cpp.
| bool Cogs::GraphicsDeviceD3D11::resizeSharedSurfaces | ( | ) |
Definition at line 209 of file GraphicsDeviceD3D11.cpp.
|
virtual |
Set the size of the main drawing buffer used by the graphics device in pixels.
| width | Width of the drawing buffer in pixels. |
| height | Height of the drawing buffer in pixels. |
Implements Cogs::IGraphicsDevice.
Definition at line 199 of file GraphicsDeviceD3D11.cpp.
|
private |
Definition at line 425 of file GraphicsDeviceD3D11.cpp.
|
private |
Definition at line 79 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 78 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 77 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 76 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 71 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 72 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 73 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 81 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 74 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 85 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 82 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 65 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 83 of file GraphicsDeviceD3D11.h.
|
private |
Definition at line 80 of file GraphicsDeviceD3D11.h.