LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::IGraphicsAdapter Class Referenceabstract

Represents a physical graphics adapter. More...

#include <rendering_api.hpp>

Inherits LiteFX::SharedObject.

Inherited by LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

Public Member Functions

 ~IGraphicsAdapter () noexcept override=default
 
virtual String name () const =0
 Retrieves the name of the graphics adapter.
 
virtual UInt64 uniqueId () const noexcept=0
 Returns a unique identifier, that identifies the device in the system.
 
virtual UInt32 vendorId () const noexcept=0
 Returns a unique identifier, that identifies the vendor of the graphics adapter.
 
virtual UInt32 deviceId () const noexcept=0
 Returns a unique identifier, that identifies the product.
 
virtual GraphicsAdapterType type () const noexcept=0
 Returns the type of the graphics adapter.
 
virtual UInt64 driverVersion () const noexcept=0
 Returns the graphics driver version.
 
virtual UInt32 apiVersion () const noexcept=0
 Returns the graphics API version.
 
virtual UInt64 dedicatedMemory () const noexcept=0
 Returns the amount of dedicated graphics memory (in bytes), this adapter can use.
 
- Public Member Functions inherited from LiteFX::SharedObject
virtual ~SharedObject () noexcept=default
 Destroys the shared object.
 
template<typename TSelf >
auto shared_from_this (this TSelf &&self) noexcept
 Returns a shared pointer to the current object instance.
 
template<typename TSelf >
auto weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > >
 Returns a weak pointer to the current object instance.
 

Protected Member Functions

 IGraphicsAdapter () noexcept=default
 
 IGraphicsAdapter (const IGraphicsAdapter &)=default
 
 IGraphicsAdapter (IGraphicsAdapter &&) noexcept=default
 
IGraphicsAdapteroperator= (const IGraphicsAdapter &)=default
 
IGraphicsAdapteroperator= (IGraphicsAdapter &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

Represents a physical graphics adapter.

A graphics adapter can be seen as an actual physical device that can run graphics computations. Typically this resembles a GPU that is connected to the bus. However, it can also represent an emulated, virtual adapter, such as a software rasterizer.

Constructor & Destructor Documentation

◆ IGraphicsAdapter() [1/3]

LiteFX::Rendering::IGraphicsAdapter::IGraphicsAdapter ( )
protecteddefaultnoexcept

◆ IGraphicsAdapter() [2/3]

LiteFX::Rendering::IGraphicsAdapter::IGraphicsAdapter ( const IGraphicsAdapter & )
protecteddefault

◆ IGraphicsAdapter() [3/3]

LiteFX::Rendering::IGraphicsAdapter::IGraphicsAdapter ( IGraphicsAdapter && )
protecteddefaultnoexcept

◆ ~IGraphicsAdapter()

LiteFX::Rendering::IGraphicsAdapter::~IGraphicsAdapter ( )
overridedefaultnoexcept

Member Function Documentation

◆ apiVersion()

virtual UInt32 LiteFX::Rendering::IGraphicsAdapter::apiVersion ( ) const
pure virtualnoexcept

Returns the graphics API version.

Returns
The graphics API version.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ dedicatedMemory()

virtual UInt64 LiteFX::Rendering::IGraphicsAdapter::dedicatedMemory ( ) const
pure virtualnoexcept

Returns the amount of dedicated graphics memory (in bytes), this adapter can use.

Returns
The amount of dedicated graphics memory (in bytes), this adapter can use.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ deviceId()

virtual UInt32 LiteFX::Rendering::IGraphicsAdapter::deviceId ( ) const
pure virtualnoexcept

Returns a unique identifier, that identifies the product.

Returns
A unique identifier, that identifies the product.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ driverVersion()

virtual UInt64 LiteFX::Rendering::IGraphicsAdapter::driverVersion ( ) const
pure virtualnoexcept

Returns the graphics driver version.

Note that this is a vendor and API specific identifier that can be used to compare against specific (known) versions. It is not recommended to parse this into a front-facing version number for users, as it differs between backends. For this, use vendor-supplied APIs instead.

Returns
The graphics driver version.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ name()

virtual String LiteFX::Rendering::IGraphicsAdapter::name ( ) const
pure virtual

Retrieves the name of the graphics adapter.

Returns
The name of the graphics adapter.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ operator=() [1/2]

IGraphicsAdapter & LiteFX::Rendering::IGraphicsAdapter::operator= ( const IGraphicsAdapter & )
protecteddefault

◆ operator=() [2/2]

IGraphicsAdapter & LiteFX::Rendering::IGraphicsAdapter::operator= ( IGraphicsAdapter && )
protecteddefaultnoexcept

◆ type()

virtual GraphicsAdapterType LiteFX::Rendering::IGraphicsAdapter::type ( ) const
pure virtualnoexcept

Returns the type of the graphics adapter.

Returns
The type of the graphics adapter.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ uniqueId()

virtual UInt64 LiteFX::Rendering::IGraphicsAdapter::uniqueId ( ) const
pure virtualnoexcept

Returns a unique identifier, that identifies the device in the system.

Returns
A unique identifier, that identifies the device in the system.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.

◆ vendorId()

virtual UInt32 LiteFX::Rendering::IGraphicsAdapter::vendorId ( ) const
pure virtualnoexcept

Returns a unique identifier, that identifies the vendor of the graphics adapter.

Returns
A unique identifier, that identifies the vendor of the graphics adapter.

Implemented in LiteFX::Rendering::Backends::DirectX12GraphicsAdapter, and LiteFX::Rendering::Backends::VulkanGraphicsAdapter.