As far as I understand, there are extensions that are supported by the instance, and there are extensions supported by the device.
If the extension is in the list obtained using vkEnumerateInstanceExtensionProperties(), it means that it is supported by the instance(driver).
If the extension is in the list obtained using vkEnumerateDeviceExtensionProperties(), it means that it is supported by the device.
Then, if I want to use VK_EXT_line_rasterization for example, then it MUST be in BOTH vkEnumerateInstanceExtensionProperties() and vkEnumerateDeviceExtensionProperties(), right?
An extension is either instance extension, or a device extension. The specification says which in the extension appendix. VK_EXT_line_rasterization is a device extension.
I’m asking about extensions in general. VK_EXT_line_rasterization was specified for an example.
I’ll ask again: extensions are divided into instance extensions or device extensions, right? That is, the extension can be either an instance extension or a device extension?