@ -219,6 +219,19 @@ vkr_device_init_entry_points(struct vkr_device *dev, uint32_t api_version)
handle , " vkGetMemoryFdPropertiesKHR " ) ;
handle , " vkGetMemoryFdPropertiesKHR " ) ;
}
}
static void
vkr_device_init_proc_table ( struct vkr_device * dev ,
uint32_t api_version ,
const char * const * exts ,
uint32_t count )
{
struct vn_info_extension_table ext_table ;
vkr_extension_table_init ( & ext_table , exts , count ) ;
vn_util_init_device_proc_table ( dev - > base . handle . device , api_version , & ext_table ,
& dev - > proc_table ) ;
}
static void
static void
vkr_dispatch_vkCreateDevice ( struct vn_dispatch_context * dispatch ,
vkr_dispatch_vkCreateDevice ( struct vn_dispatch_context * dispatch ,
struct vn_command_vkCreateDevice * args )
struct vn_command_vkCreateDevice * args )
@ -272,10 +285,12 @@ vkr_dispatch_vkCreateDevice(struct vn_dispatch_context *dispatch,
return ;
return ;
}
}
free ( exts ) ;
dev - > physical_device = physical_dev ;
dev - > physical_device = physical_dev ;
vkr_device_init_proc_table ( dev , physical_dev - > api_version , exts , ext_count ) ;
free ( exts ) ;
args - > ret = vkr_device_create_queues ( ctx , dev , args - > pCreateInfo - > queueCreateInfoCount ,
args - > ret = vkr_device_create_queues ( ctx , dev , args - > pCreateInfo - > queueCreateInfoCount ,
args - > pCreateInfo - > pQueueCreateInfos ) ;
args - > pCreateInfo - > pQueueCreateInfos ) ;
if ( args - > ret ! = VK_SUCCESS ) {
if ( args - > ret ! = VK_SUCCESS ) {