Class VulkanBackend
java.lang.Object
com.mojang.renderpearl.backend.vulkan.VulkanBackend
- All Implemented Interfaces:
GpuBackend
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate @Nullable BackendCreationExceptionprivate static final org.slf4j.Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate @Nullable BackendCreationExceptionprivate static BackendCreationExceptioncheckDeviceSuitability(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice, Set<FeatureSet> requiredFeatureSets, Set<FeatureSet> requiredIfExtensionsAvailable) createDevice(GpuDebugOptions debugOptions) private static org.lwjgl.vulkan.VkDevicecreateDevice(FeatureSet featureSet, VulkanPhysicalDevice physicalDevice) private static longcreateVma(org.lwjgl.vulkan.VkDevice vkDevice) longcreateWindow(@Nullable String title, int width, int height, long flags) private static booleandeviceMeetsFeatureQueryRequirements(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice) private static VulkanPhysicalDevicefindPhysicalDevice(VulkanInstance instance, Set<FeatureSet> requiredFeatureSets, Set<FeatureSet> requiredIfExtensionsAvailable) private static StringgetDeviceName(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice) getName()private static booleanisDeviceDiscrete(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice) voidvoid
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
libraryLoaded
private boolean libraryLoaded -
libraryLoadFailure
-
-
Constructor Details
-
VulkanBackend
public VulkanBackend()
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceGpuBackend
-
loadLibrary
- Specified by:
loadLibraryin interfaceGpuBackend- Throws:
BackendCreationException
-
unloadLibrary
public void unloadLibrary()- Specified by:
unloadLibraryin interfaceGpuBackend
-
checkBackendAvailable
-
checkBackendAvailableWithLoadedLibrary
-
createWindow
- Specified by:
createWindowin interfaceGpuBackend
-
createDevice
- Specified by:
createDevicein interfaceGpuBackend- Throws:
BackendCreationException
-
createVma
- Throws:
BackendCreationException
-
findPhysicalDevice
private static VulkanPhysicalDevice findPhysicalDevice(VulkanInstance instance, Set<FeatureSet> requiredFeatureSets, Set<FeatureSet> requiredIfExtensionsAvailable) throws BackendCreationException - Throws:
BackendCreationException
-
deviceMeetsFeatureQueryRequirements
private static boolean deviceMeetsFeatureQueryRequirements(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice) -
isDeviceDiscrete
private static boolean isDeviceDiscrete(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice) -
getDeviceName
-
checkDeviceSuitability
private static BackendCreationException checkDeviceSuitability(org.lwjgl.vulkan.VkPhysicalDevice vkPhysicalDevice, Set<FeatureSet> requiredFeatureSets, Set<FeatureSet> requiredIfExtensionsAvailable) throws BackendCreationException - Throws:
BackendCreationException
-
createDevice
private static org.lwjgl.vulkan.VkDevice createDevice(FeatureSet featureSet, VulkanPhysicalDevice physicalDevice) throws BackendCreationException - Throws:
BackendCreationException
-