Lines Matching defs:sem
6093 struct radv_semaphore *sem)
6095 radv_destroy_semaphore_part(device, &sem->temporary);
6096 radv_destroy_semaphore_part(device, &sem->permanent);
6097 vk_object_base_finish(&sem->base);
6098 vk_free2(&device->vk.alloc, pAllocator, sem);
6109 struct radv_semaphore *sem =
6110 vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*sem), 8, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
6111 if (!sem)
6114 vk_object_base_init(&device->vk, &sem->base, VK_OBJECT_TYPE_SEMAPHORE);
6116 sem->temporary.kind = RADV_SEMAPHORE_NONE;
6117 sem->permanent.kind = RADV_SEMAPHORE_NONE;
6121 int ret = device->ws->create_syncobj(device->ws, false, &sem->permanent.syncobj);
6123 radv_destroy_semaphore(device, pAllocator, sem);
6126 device->ws->signal_syncobj(device->ws, sem->permanent.syncobj, initial_value);
6127 sem->permanent.timeline_syncobj.max_point = initial_value;
6128 sem->permanent.kind = RADV_SEMAPHORE_TIMELINE_SYNCOBJ;
6130 radv_create_timeline(&sem->permanent.timeline, initial_value);
6131 sem->permanent.kind = RADV_SEMAPHORE_TIMELINE;
6133 int ret = device->ws->create_syncobj(device->ws, false, &sem->permanent.syncobj);
6135 radv_destroy_semaphore(device, pAllocator, sem);
6138 sem->permanent.kind = RADV_SEMAPHORE_SYNCOBJ;
6141 *pSemaphore = radv_semaphore_to_handle(sem);
6150 RADV_FROM_HANDLE(radv_semaphore, sem, _semaphore);
6154 radv_destroy_semaphore(device, pAllocator, sem);
7598 RADV_FROM_HANDLE(radv_semaphore, sem, pImportSemaphoreFdInfo->semaphore);
7601 bool timeline = sem->permanent.kind == RADV_SEMAPHORE_TIMELINE_SYNCOBJ;
7605 dst = &sem->temporary;
7607 dst = &sem->permanent;
7643 RADV_FROM_HANDLE(radv_semaphore, sem, pGetFdInfo->semaphore);
7647 if (sem->temporary.kind != RADV_SEMAPHORE_NONE) {
7648 assert(sem->temporary.kind == RADV_SEMAPHORE_SYNCOBJ ||
7649 sem->temporary.kind == RADV_SEMAPHORE_TIMELINE_SYNCOBJ);
7650 syncobj_handle = sem->temporary.syncobj;
7652 assert(sem->permanent.kind == RADV_SEMAPHORE_SYNCOBJ ||
7653 sem->permanent.kind == RADV_SEMAPHORE_TIMELINE_SYNCOBJ);
7654 syncobj_handle = sem->permanent.syncobj;
7668 if (sem->temporary.kind != RADV_SEMAPHORE_NONE) {
7669 radv_destroy_semaphore_part(device, &sem->temporary);