- java.lang.Object
-
- com.io7m.jcoronado.lwjgl.VulkanLWJGLPhysicalDevice
-
- All Implemented Interfaces:
VulkanHandleDispatchableType
,VulkanHandleType
,VulkanPhysicalDeviceType
,java.lang.AutoCloseable
public final class VulkanLWJGLPhysicalDevice extends java.lang.Object implements VulkanPhysicalDeviceType
LWJGLVkPhysicalDevice
-
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.io7m.jcoronado.api.VulkanHandleType
close, isClosed
-
-
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
instance
public VulkanInstanceType instance()
- Specified by:
instance
in interfaceVulkanPhysicalDeviceType
- Returns:
- The instance to which the physical device belongs
-
extensions
public java.util.Map<java.lang.String,VulkanExtensionProperties> extensions(java.util.Optional<java.lang.String> layer) throws VulkanException
- Specified by:
extensions
in interfaceVulkanPhysicalDeviceType
- Parameters:
layer
- The layer that will be inspected for extensions- Returns:
- The available device extensions
- Throws:
VulkanException
- On errors
-
layers
public java.util.Map<java.lang.String,VulkanLayerProperties> layers() throws VulkanException
- Specified by:
layers
in interfaceVulkanPhysicalDeviceType
- Returns:
- The available layers
- Throws:
VulkanException
- On errors
-
properties
public VulkanPhysicalDeviceProperties properties() throws VulkanDestroyedException
- Specified by:
properties
in interfaceVulkanPhysicalDeviceType
- Returns:
- The basic properties of the device
- Throws:
VulkanDestroyedException
-
limits
public VulkanPhysicalDeviceLimits limits() throws VulkanDestroyedException
- Specified by:
limits
in interfaceVulkanPhysicalDeviceType
- Returns:
- The limits of the device
- Throws:
VulkanDestroyedException
-
features
public VulkanPhysicalDeviceFeatures features() throws VulkanDestroyedException
- Specified by:
features
in interfaceVulkanPhysicalDeviceType
- Returns:
- The features of the device
- Throws:
VulkanDestroyedException
-
formatProperties
public VulkanFormatProperties formatProperties(VulkanFormat format) throws VulkanException
- Specified by:
formatProperties
in interfaceVulkanPhysicalDeviceType
- Parameters:
format
- The format- Returns:
- The properties of the given format
- Throws:
VulkanException
- On errors
-
imageFormatProperties
public VulkanImageFormatProperties imageFormatProperties(VulkanFormat format, VulkanImageKind type, VulkanImageTiling tiling, java.util.Set<VulkanImageUsageFlag> usage, java.util.Set<VulkanImageCreateFlag> flags) throws VulkanException
- Specified by:
imageFormatProperties
in interfaceVulkanPhysicalDeviceType
- Parameters:
format
- The formattype
- The image kindtiling
- The image tiling modeusage
- The usage flagsflags
- The creation flags- Returns:
- The properties of the given image format
- Throws:
VulkanException
- On errors
-
memory
public VulkanPhysicalDeviceMemoryProperties memory() throws VulkanException
- Specified by:
memory
in interfaceVulkanPhysicalDeviceType
- Returns:
- The memory properties of the device
- Throws:
VulkanException
- On errors
-
queueFamilies
public java.util.List<VulkanQueueFamilyProperties> queueFamilies() throws VulkanException
- Specified by:
queueFamilies
in interfaceVulkanPhysicalDeviceType
- Returns:
- A read-only list of the available queue families
- Throws:
VulkanException
- On errors
-
createLogicalDevice
public VulkanLogicalDeviceType createLogicalDevice(VulkanLogicalDeviceCreateInfo info) throws VulkanException
Description copied from interface:VulkanPhysicalDeviceType
Create a new logical device from this physical device.- Specified by:
createLogicalDevice
in interfaceVulkanPhysicalDeviceType
- Parameters:
info
- The creation info- Returns:
- A new logical device
- Throws:
VulkanException
- On errors
-
logger
protected org.slf4j.Logger logger()
-
closeActual
protected void closeActual()
-
hostAllocatorProxy
protected final VulkanLWJGLHostAllocatorProxy hostAllocatorProxy()
-
isClosed
public final boolean isClosed()
- Specified by:
isClosed
in interfaceVulkanHandleType
- Returns:
true
iff the handle has been destroyed withVulkanHandleType.close()
- See Also:
VulkanHandleType.close()
-
close
public final void close()
Description copied from interface:VulkanHandleType
Destroy the object.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceVulkanHandleType
-
checkNotClosed
protected final void checkNotClosed() throws VulkanDestroyedException
- Throws:
VulkanDestroyedException
-
-