Kohi Game Engine
vulkan_context Struct Reference

The overall Vulkan context for the backend. Holds and maintains global renderer backend state, Vulkan instance, etc. More...

#include <vulkan_types.h>

Data Fields

u32 api_major
 The instance-level api major version. More...
 
u32 api_minor
 The instance-level api minor version. More...
 
u32 api_patch
 The instance-level api patch version. More...
 
renderer_config_flags flags
 
VkClearColorValue colour_clear_value
 The currently cached colour buffer clear value. More...
 
VkClearDepthStencilValue depth_stencil_clear_value
 The currently cached depth/stencil buffer clear value. More...
 
vec4 viewport_rect
 The viewport rectangle. More...
 
vec4 scissor_rect
 The scissor rectangle. More...
 
VkInstance instance
 The handle to the internal Vulkan instance. More...
 
VkAllocationCallbacks * allocator
 The internal Vulkan allocator. More...
 
VkDebugUtilsMessengerEXT debug_messenger
 The debug messenger, if active.. More...
 
PFN_vkSetDebugUtilsObjectNameEXT pfnSetDebugUtilsObjectNameEXT
 The function pointer to set debug object names. More...
 
PFN_vkSetDebugUtilsObjectTagEXT pfnSetDebugUtilsObjectTagEXT
 The function pointer to set free-form debug object tag data. More...
 
PFN_vkCmdBeginDebugUtilsLabelEXT pfnCmdBeginDebugUtilsLabelEXT
 
PFN_vkCmdEndDebugUtilsLabelEXT pfnCmdEndDebugUtilsLabelEXT
 
vulkan_device device
 The Vulkan device. More...
 
struct kwindowcurrent_window
 A pointer to the current window whose resources should be used as default to render to. More...
 
b8 render_flag_changed
 
b8 validation_enabled
 
b8 multithreading_enabled
 Indicates if multi-threading is supported by this device. More...
 
b8 triple_buffering_enabled
 Indicates if triple-buffering is enabled (requested) More...
 
vulkan_sampler_handle_datasamplers
 Collection of samplers. darray. More...
 
vulkan_texture_handle_datatextures
 Collection of textures. darray. More...
 
vulkan_shadershaders
 Collection of vulkan shaders (internal shader data). Matches size of shader array in shader system. More...
 
i32(* find_memory_index )(struct vulkan_context *context, u32 type_filter, u32 property_flags)
 A function pointer to find a memory index of the given type and with the given properties. More...
 
PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT
 
PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT
 
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT
 
PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT
 
PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT
 
PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT
 
PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT
 
PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR
 
PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR
 
krhi_vulkan rhi
 
vulkan_shaderbound_shader
 A pointer to the currently bound vulkan shader. More...
 
struct shaderc_compiler * shader_compiler
 

Detailed Description

The overall Vulkan context for the backend. Holds and maintains global renderer backend state, Vulkan instance, etc.

Field Documentation

◆ allocator

VkAllocationCallbacks* allocator

The internal Vulkan allocator.

◆ api_major

u32 api_major

The instance-level api major version.

◆ api_minor

u32 api_minor

The instance-level api minor version.

◆ api_patch

u32 api_patch

The instance-level api patch version.

◆ bound_shader

vulkan_shader* bound_shader

A pointer to the currently bound vulkan shader.

◆ colour_clear_value

VkClearColorValue colour_clear_value

The currently cached colour buffer clear value.

◆ current_window

struct kwindow* current_window

A pointer to the current window whose resources should be used as default to render to.

◆ debug_messenger

VkDebugUtilsMessengerEXT debug_messenger

The debug messenger, if active..

◆ depth_stencil_clear_value

VkClearDepthStencilValue depth_stencil_clear_value

The currently cached depth/stencil buffer clear value.

◆ device

vulkan_device device

The Vulkan device.

◆ find_memory_index

i32(* find_memory_index) (struct vulkan_context *context, u32 type_filter, u32 property_flags)

A function pointer to find a memory index of the given type and with the given properties.

Parameters
contextA pointer to the renderer context.
type_filterThe types of memory to search for.
property_flagsThe required properties which must be present.
Returns
The index of the found memory type. Returns -1 if not found.

◆ flags

◆ instance

VkInstance instance

The handle to the internal Vulkan instance.

◆ multithreading_enabled

b8 multithreading_enabled

Indicates if multi-threading is supported by this device.

◆ pfnCmdBeginDebugUtilsLabelEXT

PFN_vkCmdBeginDebugUtilsLabelEXT pfnCmdBeginDebugUtilsLabelEXT

◆ pfnCmdEndDebugUtilsLabelEXT

PFN_vkCmdEndDebugUtilsLabelEXT pfnCmdEndDebugUtilsLabelEXT

◆ pfnSetDebugUtilsObjectNameEXT

PFN_vkSetDebugUtilsObjectNameEXT pfnSetDebugUtilsObjectNameEXT

The function pointer to set debug object names.

◆ pfnSetDebugUtilsObjectTagEXT

PFN_vkSetDebugUtilsObjectTagEXT pfnSetDebugUtilsObjectTagEXT

The function pointer to set free-form debug object tag data.

◆ render_flag_changed

b8 render_flag_changed

◆ rhi

◆ samplers

Collection of samplers. darray.

◆ scissor_rect

vec4 scissor_rect

The scissor rectangle.

◆ shader_compiler

struct shaderc_compiler* shader_compiler

Used for dynamic compilation of vulkan shaders (using the shaderc lib.)

◆ shaders

vulkan_shader* shaders

Collection of vulkan shaders (internal shader data). Matches size of shader array in shader system.

◆ textures

Collection of textures. darray.

◆ triple_buffering_enabled

b8 triple_buffering_enabled

Indicates if triple-buffering is enabled (requested)

◆ validation_enabled

b8 validation_enabled

◆ viewport_rect

vec4 viewport_rect

The viewport rectangle.

◆ vkCmdBeginRenderingKHR

PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR

◆ vkCmdEndRenderingKHR

PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR

◆ vkCmdSetCullModeEXT

PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT

◆ vkCmdSetDepthTestEnableEXT

PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT

◆ vkCmdSetDepthWriteEnableEXT

PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT

◆ vkCmdSetFrontFaceEXT

PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT

◆ vkCmdSetPrimitiveTopologyEXT

PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT

◆ vkCmdSetStencilOpEXT

PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT

◆ vkCmdSetStencilTestEnableEXT

PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT

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