Kohi Game Engine
|
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 kwindow * | current_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_data * | samplers |
Collection of samplers. darray. More... | |
vulkan_texture_handle_data * | textures |
Collection of textures. darray. More... | |
vulkan_shader * | shaders |
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_shader * | bound_shader |
A pointer to the currently bound vulkan shader. More... | |
struct shaderc_compiler * | shader_compiler |
The overall Vulkan context for the backend. Holds and maintains global renderer backend state, Vulkan instance, etc.
VkAllocationCallbacks* allocator |
The internal Vulkan allocator.
u32 api_major |
The instance-level api major version.
u32 api_minor |
The instance-level api minor version.
u32 api_patch |
The instance-level api patch version.
vulkan_shader* bound_shader |
A pointer to the currently bound vulkan shader.
VkClearColorValue colour_clear_value |
The currently cached colour buffer clear value.
struct kwindow* current_window |
A pointer to the current window whose resources should be used as default to render to.
VkDebugUtilsMessengerEXT debug_messenger |
The debug messenger, if active..
VkClearDepthStencilValue depth_stencil_clear_value |
The currently cached depth/stencil buffer clear value.
vulkan_device device |
The Vulkan device.
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.
context | A pointer to the renderer context. |
type_filter | The types of memory to search for. |
property_flags | The required properties which must be present. |
renderer_config_flags flags |
VkInstance instance |
The handle to the internal Vulkan instance.
b8 multithreading_enabled |
Indicates if multi-threading is supported by this device.
PFN_vkCmdBeginDebugUtilsLabelEXT pfnCmdBeginDebugUtilsLabelEXT |
PFN_vkCmdEndDebugUtilsLabelEXT pfnCmdEndDebugUtilsLabelEXT |
PFN_vkSetDebugUtilsObjectNameEXT pfnSetDebugUtilsObjectNameEXT |
The function pointer to set debug object names.
PFN_vkSetDebugUtilsObjectTagEXT pfnSetDebugUtilsObjectTagEXT |
The function pointer to set free-form debug object tag data.
b8 render_flag_changed |
krhi_vulkan rhi |
vulkan_sampler_handle_data* samplers |
Collection of samplers. darray.
vec4 scissor_rect |
The scissor rectangle.
struct shaderc_compiler* shader_compiler |
Used for dynamic compilation of vulkan shaders (using the shaderc lib.)
vulkan_shader* shaders |
Collection of vulkan shaders (internal shader data). Matches size of shader array in shader system.
vulkan_texture_handle_data* textures |
Collection of textures. darray.
b8 triple_buffering_enabled |
Indicates if triple-buffering is enabled (requested)
b8 validation_enabled |
vec4 viewport_rect |
The viewport rectangle.
PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR |
PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR |
PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT |
PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT |
PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT |
PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT |
PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT |
PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT |
PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT |