Class VulkanLWJGLPhysicalDevice
java.lang.Object
com.io7m.jcoronado.lwjgl.internal.VulkanLWJGLPhysicalDevice
- All Implemented Interfaces:
VulkanHandleDispatchableType
,VulkanHandleType
,VulkanPhysicalDeviceType
,AutoCloseable
LWJGL
VkPhysicalDevice
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
final void
close()
Destroy the object.protected void
Create a new logical device from this physical device.org.lwjgl.vulkan.VkPhysicalDevice
device()
Retrieve the device driver properties.final boolean
extensions
(Optional<String> layer) features()
formatProperties
(VulkanFormat format) final long
handle()
final int
hashCode()
Retrieve the device ID properties.imageFormatProperties
(VulkanFormat format, VulkanImageKind type, VulkanImageTiling tiling, Set<VulkanImageUsageFlag> usage, Set<VulkanImageCreateFlag> flags) instance()
final boolean
isClosed()
layers()
limits()
protected org.slf4j.Logger
logger()
memory()
final String
toString()
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
Methods inherited from interface com.io7m.jcoronado.api.VulkanPhysicalDeviceType
queueFamilyFindWithFlags, queueFamilyFindWithFlags
-
Method Details
-
device
public org.lwjgl.vulkan.VkPhysicalDevice device()- Returns:
- The underlying device
-
instance
- Specified by:
instance
in interfaceVulkanPhysicalDeviceType
- Returns:
- The instance to which the physical device belongs
-
extensions
public Map<String,VulkanExtensionProperties> extensions(Optional<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
- Specified by:
layers
in interfaceVulkanPhysicalDeviceType
- Returns:
- The available layers
- Throws:
VulkanException
- On errors
-
properties
- Specified by:
properties
in interfaceVulkanPhysicalDeviceType
- Returns:
- The basic properties of the device
- Throws:
VulkanDestroyedException
-
limits
- Specified by:
limits
in interfaceVulkanPhysicalDeviceType
- Returns:
- The limits of the device
- Throws:
VulkanDestroyedException
-
features
- Specified by:
features
in interfaceVulkanPhysicalDeviceType
- Returns:
- The features of the device
- Throws:
VulkanDestroyedException
-
formatProperties
- 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, Set<VulkanImageUsageFlag> usage, 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
- Specified by:
memory
in interfaceVulkanPhysicalDeviceType
- Returns:
- The memory properties of the device
- Throws:
VulkanException
- On errors
-
queueFamilies
public SortedMap<VulkanQueueFamilyIndex,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
-
driverProperties
Description copied from interface:VulkanPhysicalDeviceType
Retrieve the device driver properties.- Specified by:
driverProperties
in interfaceVulkanPhysicalDeviceType
- Returns:
- The device driver properties, if available
-
idProperties
Description copied from interface:VulkanPhysicalDeviceType
Retrieve the device ID properties.- Specified by:
idProperties
in interfaceVulkanPhysicalDeviceType
- Returns:
- The device ID properties, if available
-
logger
protected org.slf4j.Logger logger() -
closeActual
protected void closeActual() -
hostAllocatorProxy
- Returns:
- The underlying host allocator proxy
-
isClosed
public final boolean isClosed()- Specified by:
isClosed
in interfaceVulkanHandleType
- Returns:
true
iff the handle has been destroyed withVulkanHandleType.close()
- See Also:
-
close
public final void close()Description copied from interface:VulkanHandleType
Destroy the object.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceVulkanHandleType
-
equals
-
hashCode
-
toString
-
handle
public final long handle()- Returns:
- The raw handle
-
checkNotClosed
- Throws:
VulkanDestroyedException
-