To capture events that occur while creating or destroying an instance, an application can link a VkDebugReportCallbackCreateInfoEXT structure or a VkDebugUtilsMessengerCreateInfoEXT structure to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance. This callback is only valid for the duration of the CreateInstance and the DestroyInstance call. Use CreateDebugReportCallbackEXT or CreateDebugUtilsMessengerEXT to create persistent callback objects.
An application can add additional drivers by including the VkDirectDriverLoadingListLUNARG struct to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance.
VkDirectDriverLoadingListLUNARG allows applications to ship drivers with themselves. Only drivers that are designed to work with it should be used, such as drivers that implement Vulkan in software or that implement Vulkan by translating it to a different API. Any driver that requires installation should not be used, such as hardware drivers.
pNext chain of VkInstanceCreateInfo includes a VkDebugReportCallbackCreateInfoEXT structure, the list of enabled extensions in ppEnabledExtensionNames must contain VK_EXT_debug_reportpNext chain of VkInstanceCreateInfo includes a VkDebugUtilsMessengerCreateInfoEXT structure, the list of enabled extensions in ppEnabledExtensionNames must contain VK_EXT_debug_utilspNext chain includes a VkExportMetalObjectCreateInfoEXT structure, its exportObjectType member must be either EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT or EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXTflags has the INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR bit set, the list of enabled extensions in ppEnabledExtensionNames must contain VK_KHR_portability_enumerationpNext chain of VkInstanceCreateInfo includes a VkDirectDriverLoadingListLUNARG structure, the list of enabled extensions in ppEnabledExtensionNames must contain VK_LUNARG_direct_driver_loadingsType must be STRUCTURE_TYPE_INSTANCE_CREATE_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDebugReportCallbackCreateInfoEXT, VkDebugUtilsMessengerCreateInfoEXT, VkDirectDriverLoadingListLUNARG, VkExportMetalObjectCreateInfoEXT, VkValidationFeaturesEXT, or VkValidationFlagsEXTsType value of each struct in the pNext chain must be unique, with the exception of structures of type VkDebugUtilsMessengerCreateInfoEXT or VkExportMetalObjectCreateInfoEXTflags must be a valid combination of VkInstanceCreateFlagBits valuespApplicationInfo is not NULL, pApplicationInfo must be a valid pointer to a valid VkApplicationInfo structureenabledLayerCount is not 0, ppEnabledLayerNames must be a valid pointer to an array of enabledLayerCount null-terminated UTF-8 stringsenabledExtensionCount is not 0, ppEnabledExtensionNames must be a valid pointer to an array of enabledExtensionCount null-terminated UTF-8 stringsVkApplicationInfo, CreateInstance
struct VkInstanceCreateInfo {
VkStructureType sType;
void const * pNext;
VkInstanceCreateFlags flags;
VkApplicationInfo const * pApplicationInfo;
uint32_t enabledLayerCount;
char const * const * ppEnabledLayerNames;
uint32_t enabledExtensionCount;
char const * const * ppEnabledExtensionNames;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkInstanceCreateInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | ENABLEDEXTENSIONCOUNT
The struct member offsets. |
| public static final int | ENABLEDLAYERCOUNT
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | PAPPLICATIONINFO
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PPENABLEDEXTENSIONNAMES
The struct member offsets. |
| public static final int | PPENABLEDLAYERNAMES
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkInstanceCreateInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkInstanceCreateInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkInstanceCreateInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo. | |
| public static VkInstanceCreateInfo. | |
| protected VkInstanceCreateInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkInstanceCreateInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo. | |
| public int | |
| public int | |
| public int | |
| public VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkInstanceCreateInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkInstanceCreateInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo | |
| public static VkInstanceCreateInfo. | |
| public static VkInstanceCreateInfo. | |
| public static int | |
| public static void | nenabledExtensionCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | nenabledLayerCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public static VkApplicationInfo | |
| public static void | |
| public static long | |
| public static void | |
| public static PointerBuffer | |
| public static void | nppEnabledExtensionNames(long struct, PointerBuffer value)
Unsafe version of |
| public static PointerBuffer | |
| public static void | |
| public static int | |
| public static void | |
| public VkApplicationInfo | |
| public VkInstanceCreateInfo | pApplicationInfo(VkApplicationInfo value)
Sets the address of the specified |
| public long | |
| public VkInstanceCreateInfo | |
| public VkInstanceCreateInfo | pNext(VkDebugReportCallbackCreateInfoEXT value)
Prepends the specified |
| public VkInstanceCreateInfo | pNext(VkDebugUtilsMessengerCreateInfoEXT value)
Prepends the specified |
| public VkInstanceCreateInfo | pNext(VkDirectDriverLoadingListLUNARG value)
Prepends the specified |
| public VkInstanceCreateInfo | pNext(VkExportMetalObjectCreateInfoEXT value)
Prepends the specified |
| public VkInstanceCreateInfo | pNext(VkValidationFeaturesEXT value)
Prepends the specified |
| public VkInstanceCreateInfo | pNext(VkValidationFlagsEXT value)
Prepends the specified |
| public PointerBuffer | ppEnabledExtensionNames()
a pointer to an array of |
| public VkInstanceCreateInfo | ppEnabledExtensionNames(PointerBuffer value)
Sets the address of the specified |
| public PointerBuffer | ppEnabledLayerNames()
a pointer to an array of |
| public VkInstanceCreateInfo | ppEnabledLayerNames(PointerBuffer value)
Sets the address of the specified |
| public VkInstanceCreateInfo | set(int sType, long pNext, int flags, VkApplicationInfo pApplicationInfo, PointerBuffer ppEnabledLayerNames, PointerBuffer ppEnabledExtensionNames)
Initializes this struct with the specified values. |
| public VkInstanceCreateInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkInstanceCreateInfo | |
| public VkInstanceCreateInfo | |
| public static void |