Class VulkanLWJGLInstance
java.lang.Object
com.io7m.jcoronado.lwjgl.internal.VulkanLWJGLInstance
- All Implemented Interfaces:
VulkanHandleDispatchableType
,VulkanHandleType
,VulkanInstanceType
,AutoCloseable
LWJGL
VkInstance
-
Constructor Summary
ConstructorsConstructorDescriptionVulkanLWJGLInstance
(org.lwjgl.vulkan.VkInstance inInstance, VulkanLWJGLExtensionsRegistry inExtensionRegistry, Map<String, VulkanExtensionType> inExtensionsEnabled, VulkanLWJGLHostAllocatorProxy inHostAllocatorProxy, VulkanVersion inApiVersionMaximumSupported, VulkanVersion inApiVersionUsed) LWJGLVkInstance
-
Method Summary
Modifier and TypeMethodDescriptionFind the maximum API version supported.Return the API version that this instance will support.protected final void
final void
close()
Destroy the object.protected void
final boolean
final long
handle()
final int
hashCode()
org.lwjgl.vulkan.VkInstance
instance()
final boolean
isClosed()
protected org.slf4j.Logger
logger()
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
isClosed
Methods inherited from interface com.io7m.jcoronado.api.VulkanInstanceType
close, findEnabledExtension, physicalDevices
-
Constructor Details
-
VulkanLWJGLInstance
public VulkanLWJGLInstance(org.lwjgl.vulkan.VkInstance inInstance, VulkanLWJGLExtensionsRegistry inExtensionRegistry, Map<String, VulkanExtensionType> inExtensionsEnabled, VulkanLWJGLHostAllocatorProxy inHostAllocatorProxy, VulkanVersion inApiVersionMaximumSupported, VulkanVersion inApiVersionUsed) LWJGLVkInstance
- Parameters:
inInstance
- The instanceinExtensionRegistry
- The extensionsinExtensionsEnabled
- The enabled extensionsinHostAllocatorProxy
- The host allocator proxyinApiVersionMaximumSupported
- The maximum API versioninApiVersionUsed
- The used API version
-
-
Method Details
-
logger
protected org.slf4j.Logger logger() -
closeActual
protected void closeActual() -
enumeratePhysicalDevices
- Specified by:
enumeratePhysicalDevices
in interfaceVulkanInstanceType
- Returns:
- The available physical devices
- Throws:
VulkanException
- On errors
-
apiVersionMaximumSupported
Description copied from interface:VulkanInstanceType
Find the maximum API version supported. This is essentially the same asVulkanInstanceProviderType.findSupportedInstanceVersion()
, and does not indicate that this particular instance will allow function calls that require that version.- Specified by:
apiVersionMaximumSupported
in interfaceVulkanInstanceType
- Returns:
- The maximum API version supported
- See Also:
-
apiVersionUsed
Description copied from interface:VulkanInstanceType
Return the API version that this instance will support. This is the version that the user actually requested, and therefore defines the upper bound for the Vulkan API version that can be used with this instance.- Specified by:
apiVersionUsed
in interfaceVulkanInstanceType
- Returns:
- The API version that this instance is configured to use
-
enabledExtensions
- Specified by:
enabledExtensions
in interfaceVulkanInstanceType
- Returns:
- The enabled extensions for the instance
-
instance
public org.lwjgl.vulkan.VkInstance instance()- Returns:
- The underlying instance
-
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
-