LLGL 0.05 Beta
Loading...
Searching...
No Matches
LLGL::RendererConfigurationVulkan Struct Reference

Structure for a Vulkan renderer specific configuration. More...

#include <RendererConfiguration.h>

Public Attributes

ApplicationDescriptor application
 Application descriptor used when a Vulkan debug or validation layer is enabled.
ArrayView< const char * > enabledLayers
 List of Vulkan layers to enable. The ones that are not supported, will be ignored.
std::uint64_t minDeviceMemoryAllocationSize = 1024*1024
 Minimal allocation size for a device memory chunk. By default 1024*1024, i.e. 1 MB of VRAM.
bool reduceDeviceMemoryFragmentation = false
 Specifies whether fragmentation of the device memory blocks shall be kept low. By default false.

Detailed Description

Structure for a Vulkan renderer specific configuration.

Remarks
The nomenclature here is "Renderer" instead of "RenderSystem" since the configuration is renderer specific and does not denote a configuration of the entire system.

Member Data Documentation

◆ application

ApplicationDescriptor LLGL::RendererConfigurationVulkan::application

Application descriptor used when a Vulkan debug or validation layer is enabled.

See also
ApplicationDescriptor

◆ enabledLayers

ArrayView<const char*> LLGL::RendererConfigurationVulkan::enabledLayers

List of Vulkan layers to enable. The ones that are not supported, will be ignored.

Remarks
For example, the layer "VK_LAYER_KHRONOS_validation" can be used for a stronger validation.

◆ minDeviceMemoryAllocationSize

std::uint64_t LLGL::RendererConfigurationVulkan::minDeviceMemoryAllocationSize = 1024*1024

Minimal allocation size for a device memory chunk. By default 1024*1024, i.e. 1 MB of VRAM.

Remarks
Vulkan only allows a limited set of device memory objects (e.g. 4096 on a GPU with 8 GB of VRAM). This member specifies the minimum size used for hardware memory allocation of such a memory chunk. The Vulkan render system automatically manages sub-region allocation and defragmentation.
Todo
Remove this as soon as Vulkan memory manage has been improved.

◆ reduceDeviceMemoryFragmentation

bool LLGL::RendererConfigurationVulkan::reduceDeviceMemoryFragmentation = false

Specifies whether fragmentation of the device memory blocks shall be kept low. By default false.

Remarks
If this is true, each buffer and image allocation first tries to find a reusable device memory block within a single VkDeviceMemory chunk (which might be potentially slower). Whenever a VkDeviceMemory chunk is full, the memory manager tries to reduce fragmentation anyways.
Todo
Remove this as soon as Vulkan memory manage has been improved.

The documentation for this struct was generated from the following file: