Class VulkanImageCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanImageCreateInfo
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanImageCreateInfo. -
Method Summary
Modifier and TypeMethodDescriptionintbuilder()Creates a builder forVulkanImageCreateInfo.static VulkanImageCreateInfocopyOf(VulkanImageCreateInfoType instance) Creates an immutable copy of aVulkanImageCreateInfoTypevalue.booleanThis instance is equal to all instances ofVulkanImageCreateInfothat have equal attribute values.extent()flags()format()inthashCode()Computes a hash code from attributes:flags,imageType,format,extent,mipLevels,arrayLayers,samples,tiling,usage,sharingMode,queueFamilyIndices,initialLayout.intstatic VulkanImageCreateInfoof(Iterable<VulkanImageCreateFlag> flags, VulkanImageKind imageType, VulkanFormat format, VulkanExtent3D extent, int mipLevels, int arrayLayers, Iterable<VulkanSampleCountFlag> samples, VulkanImageTiling tiling, Iterable<VulkanImageUsageFlag> usage, VulkanSharingMode sharingMode, Iterable<Integer> queueFamilyIndices, VulkanImageLayout initialLayout) Construct a new immutableVulkanImageCreateInfoinstance.static VulkanImageCreateInfoof(Set<VulkanImageCreateFlag> flags, VulkanImageKind imageType, VulkanFormat format, VulkanExtent3D extent, int mipLevels, int arrayLayers, Set<VulkanSampleCountFlag> samples, VulkanImageTiling tiling, Set<VulkanImageUsageFlag> usage, VulkanSharingMode sharingMode, List<Integer> queueFamilyIndices, VulkanImageLayout initialLayout) Construct a new immutableVulkanImageCreateInfoinstance.samples()tiling()toString()Prints the immutable valueVulkanImageCreateInfowith attribute values.usage()final VulkanImageCreateInfowithArrayLayers(int value) Copy the current immutable object by setting a value for thearrayLayersattribute.final VulkanImageCreateInfowithExtent(VulkanExtent3D value) Copy the current immutable object by setting a value for theextentattribute.final VulkanImageCreateInfowithFlags(VulkanImageCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags.final VulkanImageCreateInfowithFlags(Iterable<VulkanImageCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags.final VulkanImageCreateInfowithFormat(VulkanFormat value) Copy the current immutable object by setting a value for theformatattribute.final VulkanImageCreateInfowithImageType(VulkanImageKind value) Copy the current immutable object by setting a value for theimageTypeattribute.final VulkanImageCreateInfoCopy the current immutable object by setting a value for theinitialLayoutattribute.final VulkanImageCreateInfowithMipLevels(int value) Copy the current immutable object by setting a value for themipLevelsattribute.final VulkanImageCreateInfowithQueueFamilyIndices(int... elements) Copy the current immutable object with elements that replace the content ofqueueFamilyIndices.final VulkanImageCreateInfowithQueueFamilyIndices(Iterable<Integer> elements) Copy the current immutable object with elements that replace the content ofqueueFamilyIndices.final VulkanImageCreateInfowithSamples(VulkanSampleCountFlag... elements) Copy the current immutable object with elements that replace the content ofsamples.final VulkanImageCreateInfowithSamples(Iterable<VulkanSampleCountFlag> elements) Copy the current immutable object with elements that replace the content ofsamples.final VulkanImageCreateInfowithSharingMode(VulkanSharingMode value) Copy the current immutable object by setting a value for thesharingModeattribute.final VulkanImageCreateInfowithTiling(VulkanImageTiling value) Copy the current immutable object by setting a value for thetilingattribute.final VulkanImageCreateInfowithUsage(VulkanImageUsageFlag... elements) Copy the current immutable object with elements that replace the content ofusage.final VulkanImageCreateInfowithUsage(Iterable<VulkanImageUsageFlag> elements) Copy the current immutable object with elements that replace the content ofusage.
-
Method Details
-
flags
- Specified by:
flagsin interfaceVulkanImageCreateInfoType- Returns:
- A set of flags describing additional parameters of the image.
-
imageType
- Specified by:
imageTypein interfaceVulkanImageCreateInfoType- Returns:
- A value specifying the basic dimensionality of the image. Layers in array textures do not count as a dimension for the purposes of the image type.
-
format
- Specified by:
formatin interfaceVulkanImageCreateInfoType- Returns:
- A value describing the format and type of the texel blocks that will be contained in the image.
-
extent
- Specified by:
extentin interfaceVulkanImageCreateInfoType- Returns:
- A value describing the number of data elements in each dimension of the base level.
-
mipLevels
public int mipLevels()- Specified by:
mipLevelsin interfaceVulkanImageCreateInfoType- Returns:
- The number of levels of detail available for minified sampling of the image.
-
arrayLayers
public int arrayLayers()- Specified by:
arrayLayersin interfaceVulkanImageCreateInfoType- Returns:
- The the number of layers in the image.
-
samples
- Specified by:
samplesin interfaceVulkanImageCreateInfoType- Returns:
- A value specifying the number of samples per texel.
-
tiling
- Specified by:
tilingin interfaceVulkanImageCreateInfoType- Returns:
- A value specifying the tiling arrangement of the texel blocks in memory.
-
usage
- Specified by:
usagein interfaceVulkanImageCreateInfoType- Returns:
- A value describing the intended usage of the image.
-
sharingMode
- Specified by:
sharingModein interfaceVulkanImageCreateInfoType- Returns:
- A value specifying the sharing mode of the image when it will be accessed by multiple queue families.
-
queueFamilyIndices
- Specified by:
queueFamilyIndicesin interfaceVulkanImageCreateInfoType- Returns:
- A list of queue families that will access this image (ignored if sharingMode is not VK_SHARING_MODE_CONCURRENT).
-
initialLayout
- Specified by:
initialLayoutin interfaceVulkanImageCreateInfoType- Returns:
- A value specifying the initial layout of all image subresources of the image.
-
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
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 of
thisobject
-
withImageType
Copy the current immutable object by setting a value for theimageTypeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for imageType- Returns:
- A modified copy of the
thisobject
-
withFormat
Copy the current immutable object by setting a value for theformatattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for format- Returns:
- A modified copy of the
thisobject
-
withExtent
Copy the current immutable object by setting a value for theextentattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for extent- Returns:
- A modified copy of the
thisobject
-
withMipLevels
Copy the current immutable object by setting a value for themipLevelsattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for mipLevels- Returns:
- A modified copy of the
thisobject
-
withArrayLayers
Copy the current immutable object by setting a value for thearrayLayersattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for arrayLayers- Returns:
- A modified copy of the
thisobject
-
withSamples
Copy the current immutable object with elements that replace the content ofsamples.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withSamples
Copy the current immutable object with elements that replace the content ofsamples. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of samples elements to set- Returns:
- A modified copy of
thisobject
-
withTiling
Copy the current immutable object by setting a value for thetilingattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for tiling- Returns:
- A modified copy of the
thisobject
-
withUsage
Copy the current immutable object with elements that replace the content ofusage.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withUsage
Copy the current immutable object with elements that replace the content ofusage. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of usage elements to set- Returns:
- A modified copy of
thisobject
-
withSharingMode
Copy the current immutable object by setting a value for thesharingModeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for sharingMode- Returns:
- A modified copy of the
thisobject
-
withQueueFamilyIndices
Copy the current immutable object with elements that replace the content ofqueueFamilyIndices.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withQueueFamilyIndices
Copy the current immutable object with elements that replace the content ofqueueFamilyIndices. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of queueFamilyIndices elements to set- Returns:
- A modified copy of
thisobject
-
withInitialLayout
Copy the current immutable object by setting a value for theinitialLayoutattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for initialLayout- Returns:
- A modified copy of the
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanImageCreateInfo of(Set<VulkanImageCreateFlag> flags, VulkanImageKind imageType, VulkanFormat format, VulkanExtent3D extent, int mipLevels, int arrayLayers, Set<VulkanSampleCountFlag> samples, VulkanImageTiling tiling, Set<VulkanImageUsageFlag> usage, VulkanSharingMode sharingMode, List<Integer> queueFamilyIndices, VulkanImageLayout initialLayout) Construct a new immutableVulkanImageCreateInfoinstance.- Parameters:
flags- The value for theflagsattributeimageType- The value for theimageTypeattributeformat- The value for theformatattributeextent- The value for theextentattributemipLevels- The value for themipLevelsattributearrayLayers- The value for thearrayLayersattributesamples- The value for thesamplesattributetiling- The value for thetilingattributeusage- The value for theusageattributesharingMode- The value for thesharingModeattributequeueFamilyIndices- The value for thequeueFamilyIndicesattributeinitialLayout- The value for theinitialLayoutattribute- Returns:
- An immutable VulkanImageCreateInfo instance
-
of
public static VulkanImageCreateInfo of(Iterable<VulkanImageCreateFlag> flags, VulkanImageKind imageType, VulkanFormat format, VulkanExtent3D extent, int mipLevels, int arrayLayers, Iterable<VulkanSampleCountFlag> samples, VulkanImageTiling tiling, Iterable<VulkanImageUsageFlag> usage, VulkanSharingMode sharingMode, Iterable<Integer> queueFamilyIndices, VulkanImageLayout initialLayout) Construct a new immutableVulkanImageCreateInfoinstance.- Parameters:
flags- The value for theflagsattributeimageType- The value for theimageTypeattributeformat- The value for theformatattributeextent- The value for theextentattributemipLevels- The value for themipLevelsattributearrayLayers- The value for thearrayLayersattributesamples- The value for thesamplesattributetiling- The value for thetilingattributeusage- The value for theusageattributesharingMode- The value for thesharingModeattributequeueFamilyIndices- The value for thequeueFamilyIndicesattributeinitialLayout- The value for theinitialLayoutattribute- Returns:
- An immutable VulkanImageCreateInfo instance
-
copyOf
Creates an immutable copy of aVulkanImageCreateInfoTypevalue. 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 VulkanImageCreateInfo instance
-
builder
Creates a builder forVulkanImageCreateInfo.VulkanImageCreateInfo.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanImageCreateFlag) //flagselements .setImageType(com.io7m.jcoronado.api.VulkanImageKind) // requiredimageType.setFormat(com.io7m.jcoronado.api.VulkanFormat) // requiredformat.setExtent(com.io7m.jcoronado.api.VulkanExtent3D) // requiredextent.setMipLevels(int) // requiredmipLevels.setArrayLayers(int) // requiredarrayLayers.addSamples|addAllSamples(com.io7m.jcoronado.api.VulkanSampleCountFlag) //sampleselements .setTiling(com.io7m.jcoronado.api.VulkanImageTiling) // requiredtiling.addUsage|addAllUsage(com.io7m.jcoronado.api.VulkanImageUsageFlag) //usageelements .setSharingMode(com.io7m.jcoronado.api.VulkanSharingMode) // requiredsharingMode.addQueueFamilyIndices|addAllQueueFamilyIndices(int) //queueFamilyIndiceselements .setInitialLayout(com.io7m.jcoronado.api.VulkanImageLayout) // requiredinitialLayout.build();- Returns:
- A new VulkanImageCreateInfo builder
-