• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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