mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
zink: store valid timestamp bits onto zink_screen
we need this for converting timestamp ticks to nonoseconds Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5913>
This commit is contained in:
parent
3e6366be68
commit
8930b19676
2 changed files with 11 additions and 9 deletions
|
|
@ -662,24 +662,25 @@ choose_pdev(const VkInstance instance)
|
|||
return pdev;
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
find_gfx_queue(const VkPhysicalDevice pdev)
|
||||
static void
|
||||
update_queue_props(struct zink_screen *screen)
|
||||
{
|
||||
uint32_t num_queues;
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(pdev, &num_queues, NULL);
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(screen->pdev, &num_queues, NULL);
|
||||
assert(num_queues > 0);
|
||||
|
||||
VkQueueFamilyProperties *props = malloc(sizeof(*props) * num_queues);
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(pdev, &num_queues, props);
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(screen->pdev, &num_queues, props);
|
||||
|
||||
for (uint32_t i = 0; i < num_queues; i++) {
|
||||
if (props[i].queueFlags & VK_QUEUE_GRAPHICS_BIT) {
|
||||
free(props);
|
||||
return i;
|
||||
screen->gfx_queue = i;
|
||||
screen->timestamp_valid_bits = props[i].timestampValidBits;
|
||||
assert(screen->timestamp_valid_bits);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return UINT32_MAX;
|
||||
free(props);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -768,7 +769,7 @@ zink_internal_create_screen(struct sw_winsys *winsys, int fd)
|
|||
|
||||
screen->instance = create_instance();
|
||||
screen->pdev = choose_pdev(screen->instance);
|
||||
screen->gfx_queue = find_gfx_queue(screen->pdev);
|
||||
update_queue_props(screen);
|
||||
|
||||
vkGetPhysicalDeviceMemoryProperties(screen->pdev, &screen->mem_props);
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ struct zink_screen {
|
|||
bool have_D24_UNORM_S8_UINT;
|
||||
|
||||
uint32_t gfx_queue;
|
||||
uint32_t timestamp_valid_bits;
|
||||
VkDevice dev;
|
||||
|
||||
PFN_vkGetMemoryFdKHR vk_GetMemoryFdKHR;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue