75 static constexpr uint32_t resource_pools_count = 3;
128 VkInstance vk_instance_ = VK_NULL_HANDLE;
129 VkPhysicalDevice vk_physical_device_ = VK_NULL_HANDLE;
130 VkDevice vk_device_ = VK_NULL_HANDLE;
132 VkQueue vk_queue_ = VK_NULL_HANDLE;
133 std::mutex *queue_mutex_ =
nullptr;
150 VmaAllocator mem_allocator_ = VK_NULL_HANDLE;
153 VkPhysicalDeviceProperties vk_physical_device_properties_ = {};
154 VkPhysicalDeviceDriverProperties vk_physical_device_driver_properties_ = {};
155 VkPhysicalDeviceMemoryProperties vk_physical_device_memory_properties_ = {};
157 VkPhysicalDeviceFeatures vk_physical_device_features_ = {};
158 VkPhysicalDeviceVulkan11Features vk_physical_device_vulkan_11_features_ = {};
159 VkPhysicalDeviceVulkan12Features vk_physical_device_vulkan_12_features_ = {};
168 std::string glsl_patch_;
196 return vk_physical_device_;
201 return vk_physical_device_properties_;
206 return vk_physical_device_features_;
211 return vk_physical_device_vulkan_11_features_;
216 return vk_physical_device_vulkan_12_features_;
235 return *queue_mutex_;
240 return vk_queue_family_;
245 return mem_allocator_;
250 return descriptor_set_layouts_;
255 return debugging_tools_;
260 return debugging_tools_;
269 void init(
void *ghost_context);
328 void init_physical_device_properties();
329 void init_physical_device_memory_properties();
330 void init_physical_device_features();
331 void init_physical_device_extensions();
332 void init_debug_callbacks();
333 void init_memory_allocator();
337 void init_functions();
342 void init_dummy_buffer();
render_graph::VKResourceStateTracker resources
const VkPhysicalDeviceFeatures & physical_device_features_get() const
PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectName
VmaAllocator mem_allocator_get() const
VKDescriptorSetLayouts & descriptor_set_layouts_get()
VkQueue queue_get() const
VkDevice vk_handle() const
bool supports_extension(const char *extension_name) const
const VkPhysicalDeviceProperties & physical_device_properties_get() const
const VKSamplers & samplers() const
std::string vendor_name() const
std::string driver_version() const
std::mutex & queue_mutex_get()
PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessenger
const uint32_t queue_family_get() const
VKDiscardPool orphaned_data
debug::VKDebuggingTools & debugging_tools_get()
VKThreadData & current_thread_data()
eGPUDriverType driver_type() const
VKDiscardPool & discard_pool_for_current_thread()
const char * glsl_patch_get() const
const debug::VKDebuggingTools & debugging_tools_get() const
void context_register(VKContext &context)
bool is_initialized() const
VkPhysicalDevice physical_device_get() const
const VKWorkarounds & workarounds_get() const
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabel
VkInstance instance_get() const
PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessenger
void context_unregister(VKContext &context)
const VkPhysicalDeviceVulkan12Features & physical_device_vulkan_12_features_get() const
PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabel
void memory_statistics_get(int *r_total_mem_kb, int *r_free_mem_kb) const
PFN_vkCmdBeginRendering vkCmdBeginRendering
struct blender::gpu::VKDevice::@670 functions
const VkPhysicalDeviceVulkan11Features & physical_device_vulkan_11_features_get() const
Span< std::reference_wrapper< VKContext > > contexts_get() const
PFN_vkCmdEndRendering vkCmdEndRendering
eGPUDeviceType device_type() const
std::array< VKResourcePool, resource_pools_count > resource_pools
void resource_pool_next()
VKThreadData(VKDevice &device, pthread_t thread_id)
uint32_t resource_pool_index
VKResourcePool & resource_pool_get()
void deinit(VKDevice &device)
bool not_aligned_pixel_formats
struct blender::gpu::VKWorkarounds::@669 vertex_formats
bool dynamic_rendering_unused_attachments
bool shader_output_viewport_index
bool fragment_shader_barycentric