XLE
v0.02.0
|
Public Member Functions | |
virtual void * | QueryInterface (const GUID &guid) |
Looks for compatibility with another interface More... | |
ID3D::Device * | GetUnderlyingDevice () |
ID3D::DeviceContext * | GetImmediateDeviceContext () |
Public Member Functions inherited from RenderCore::Device | |
std::unique_ptr< IPresentationChain > | CreatePresentationChain (const void *platformValue, unsigned width, unsigned height) |
Initialised a window for rendering More... | |
void | BeginFrame (IPresentationChain *presentationChain) |
Begins rendering of a new frame More... | |
std::pair< const char *, const char * > | GetVersionInformation () |
Returns version information for this device More... | |
std::shared_ptr< IThreadContext > | GetImmediateContext () |
std::unique_ptr< IThreadContext > | CreateDeferredContext () |
Additional Inherited Members | |
Protected Member Functions inherited from RenderCore::Device | |
intrusive_ptr< IDXGI::Factory > | GetDXGIFactory () |
Protected Attributes inherited from RenderCore::Device | |
intrusive_ptr< ID3D::Device > | _underlying |
intrusive_ptr< ID3D::DeviceContext > | _immediateContext |
D3D_FEATURE_LEVEL | _featureLevel |
std::shared_ptr< ThreadContextDX11 > | _immediateThreadContext |
|
virtual |
Looks for compatibility with another interface
Some implementations of IDevice might provide extension interfaces. to extensions.
Note that reference counting behaviour is not the same as DirectX/COM QueryInterface. RenderCore objects don't have reference counting built it. So we can't increase the reference count on return. So don't delete or deref the returned object. As a result, be careful that another thread doesn't delete the object as you're using it.
Example:
guid | A large random value that is unique to the interface. On the visual studio compiler, use the __uuidof() extension to get the correct guid for a class. For example, To query for the "IDeviceDX11" interface, use __uuid(RenderCore::IDeviceDX11). |
Implements RenderCore::IDevice.