Class VkDeviceCreateInfo

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer


    public class VkDeviceCreateInfo
    extends Struct
    Khronos Reference Page
    Vulkan Specification

    Contains information about how to create a device.

    Valid Usage
    • sType must be STRUCTURE_TYPE_DEVICE_CREATE_INFO
    • pNext must be NULL
    • flags must be 0
    • pQueueCreateInfos must be a pointer to an array of queueCreateInfoCount valid VkDeviceQueueCreateInfo structures
    • If enabledLayerCount is not 0, ppEnabledLayerNames must be a pointer to an array of enabledLayerCount null-terminated strings
    • If enabledExtensionCount is not 0, ppEnabledExtensionNames must be a pointer to an array of enabledExtensionCount null-terminated strings
    • If pEnabledFeatures is not NULL, pEnabledFeatures must be a pointer to a valid VkPhysicalDeviceFeatures structure
    • queueCreateInfoCount must be greater than 0
    • ppEnabledLayerNames must either be NULL or contain the same sequence of layer names that was enabled when creating the parent instance
    • Any given element of ppEnabledExtensionNames must be the name of an extension present on the system, exactly matching a string returned in the VkExtensionProperties structure by EnumerateDeviceExtensionProperties
    • If an extension listed in ppEnabledExtensionNames is provided as part of a layer, then both the layer and extension must be enabled to enable that extension
    • The queueFamilyIndex member of any given element of pQueueCreateInfos must be unique within pQueueCreateInfos

    Member documentation

    • sType – the type of this structure. Must be: STRUCTURE_TYPE_DEVICE_CREATE_INFO
    • pNext – reserved for use by extensions
    • flags – reserved for future use
    • queueCreateInfoCount – the unsigned integer size of the pQueueCreateInfos array
    • pQueueCreateInfos – a pointer to an array of VkDeviceQueueCreateInfo structures describing the queues that are requested to be created along with the logical device
    • enabledLayerCount – deprecated and ignored
    • ppEnabledLayerNames – deprecated and ignored
    • enabledExtensionCount – the number of device extensions to enable
    • ppEnabledExtensionNames – a pointer to an array of enabledExtensionCount null-terminated UTF-8 strings containing the names of extensions to enable for the created device
    • pEnabledFeaturesNULL or a pointer to a VkPhysicalDeviceFeatures structure that contains boolean indicators of all the features to be enabled

    Layout

    struct VkDeviceCreateInfo {
        VkStructureType sType;
        const void * pNext;
        VkDeviceCreateFlags flags;
        uint32_t queueCreateInfoCount;
        const VkDeviceQueueCreateInfo * pQueueCreateInfos;
        uint32_t enabledLayerCount;
        const char * const * ppEnabledLayerNames;
        uint32_t enabledExtensionCount;
        const char * const * ppEnabledExtensionNames;
        const VkPhysicalDeviceFeatures * pEnabledFeatures;
    }