VKContext
The VKContext class is a Vulkan-specific implementation of the Context class. It initializes the rendering context using externally provided Vulkan instance, device, and queue parameters. The class provides access to the Vulkan instance, physical device, logical device, command queue, and command buffer.
#include <platform/TellusimContext.h>
Inheritance
- Inherits from Context
Constructors
VKContext()
Methods
Create context.
bool create(VkInstance instance, PFN_vkGetInstanceProcAddr func, VkPhysicalDevice adapter, VkDevice device, uint32_t family, uint32_t index)
Current device.
VkInstance getInstance() const
VkPhysicalDevice getAdapter() const
VkDevice getDevice() const
Current context.
VkQueue getQueue() const
VkCommandBuffer getCommand() const
uint32_t getFamily() const
Device queues.
uint32_t getNumQueues()
uint32_t getQueueFlags(uint32_t index)
uint32_t getQueueFamily(uint32_t index)
Additional extensions.
static void addContextExtension(const char *name)
static void addAdapterExtension(const char *name)
static void addAdapterFeatures(void *features)
Get proc address functions.
static PFN_vkGetInstanceProcAddr getInstanceProcAddress()
static PFN_vkGetDeviceProcAddr getDeviceProcAddress()
Vulkan functions.
static void *getProcAddress(const char *name)
Check Vulkan errors.
static bool error(uint32_t result)