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...
 
rect_2di viewport_rect
 The viewport rectangle. More...
 
VkInstance instance
 The scissor rectangle. 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...
 
u32 max_texture_count
 
vulkan_texture_handle_datatextures
 Collection of textures. Matches max texture size on frontend. More...
 
vulkan_shadershaders
 Collection of vulkan shaders (internal shader data). Matches size of shader array in shader system. 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
 
kshader bound_shader
 Handle to the currently bound shader. More...
 
vulkan_bufferrenderbuffers
 
kname standard_vertex_buffer_name
 
kname index_buffer_name
 
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

kshader bound_shader

Handle to the currently bound 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.

◆ flags

◆ index_buffer_name

kname index_buffer_name

◆ instance

VkInstance instance

The scissor rectangle.

The handle to the internal Vulkan instance.

◆ max_texture_count

u32 max_texture_count

◆ 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

◆ renderbuffers

vulkan_buffer* renderbuffers

◆ rhi

◆ samplers

Collection of samplers. darray.

◆ 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.

◆ standard_vertex_buffer_name

kname standard_vertex_buffer_name

◆ textures

Collection of textures. Matches max texture size on frontend.

◆ triple_buffering_enabled

b8 triple_buffering_enabled

Indicates if triple-buffering is enabled (requested)

◆ validation_enabled

b8 validation_enabled

◆ viewport_rect

rect_2di 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: