Rémi Bernon (@rbernon) commented about dlls/win32u/vulkan.c:
+ VkSemaphoreCreateInfo create_info = + { + .sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, + .pNext = &type_info, + }; + VkSemaphore new_semaphore; + + if ((res = device->p_vkCreateSemaphore( device->host.device, &create_info, NULL, &new_semaphore ))) + { + ERR( "Failed to create timeline semaphore, vr %d.\n", res ); + } else + { + instance->p_remove_object( instance, &semaphore->obj.obj ); + device->p_vkDestroySemaphore( device->host.device, semaphore->obj.host.semaphore, NULL ); + semaphore->obj.host.semaphore = new_semaphore;
vulkan_object_init( &semaphore->obj.obj, new_semaphore );
Lets keep this more similar to other object creation code patterns. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11175#note_143583