Lines Matching defs:device_data
46 struct device_data {
105 static void override_queue(struct device_data *device_data,
115 VK_CHECK(device_data->vtable.CreateCommandPool(device,
127 VK_CHECK(device_data->vtable.AllocateCommandBuffers(device,
130 VK_CHECK(device_data->set_device_loader_data(device, cmd_buffer));
135 device_data->vtable.BeginCommandBuffer(cmd_buffer, &buffer_begin_info);
142 device_data->vtable.CmdSetPerformanceOverrideINTEL(cmd_buffer, &override_info);
144 device_data->vtable.EndCommandBuffer(cmd_buffer);
151 VK_CHECK(device_data->vtable.QueueSubmit(queue, 1, &submit_info, VK_NULL_HANDLE));
153 VK_CHECK(device_data->vtable.QueueWaitIdle(queue));
155 device_data->vtable.DestroyCommandPool(device, cmd_pool, NULL);
158 static void device_override_queues(struct device_data *device_data,
164 device_data->vtable.GetDeviceQueue(device_data->device,
168 VK_CHECK(device_data->set_device_loader_data(device_data->device, queue));
170 override_queue(device_data, device_data->device,
188 static struct device_data *new_device_data(VkDevice device, struct instance_data *instance)
190 struct device_data *data = calloc(1, sizeof(*data));
197 static void destroy_device_data(struct device_data *data)
244 struct device_data *device_data = new_device_data(*pDevice, instance_data);
245 device_data->physical_device = physicalDevice;
246 vk_device_dispatch_table_load(&device_data->vtable, fpGetDeviceProcAddr, *pDevice);
250 device_data->set_device_loader_data = load_data_info->u.pfnSetDeviceLoaderData;
252 device_override_queues(device_data, pCreateInfo);
261 struct device_data *device_data = FIND(struct device_data, device);
262 device_data->vtable.DestroyDevice(device, pAllocator);
263 destroy_device_data(device_data);
362 struct device_data *device_data = FIND(struct device_data, dev);
363 if (device_data->vtable.GetDeviceProcAddr == NULL) return NULL;
364 return device_data->vtable.GetDeviceProcAddr(dev, funcName);