• Home
  • Raw
  • Download

Lines Matching refs:instance

39 vk_instance_init(struct vk_instance *instance,  in vk_instance_init()  argument
45 memset(instance, 0, sizeof(*instance)); in vk_instance_init()
46 vk_object_base_init(NULL, &instance->base, VK_OBJECT_TYPE_INSTANCE); in vk_instance_init()
47 instance->alloc = *alloc; in vk_instance_init()
54 list_inithead(&instance->debug_utils.instance_callbacks); in vk_instance_init()
65 return vk_error(instance, VK_ERROR_OUT_OF_HOST_MEMORY); in vk_instance_init()
77 &instance->debug_utils.instance_callbacks); in vk_instance_init()
85 instance->app_info = (struct vk_app_info) { .api_version = 0 }; in vk_instance_init()
89 instance->app_info.app_name = in vk_instance_init()
90 vk_strdup(&instance->alloc, app->pApplicationName, in vk_instance_init()
92 instance->app_info.app_version = app->applicationVersion; in vk_instance_init()
94 instance->app_info.engine_name = in vk_instance_init()
95 vk_strdup(&instance->alloc, app->pEngineName, in vk_instance_init()
97 instance->app_info.engine_version = app->engineVersion; in vk_instance_init()
99 instance->app_info.api_version = app->apiVersion; in vk_instance_init()
110 if (instance->app_info.api_version == 0) in vk_instance_init()
111 instance->app_info.api_version = VK_API_VERSION_1_0; in vk_instance_init()
120 assert(instance->app_info.api_version >= VK_API_VERSION_1_0); in vk_instance_init()
130 !VERSION_IS_1_0(instance->app_info.api_version)) in vk_instance_init()
142 return vk_errorf(instance, VK_ERROR_EXTENSION_NOT_PRESENT, in vk_instance_init()
147 return vk_errorf(instance, VK_ERROR_EXTENSION_NOT_PRESENT, in vk_instance_init()
153 return vk_errorf(instance, VK_ERROR_EXTENSION_NOT_PRESENT, in vk_instance_init()
158 instance->enabled_extensions.extensions[idx] = true; in vk_instance_init()
161 instance->dispatch_table = *dispatch_table; in vk_instance_init()
165 &instance->dispatch_table, &vk_common_instance_entrypoints, false); in vk_instance_init()
167 if (mtx_init(&instance->debug_report.callbacks_mutex, mtx_plain) != 0) in vk_instance_init()
168 return vk_error(instance, VK_ERROR_INITIALIZATION_FAILED); in vk_instance_init()
170 list_inithead(&instance->debug_report.callbacks); in vk_instance_init()
172 if (mtx_init(&instance->debug_utils.callbacks_mutex, mtx_plain) != 0) { in vk_instance_init()
173 mtx_destroy(&instance->debug_report.callbacks_mutex); in vk_instance_init()
174 return vk_error(instance, VK_ERROR_INITIALIZATION_FAILED); in vk_instance_init()
177 list_inithead(&instance->debug_utils.callbacks); in vk_instance_init()
185 vk_instance_finish(struct vk_instance *instance) in vk_instance_finish() argument
188 if (unlikely(!list_is_empty(&instance->debug_utils.callbacks))) { in vk_instance_finish()
190 &instance->debug_utils.callbacks, link) { in vk_instance_finish()
193 vk_free2(&instance->alloc, &messenger->alloc, messenger); in vk_instance_finish()
196 if (unlikely(!list_is_empty(&instance->debug_utils.instance_callbacks))) { in vk_instance_finish()
198 &instance->debug_utils.instance_callbacks, in vk_instance_finish()
202 vk_free2(&instance->alloc, &messenger->alloc, messenger); in vk_instance_finish()
205 mtx_destroy(&instance->debug_report.callbacks_mutex); in vk_instance_finish()
206 mtx_destroy(&instance->debug_utils.callbacks_mutex); in vk_instance_finish()
207 vk_free(&instance->alloc, (char *)instance->app_info.app_name); in vk_instance_finish()
208 vk_free(&instance->alloc, (char *)instance->app_info.engine_name); in vk_instance_finish()
209 vk_object_base_finish(&instance->base); in vk_instance_finish()
238 vk_instance_get_proc_addr(const struct vk_instance *instance, in vk_instance_get_proc_addr() argument
267 if (instance == NULL) in vk_instance_get_proc_addr()
270 func = vk_instance_dispatch_table_get_if_supported(&instance->dispatch_table, in vk_instance_get_proc_addr()
272 instance->app_info.api_version, in vk_instance_get_proc_addr()
273 &instance->enabled_extensions); in vk_instance_get_proc_addr()
279 instance->app_info.api_version, in vk_instance_get_proc_addr()
280 &instance->enabled_extensions); in vk_instance_get_proc_addr()
286 instance->app_info.api_version, in vk_instance_get_proc_addr()
287 &instance->enabled_extensions, in vk_instance_get_proc_addr()
296 vk_instance_get_proc_addr_unchecked(const struct vk_instance *instance, in vk_instance_get_proc_addr_unchecked() argument
301 if (instance == NULL || name == NULL) in vk_instance_get_proc_addr_unchecked()
304 func = vk_instance_dispatch_table_get(&instance->dispatch_table, name); in vk_instance_get_proc_addr_unchecked()
321 vk_instance_get_physical_device_proc_addr(const struct vk_instance *instance, in vk_instance_get_physical_device_proc_addr() argument
324 if (instance == NULL || name == NULL) in vk_instance_get_physical_device_proc_addr()
329 instance->app_info.api_version, in vk_instance_get_physical_device_proc_addr()
330 &instance->enabled_extensions); in vk_instance_get_physical_device_proc_addr()