1// Copyright 2020-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5[open,refpage='VkLayerSettingsCreateInfoEXT',desc='Specify layer capabilities for a Vulkan instance',type='structs'] 6-- 7To create a Vulkan instance with a specific configuration of layer settings, 8add slink:VkLayerSettingsCreateInfoEXT structures to the pname:pNext chain 9of the slink:VkInstanceCreateInfo structure, specifying the settings to be 10configured. 11 12include::{generated}/api/structs/VkLayerSettingsCreateInfoEXT.adoc[] 13 14 * pname:sType is a elink:VkStructureType value identifying this structure. 15 * pname:pNext is `NULL` or a pointer to a structure extending this 16 structure. 17 * pname:settingCount is the number of settings to configure. 18 * pname:pSettings is a pointer to an array of pname:settingCount 19 slink:VkLayerSettingEXT values specifying the setting to be configured. 20 21include::{generated}/validity/structs/VkLayerSettingsCreateInfoEXT.adoc[] 22-- 23 24[open,refpage='VkLayerSettingEXT',desc='Specify a layer capability to configure',type='structs'] 25-- 26The values of elements of the 27slink:VkLayerSettingsCreateInfoEXT::pname:pSettings array, specifying layer 28settings to be configured, are: 29 30include::{generated}/api/structs/VkLayerSettingEXT.adoc[] 31 32 * pname:pLayerName is a pointer to a null-terminated UTF-8 string naming 33 the layer to configure the setting from. 34 * pname:pSettingName is a pointer to a null-terminated UTF-8 string naming 35 the setting to configure. 36 Unknown pname:pSettingName by the layer are ignored. 37 * pname:type is a elink:VkLayerSettingTypeEXT value specifying the type of 38 the pname:pValues values. 39 * pname:count is the number of values used to configure the layer setting. 40 * pname:pValues is a pointer to an array of pname:count values of the type 41 indicated by pname:type to configure the layer setting. 42 43When multiple slink:VkLayerSettingsCreateInfoEXT structures are chained and 44the same pname:pSettingName is referenced for the same pname:pLayerName, the 45value of the first reference of the layer setting is used. 46 47include::{generated}/validity/structs/VkLayerSettingEXT.adoc[] 48-- 49 50[open,refpage='VkLayerSettingTypeEXT',desc='Type of the values that can be passed to a layer',type='enums'] 51-- 52Possible values of slink:VkLayerSettingEXT::pname:type, specifying the type 53of the data returned in slink:VkLayerSettingEXT::pname:pValues, are: 54 55include::{generated}/api/enums/VkLayerSettingTypeEXT.adoc[] 56 57 * ename:VK_LAYER_SETTING_TYPE_BOOL32_EXT specifies that the layer 58 setting's type is basetype:VkBool32. 59 * ename:VK_LAYER_SETTING_TYPE_INT32_EXT specifies that the layer setting's 60 type is signed 32-bit integer. 61 * ename:VK_LAYER_SETTING_TYPE_INT64_EXT specifies that the layer setting's 62 type is signed 64-bit integer. 63 * ename:VK_LAYER_SETTING_TYPE_UINT32_EXT specifies that the layer 64 setting's type is unsigned 32-bit integer. 65 * ename:VK_LAYER_SETTING_TYPE_UINT64_EXT specifies that the layer 66 setting's type is unsigned 64-bit integer. 67 * ename:VK_LAYER_SETTING_TYPE_FLOAT32_EXT specifies that the layer 68 setting's type is 32-bit floating-point. 69 * ename:VK_LAYER_SETTING_TYPE_FLOAT64_EXT specifies that the layer 70 setting's type is 64-bit floating-point. 71 * ename:VK_LAYER_SETTING_TYPE_STRING_EXT specifies that the layer 72 setting's type is a pointer to a null-terminated UTF-8 string. 73-- 74