#include <renderservice.h>
Public Types | |
enum | EPhysicalDeviceType : int { Discrete = 4, Integrated = 3, CPU = 2, Virtual = 1, Other = 0 } |
Public Member Functions | |
virtual rtti::TypeInfo | getServiceType () const override |
![]() | |
Object () | |
virtual | ~Object () |
virtual bool | init (utility::ErrorState &errorState) |
virtual void | onDestroy () |
Object (Object &)=delete | |
Object & | operator= (const Object &)=delete |
Object (Object &&)=delete | |
Object & | operator= (Object &&)=delete |
Public Attributes | |
bool | mHeadless = false |
Property: 'Headless' Render without a window. Turning this on forbids the use of a nap::RenderWindow. More... | |
EPhysicalDeviceType | mPreferredGPU = EPhysicalDeviceType::Discrete |
Property: 'PreferredGPU' The preferred type of GPU to use. When unavailable the fastest GPU option is selected. More... | |
std::vector< std::string > | mLayers = { "VK_LAYER_KHRONOS_validation" } |
Property: 'Layers' Vulkan layers the engine tries to load in Debug mode. Warning is issued if the layer can't be loaded. Layers are disabled in release mode. More... | |
std::vector< std::string > | mAdditionalExtensions = { } |
Property: 'Extensions' Additional required Vulkan device extensions. More... | |
uint32 | mVulkanVersionMajor = 1 |
Property: 'VulkanMajor The major required vulkan API instance version. More... | |
uint32 | mVulkanVersionMinor = 1 |
Property: 'VulkanMinor' The minor required vulkan API instance version. More... | |
uint32 | mAnisotropicFilterSamples = 8 |
Property: 'AnisotropicSamples' Default max number of anisotropic filter samples, can be overridden by a sampler if required. More... | |
bool | mEnableHighDPIMode = true |
Property: 'EnableHighDPI' If high DPI render mode is enabled, on by default. More... | |
bool | mEnableCompute = true |
Property: 'EnableCompute' Ensures the selected queue supports Vulkan Compute commands. Enable this if you wish to use Vulkan Compute functionality. More... | |
bool | mEnableCaching = true |
Property: 'Caching' Saves state between sessions, including window size & position, when turned on. More... | |
bool | mEnableDebug = true |
Property: 'EnableDebug' Loads debug extension for printing Vulkan debug messages. More... | |
bool | mEnableRobustBufferAccess = false |
Property: 'EnableRobustBufferAccess' Enables buffer bounds-checking on the GPU. Only enable this when absolutely necessary for debugging your application. More... | |
bool | mPrintAvailableLayers = false |
Property: 'ShowLayers' If all the available Vulkan layers are printed to console. More... | |
bool | mPrintAvailableExtensions = false |
Property: 'ShowExtensions' If all the available Vulkan extensions are printed to console. More... | |
![]() | |
std::string | mID |
Property: 'mID' unique name of the object. Used as an identifier by the system. More... | |
Additional Inherited Members | |
![]() | |
static bool | isIDProperty (rtti::Instance &object, const rtti::Property &property) |
Render engine configuration settings.
|
strong |
|
overridevirtual |
Implements ServiceConfiguration.
std::vector<std::string> mAdditionalExtensions = { } |
Property: 'Extensions' Additional required Vulkan device extensions.
uint32 mAnisotropicFilterSamples = 8 |
Property: 'AnisotropicSamples' Default max number of anisotropic filter samples, can be overridden by a sampler if required.
bool mEnableCaching = true |
Property: 'Caching' Saves state between sessions, including window size & position, when turned on.
bool mEnableCompute = true |
Property: 'EnableCompute' Ensures the selected queue supports Vulkan Compute commands. Enable this if you wish to use Vulkan Compute functionality.
bool mEnableDebug = true |
Property: 'EnableDebug' Loads debug extension for printing Vulkan debug messages.
bool mEnableHighDPIMode = true |
Property: 'EnableHighDPI' If high DPI render mode is enabled, on by default.
bool mEnableRobustBufferAccess = false |
Property: 'EnableRobustBufferAccess' Enables buffer bounds-checking on the GPU. Only enable this when absolutely necessary for debugging your application.
bool mHeadless = false |
Property: 'Headless' Render without a window. Turning this on forbids the use of a nap::RenderWindow.
std::vector<std::string> mLayers = { "VK_LAYER_KHRONOS_validation" } |
Property: 'Layers' Vulkan layers the engine tries to load in Debug mode. Warning is issued if the layer can't be loaded. Layers are disabled in release mode.
EPhysicalDeviceType mPreferredGPU = EPhysicalDeviceType::Discrete |
Property: 'PreferredGPU' The preferred type of GPU to use. When unavailable the fastest GPU option is selected.
bool mPrintAvailableExtensions = false |
Property: 'ShowExtensions' If all the available Vulkan extensions are printed to console.
bool mPrintAvailableLayers = false |
Property: 'ShowLayers' If all the available Vulkan layers are printed to console.
uint32 mVulkanVersionMajor = 1 |
Property: 'VulkanMajor The major required vulkan API instance version.
uint32 mVulkanVersionMinor = 1 |
Property: 'VulkanMinor' The minor required vulkan API instance version.