Lines Matching defs:wsi
60 wsi_device_init(struct wsi_device *wsi,
73 memset(wsi, 0, sizeof(*wsi));
75 wsi->instance_alloc = *alloc;
76 wsi->pdevice = pdevice;
77 wsi->sw = sw_device || (WSI_DEBUG & WSI_DEBUG_SW);
78 wsi->wants_linear = (WSI_DEBUG & WSI_DEBUG_LINEAR) != 0;
87 wsi->pci_bus_info.sType =
91 .pNext = &wsi->pci_bus_info,
95 wsi->maxImageDimension2D = pdp2.properties.limits.maxImageDimension2D;
97 wsi->optimalBufferCopyRowPitchAlignment =
99 wsi->override_present_mode = VK_PRESENT_MODE_MAX_ENUM_KHR;
101 GetPhysicalDeviceMemoryProperties(pdevice, &wsi->memory_props);
102 GetPhysicalDeviceQueueFamilyProperties(pdevice, &wsi->queue_family_count, NULL);
118 wsi->semaphore_export_handle_types |= handle_type;
123 wsi->has_import_memory_host =
126 list_inithead(&wsi->hotplug_fences);
129 wsi->func = (PFN_vk##func)proc_addr(pdevice, "vk" #func)
154 if (!wsi->sw)
168 result = wsi_x11_init_wsi(wsi, alloc, dri_options);
174 result = wsi_wl_init_wsi(wsi, alloc, pdevice);
180 result = wsi_win32_init_wsi(wsi, alloc, pdevice);
186 result = wsi_display_init_wsi(wsi, alloc, display_fd);
194 wsi->override_present_mode = VK_PRESENT_MODE_FIFO_KHR;
196 wsi->override_present_mode = VK_PRESENT_MODE_FIFO_RELAXED_KHR;
198 wsi->override_present_mode = VK_PRESENT_MODE_MAILBOX_KHR;
200 wsi->override_present_mode = VK_PRESENT_MODE_IMMEDIATE_KHR;
208 wsi->enable_adaptive_sync = driQueryOptionb(dri_options,
212 wsi->force_bgra8_unorm_first =
223 wsi_device_finish(wsi, alloc);
229 wsi_device_finish(struct wsi_device *wsi,
233 wsi_display_finish_wsi(wsi, alloc);
236 wsi_wl_finish_wsi(wsi, alloc);
239 wsi_win32_finish_wsi(wsi, alloc);
242 wsi_x11_finish_wsi(wsi, alloc);
270 wsi_swapchain_init(const struct wsi_device *wsi,
284 chain->wsi = wsi;
289 if (wsi->sw && !wsi->wants_linear)
293 if (use_buffer_blit && wsi->get_buffer_blit_queue)
294 chain->buffer_blit_queue = wsi->get_buffer_blit_queue(_device);
296 int cmd_pools_count = chain->buffer_blit_queue != VK_NULL_HANDLE ? 1 : wsi->queue_family_count;
317 result = wsi->CreateCommandPool(_device, &cmd_pool_info, &chain->alloc,
331 wsi_swapchain_is_present_mode_supported(struct wsi_device *wsi,
336 struct wsi_interface *iface = wsi->wsi[surface->platform];
368 wsi_swapchain_get_present_mode(struct wsi_device *wsi,
371 if (wsi->override_present_mode == VK_PRESENT_MODE_MAX_ENUM_KHR)
374 if (!wsi_swapchain_is_present_mode_supported(wsi, pCreateInfo,
375 wsi->override_present_mode)) {
380 return wsi->override_present_mode;
388 chain->wsi->DestroyFence(chain->device, chain->fences[i], &chain->alloc);
394 chain->wsi->DestroySemaphore(chain->device, chain->buffer_blit_semaphores[i], &chain->alloc);
398 chain->wsi->DestroySemaphore(chain->device, chain->dma_buf_semaphore,
402 1 : chain->wsi->queue_family_count;
404 chain->wsi->DestroyCommandPool(chain->device, chain->cmd_pools[i],
469 info->wsi = (struct wsi_image_create_info) {
472 __vk_append_struct(&info->create, &info->wsi);
529 const struct wsi_device *wsi = chain->wsi;
538 result = wsi->CreateImage(chain->device, &info->create,
547 result = wsi->BindImageMemory(chain->device, image->image,
569 const struct wsi_device *wsi = chain->wsi;
577 wsi->UnmapMemory(chain->device, image->buffer.buffer != VK_NULL_HANDLE ?
583 chain->buffer_blit_queue != VK_NULL_HANDLE ? 1 : wsi->queue_family_count;
586 wsi->FreeCommandBuffers(chain->device, chain->cmd_pools[i],
592 wsi->FreeMemory(chain->device, image->memory, &chain->alloc);
593 wsi->DestroyImage(chain->device, image->image, &chain->alloc);
594 wsi->FreeMemory(chain->device, image->buffer.memory, &chain->alloc);
595 wsi->DestroyBuffer(chain->device, image->buffer.buffer, &chain->alloc);
607 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
622 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
645 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
660 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
707 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
722 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
737 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
752 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
767 struct wsi_interface *iface = wsi_device->wsi[surface->platform];
907 if (chain->wsi->signal_semaphore_with_memory) {
939 if (chain->wsi->signal_fence_with_memory) {
951 wsi_common_acquire_next_image2(const struct wsi_device *wsi,
982 if (wsi->set_memory_ownership)
983 wsi->set_memory_ownership(swapchain->device, image->memory, true);
1000 wsi_common_queue_present(const struct wsi_device *wsi,
1027 result = wsi->CreateFence(device, &fence_info,
1039 result = wsi->CreateSemaphore(device, &sem_info,
1047 wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
1053 result = wsi->ResetFences(device, 1, &swapchain->fences[image_index]);
1089 result = wsi->QueueSubmit(queue, 1, &submit_info, VK_NULL_HANDLE);
1139 result = wsi->QueueSubmit(submit_queue, 1, &submit_info, fence);
1153 if (wsi->sw)
1154 wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
1165 if (wsi->set_memory_ownership) {
1167 wsi->set_memory_ownership(swapchain->device, mem, false);
1219 wsi_common_create_swapchain_image(const struct wsi_device *wsi,
1270 return wsi->CreateImage(chain->device, &chain->image_info.create,
1275 wsi_common_bind_swapchain_image(const struct wsi_device *wsi,
1283 return wsi->BindImageMemory(chain->device, vk_image, image->memory, 0);
1287 wsi_select_memory_type(const struct wsi_device *wsi,
1296 const VkMemoryType type = wsi->memory_props.memoryTypes[t];
1314 return wsi_select_memory_type(wsi, req_props, deny_props, type_bits);
1321 wsi_select_device_memory_type(const struct wsi_device *wsi,
1324 return wsi_select_memory_type(wsi, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
1329 wsi_select_host_memory_type(const struct wsi_device *wsi,
1332 return wsi_select_memory_type(wsi, VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
1343 const struct wsi_device *wsi = chain->wsi;
1358 result = wsi->CreateBuffer(chain->device, &buffer_info,
1364 wsi->GetBufferMemoryRequirements(chain->device, image->buffer.buffer, &reqs);
1383 info->select_buffer_memory_type(wsi, reqs.memoryTypeBits),
1407 result = wsi->AllocateMemory(chain->device, &buf_mem_info,
1412 result = wsi->BindBufferMemory(chain->device, image->buffer.buffer,
1417 wsi->GetImageMemoryRequirements(chain->device, image->image, &reqs);
1430 info->select_image_memory_type(wsi, reqs.memoryTypeBits),
1433 result = wsi->AllocateMemory(chain->device, &memory_info,
1451 const struct wsi_device *wsi = chain->wsi;
1455 chain->buffer_blit_queue != VK_NULL_HANDLE ? 1 : wsi->queue_family_count;
1471 result = wsi->AllocateCommandBuffers(chain->device, &cmd_buffer_info,
1479 wsi->BeginCommandBuffer(image->buffer.blit_cmd_buffers[i], &begin_info);
1499 wsi->CmdPipelineBarrier(image->buffer.blit_cmd_buffers[i],
1521 wsi->CmdCopyImageToBuffer(image->buffer.blit_cmd_buffers[i],
1531 wsi->CmdPipelineBarrier(image->buffer.blit_cmd_buffers[i],
1539 result = wsi->EndCommandBuffer(image->buffer.blit_cmd_buffers[i]);
1553 const struct wsi_device *wsi = chain->wsi;
1564 info->wsi.buffer_blit_src = true;
1573 assert(wsi->optimalBufferCopyRowPitchAlignment > 0);
1575 wsi->optimalBufferCopyRowPitchAlignment);
1590 const struct wsi_device *wsi = chain->wsi;
1594 wsi->GetImageMemoryRequirements(chain->device, image->image, &reqs);
1597 wsi->GetImageSubresourceLayout(chain->device, image->image,
1615 wsi_select_host_memory_type(wsi, reqs.memoryTypeBits),
1632 result = wsi->AllocateMemory(chain->device, &memory_info,
1637 result = wsi->MapMemory(chain->device, image->memory,
1662 result = chain->wsi->MapMemory(chain->device, image->buffer.memory,