SBgl 0.1.0
A graphics framework in C99
Loading...
Searching...
No Matches
sbgl_GfxContext Struct Reference
Collaboration diagram for sbgl_GfxContext:

Data Fields

struct VolkDeviceTable vk
 
VkInstance instance
 
VkSurfaceKHR surface
 
VkPhysicalDevice physicalDevice
 
VkDevice device
 
VkQueue graphicsQueue
 
uint32_t graphicsQueueFamily
 
sbgl_Windowwindow
 
SblArenaarena
 
VkSwapchainKHR swapchain
 
VkFormat swapchainFormat
 
VkExtent2D swapchainExtent
 
uint32_t imageCount
 
VkImage * images
 
VkImageView * imageViews
 
SblArenaMark swapchainMark
 
VkImage depthImage
 
VkDeviceMemory depthMemory
 
VkImageView depthImageView
 
VkFormat depthFormat
 
VkCommandPool commandPool
 
VkCommandBuffer commandBuffers [SBGL_MAX_FRAMES_IN_FLIGHT]
 
VkSemaphore imageAvailableSemaphores [SBGL_MAX_SWAPCHAIN_IMAGES]
 
VkSemaphore renderFinishedSemaphores [SBGL_MAX_SWAPCHAIN_IMAGES]
 
VkFence inFlightFences [SBGL_MAX_FRAMES_IN_FLIGHT]
 
uint32_t currentImageIndex
 
uint32_t currentFrame
 
uint32_t semaphoreIndex
 
sbgl_Result result
 
sbgl_GfxStaticHeap staticHeap
 
sbgl_GfxDynamicHeap dynamicHeap
 
sbgl_GfxManagedHeap managedHeap
 
sbgl_ResourceLimits limits
 
bool * bufferActive
 
SBGL_VulkanBufferbuffers
 
SBGL_VulkanShadershaders
 
SBGL_VulkanPipelinepipelines
 
SBGL_VulkanComputePipelinecomputePipelines
 
sbgl_Pipeline boundPipeline
 
sbgl_ComputePipeline boundComputePipeline
 
sbgl_Buffer transientBuffers [SBGL_MAX_FRAMES_IN_FLIGHT]
 
uint32_t transientOffsets [SBGL_MAX_FRAMES_IN_FLIGHT]
 
void * transientMapped [SBGL_MAX_FRAMES_IN_FLIGHT]
 
sbgl_Buffer deferredBuffers [SBGL_MAX_FRAMES_IN_FLIGHT][64]
 
uint32_t deferredCount [SBGL_MAX_FRAMES_IN_FLIGHT]
 
VkQueryPool queryPool
 
float timestampPeriod
 
int32_t backendResult
 

Detailed Description

Definition at line 101 of file sbgl_backend_vulkan.c.

Field Documentation

◆ arena

SblArena* sbgl_GfxContext::arena

Definition at line 112 of file sbgl_backend_vulkan.c.

◆ backendResult

int32_t sbgl_GfxContext::backendResult

Last VkResult from Vulkan calls.

Definition at line 166 of file sbgl_backend_vulkan.c.

◆ boundComputePipeline

sbgl_ComputePipeline sbgl_GfxContext::boundComputePipeline

Definition at line 154 of file sbgl_backend_vulkan.c.

◆ boundPipeline

sbgl_Pipeline sbgl_GfxContext::boundPipeline

Definition at line 153 of file sbgl_backend_vulkan.c.

◆ bufferActive

bool* sbgl_GfxContext::bufferActive

Definition at line 148 of file sbgl_backend_vulkan.c.

◆ buffers

SBGL_VulkanBuffer* sbgl_GfxContext::buffers

Definition at line 149 of file sbgl_backend_vulkan.c.

◆ commandBuffers

VkCommandBuffer sbgl_GfxContext::commandBuffers[SBGL_MAX_FRAMES_IN_FLIGHT]

Definition at line 127 of file sbgl_backend_vulkan.c.

◆ commandPool

VkCommandPool sbgl_GfxContext::commandPool

Definition at line 126 of file sbgl_backend_vulkan.c.

◆ computePipelines

SBGL_VulkanComputePipeline* sbgl_GfxContext::computePipelines

Definition at line 152 of file sbgl_backend_vulkan.c.

◆ currentFrame

uint32_t sbgl_GfxContext::currentFrame

Definition at line 133 of file sbgl_backend_vulkan.c.

◆ currentImageIndex

uint32_t sbgl_GfxContext::currentImageIndex

Definition at line 132 of file sbgl_backend_vulkan.c.

◆ deferredBuffers

sbgl_Buffer sbgl_GfxContext::deferredBuffers[SBGL_MAX_FRAMES_IN_FLIGHT][64]

Definition at line 160 of file sbgl_backend_vulkan.c.

◆ deferredCount

uint32_t sbgl_GfxContext::deferredCount[SBGL_MAX_FRAMES_IN_FLIGHT]

Definition at line 161 of file sbgl_backend_vulkan.c.

◆ depthFormat

VkFormat sbgl_GfxContext::depthFormat

Definition at line 124 of file sbgl_backend_vulkan.c.

◆ depthImage

VkImage sbgl_GfxContext::depthImage

Definition at line 121 of file sbgl_backend_vulkan.c.

◆ depthImageView

VkImageView sbgl_GfxContext::depthImageView

Definition at line 123 of file sbgl_backend_vulkan.c.

◆ depthMemory

VkDeviceMemory sbgl_GfxContext::depthMemory

Definition at line 122 of file sbgl_backend_vulkan.c.

◆ device

VkDevice sbgl_GfxContext::device

Definition at line 107 of file sbgl_backend_vulkan.c.

◆ dynamicHeap

sbgl_GfxDynamicHeap sbgl_GfxContext::dynamicHeap

Definition at line 139 of file sbgl_backend_vulkan.c.

◆ graphicsQueue

VkQueue sbgl_GfxContext::graphicsQueue

Definition at line 108 of file sbgl_backend_vulkan.c.

◆ graphicsQueueFamily

uint32_t sbgl_GfxContext::graphicsQueueFamily

Definition at line 109 of file sbgl_backend_vulkan.c.

◆ imageAvailableSemaphores

VkSemaphore sbgl_GfxContext::imageAvailableSemaphores[SBGL_MAX_SWAPCHAIN_IMAGES]

Definition at line 128 of file sbgl_backend_vulkan.c.

◆ imageCount

uint32_t sbgl_GfxContext::imageCount

Definition at line 116 of file sbgl_backend_vulkan.c.

◆ images

VkImage* sbgl_GfxContext::images

Definition at line 117 of file sbgl_backend_vulkan.c.

◆ imageViews

VkImageView* sbgl_GfxContext::imageViews

Definition at line 118 of file sbgl_backend_vulkan.c.

◆ inFlightFences

VkFence sbgl_GfxContext::inFlightFences[SBGL_MAX_FRAMES_IN_FLIGHT]

Definition at line 130 of file sbgl_backend_vulkan.c.

◆ instance

VkInstance sbgl_GfxContext::instance

Definition at line 104 of file sbgl_backend_vulkan.c.

◆ limits

sbgl_ResourceLimits sbgl_GfxContext::limits

Definition at line 143 of file sbgl_backend_vulkan.c.

◆ managedHeap

sbgl_GfxManagedHeap sbgl_GfxContext::managedHeap

Definition at line 140 of file sbgl_backend_vulkan.c.

◆ physicalDevice

VkPhysicalDevice sbgl_GfxContext::physicalDevice

Definition at line 106 of file sbgl_backend_vulkan.c.

◆ pipelines

SBGL_VulkanPipeline* sbgl_GfxContext::pipelines

Definition at line 151 of file sbgl_backend_vulkan.c.

◆ queryPool

VkQueryPool sbgl_GfxContext::queryPool

Definition at line 163 of file sbgl_backend_vulkan.c.

◆ renderFinishedSemaphores

VkSemaphore sbgl_GfxContext::renderFinishedSemaphores[SBGL_MAX_SWAPCHAIN_IMAGES]

Definition at line 129 of file sbgl_backend_vulkan.c.

◆ result

sbgl_Result sbgl_GfxContext::result

Definition at line 136 of file sbgl_backend_vulkan.c.

◆ semaphoreIndex

uint32_t sbgl_GfxContext::semaphoreIndex

Definition at line 134 of file sbgl_backend_vulkan.c.

◆ shaders

SBGL_VulkanShader* sbgl_GfxContext::shaders

Definition at line 150 of file sbgl_backend_vulkan.c.

◆ staticHeap

sbgl_GfxStaticHeap sbgl_GfxContext::staticHeap

Definition at line 138 of file sbgl_backend_vulkan.c.

◆ surface

VkSurfaceKHR sbgl_GfxContext::surface

Definition at line 105 of file sbgl_backend_vulkan.c.

◆ swapchain

VkSwapchainKHR sbgl_GfxContext::swapchain

Definition at line 113 of file sbgl_backend_vulkan.c.

◆ swapchainExtent

VkExtent2D sbgl_GfxContext::swapchainExtent

Definition at line 115 of file sbgl_backend_vulkan.c.

◆ swapchainFormat

VkFormat sbgl_GfxContext::swapchainFormat

Definition at line 114 of file sbgl_backend_vulkan.c.

◆ swapchainMark

SblArenaMark sbgl_GfxContext::swapchainMark

Definition at line 119 of file sbgl_backend_vulkan.c.

◆ timestampPeriod

float sbgl_GfxContext::timestampPeriod

Definition at line 164 of file sbgl_backend_vulkan.c.

◆ transientBuffers

sbgl_Buffer sbgl_GfxContext::transientBuffers[SBGL_MAX_FRAMES_IN_FLIGHT]

Definition at line 156 of file sbgl_backend_vulkan.c.

◆ transientMapped

void* sbgl_GfxContext::transientMapped[SBGL_MAX_FRAMES_IN_FLIGHT]

Definition at line 158 of file sbgl_backend_vulkan.c.

◆ transientOffsets

uint32_t sbgl_GfxContext::transientOffsets[SBGL_MAX_FRAMES_IN_FLIGHT]

Definition at line 157 of file sbgl_backend_vulkan.c.

◆ vk

struct VolkDeviceTable sbgl_GfxContext::vk

Definition at line 102 of file sbgl_backend_vulkan.c.

◆ window

sbgl_Window* sbgl_GfxContext::window

Definition at line 111 of file sbgl_backend_vulkan.c.


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