Class VulkanLogicalDeviceCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanLogicalDeviceCreateInfo
- All Implemented Interfaces:
VulkanLogicalDeviceCreateInfoType
public final class VulkanLogicalDeviceCreateInfo
extends Object
implements VulkanLogicalDeviceCreateInfoType
Parameters used to create logical devices.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanLogicalDeviceCreateInfo. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanLogicalDeviceCreateInfo.copyOf(VulkanLogicalDeviceCreateInfoType instance) Creates an immutable copy of aVulkanLogicalDeviceCreateInfoTypevalue.booleanThis instance is equal to all instances ofVulkanLogicalDeviceCreateInfothat have equal attribute values.features()flags()inthashCode()Computes a hash code from attributes:flags,queueCreateInfos,enabledLayers,enabledExtensions,features.toString()Prints the immutable valueVulkanLogicalDeviceCreateInfowith attribute values.withEnabledExtensions(Iterable<String> elements) Copy the current immutable object with elements that replace the content ofenabledExtensions.withEnabledExtensions(String... elements) Copy the current immutable object with elements that replace the content ofenabledExtensions.withEnabledLayers(Iterable<String> elements) Copy the current immutable object with elements that replace the content ofenabledLayers.withEnabledLayers(String... elements) Copy the current immutable object with elements that replace the content ofenabledLayers.Copy the current immutable object by setting a present value for the optionalfeaturesattribute.withFeatures(Optional<? extends VulkanPhysicalDeviceFeatures> optional) Copy the current immutable object by setting an optional value for thefeaturesattribute.withFlags(VulkanLogicalDeviceCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags.withFlags(Iterable<VulkanLogicalDeviceCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags.withQueueCreateInfos(VulkanLogicalDeviceQueueCreateInfo... elements) Copy the current immutable object with elements that replace the content ofqueueCreateInfos.withQueueCreateInfos(Iterable<? extends VulkanLogicalDeviceQueueCreateInfo> elements) Copy the current immutable object with elements that replace the content ofqueueCreateInfos.
-
Method Details
-
flags
- Specified by:
flagsin interfaceVulkanLogicalDeviceCreateInfoType- Returns:
- The creation flags
-
queueCreateInfos
- Specified by:
queueCreateInfosin interfaceVulkanLogicalDeviceCreateInfoType- Returns:
- A list of queues to be created
-
enabledLayers
- Specified by:
enabledLayersin interfaceVulkanLogicalDeviceCreateInfoType- Returns:
- A list of layers to be enabled
-
enabledExtensions
- Specified by:
enabledExtensionsin interfaceVulkanLogicalDeviceCreateInfoType- Returns:
- A list of extensions to be enabled
-
features
- Specified by:
featuresin interfaceVulkanLogicalDeviceCreateInfoType- Returns:
- A set of features to be enabled
-
withFlags
Copy the current immutable object with elements that replace the content offlags.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withFlags
public final VulkanLogicalDeviceCreateInfo withFlags(Iterable<VulkanLogicalDeviceCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of flags elements to set- Returns:
- A modified copy or
thisif not changed
-
withQueueCreateInfos
public final VulkanLogicalDeviceCreateInfo withQueueCreateInfos(VulkanLogicalDeviceQueueCreateInfo... elements) Copy the current immutable object with elements that replace the content ofqueueCreateInfos.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withQueueCreateInfos
public final VulkanLogicalDeviceCreateInfo withQueueCreateInfos(Iterable<? extends VulkanLogicalDeviceQueueCreateInfo> elements) Copy the current immutable object with elements that replace the content ofqueueCreateInfos. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of queueCreateInfos elements to set- Returns:
- A modified copy or
thisif not changed
-
withEnabledLayers
Copy the current immutable object with elements that replace the content ofenabledLayers.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withEnabledLayers
Copy the current immutable object with elements that replace the content ofenabledLayers. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of enabledLayers elements to set- Returns:
- A modified copy or
thisif not changed
-
withEnabledExtensions
Copy the current immutable object with elements that replace the content ofenabledExtensions.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withEnabledExtensions
Copy the current immutable object with elements that replace the content ofenabledExtensions. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of enabledExtensions elements to set- Returns:
- A modified copy or
thisif not changed
-
withFeatures
Copy the current immutable object by setting a present value for the optionalfeaturesattribute.- Parameters:
value- The value for features- Returns:
- A modified copy or
thisif not changed
-
withFeatures
public final VulkanLogicalDeviceCreateInfo withFeatures(Optional<? extends VulkanPhysicalDeviceFeatures> optional) Copy the current immutable object by setting an optional value for thefeaturesattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- An optional value for features- Returns:
- A modified copy or
thisif not changed
-
equals
-
hashCode
-
toString
-
copyOf
Creates an immutable copy of aVulkanLogicalDeviceCreateInfoTypevalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable VulkanLogicalDeviceCreateInfo instance
-
builder
Creates a builder forVulkanLogicalDeviceCreateInfo.VulkanLogicalDeviceCreateInfo.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanLogicalDeviceCreateFlag) //
flagselements .addQueueCreateInfos|addAllQueueCreateInfos(VulkanLogicalDeviceQueueCreateInfo) //queueCreateInfoselements .addEnabledLayers|addAllEnabledLayers(String) //enabledLayerselements .addEnabledExtensions|addAllEnabledExtensions(String) //enabledExtensionselements .setFeatures(Optional<VulkanPhysicalDeviceFeatures>) // optionalfeatures.build();- Returns:
- A new VulkanLogicalDeviceCreateInfo builder
-