Class VulkanBackend
java.lang.Object
com.mojang.blaze3d.vulkan.VulkanBackend
- All Implemented Interfaces:
GpuBackend
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final VulkanPNextStructprivate static final org.slf4j.Loggerprivate static final VulkanFeaturestatic final VulkanPNextStructstatic final Set<VulkanFeature> static final VulkanPNextStructstatic final VulkanPNextStructstatic final VulkanPNextStructstatic final VulkanPNextStructstatic final VulkanPNextStruct -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateDevice(long window, ShaderSource defaultShaderSource, GpuDebugOptions debugOptions, Runnable criticalShaderLoader) private static VkDevicecreateDevice(Collection<String> deviceExtensions, VulkanPhysicalDevice physicalDevice, Set<VulkanFeature> vulkanFeatures) private static longprivate static booleandeviceMeetsFeatureQueryRequirements(VkPhysicalDevice vkPhysicalDevice) private static VulkanPhysicalDevicefindPhysicalDevice(VulkanInstance instance) private static StringgetDeviceName(VkPhysicalDevice vkPhysicalDevice) getName()voidprivate static booleanisDeviceDiscrete(VkPhysicalDevice vkPhysicalDevice) private static booleanisDeviceSuitable(VkPhysicalDevice vkPhysicalDevice) private static booleanisFeatureSupported(VkPhysicalDevice vkPhysicalDevice, VulkanFeature feature) voidprivate static voidthrowForMissingRequrements(VkPhysicalDevice vkPhysicalDevice)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
REQUIRED_DEVICE_EXTENSIONS
-
VK10_FEATURES_STRUCT
-
VK11_FEATURES_STRUCT
-
VK12_FEATURES_STRUCT
-
SYNC2_FEATURES_STRUCT
-
DYNAMIC_RENDERING_FEATURES_STRUCT
-
VERTEX_ATTRIB_DIVISOR_FEATURES_STRUCT
-
MULTI_DRAW_FEATURES_STRUCT
-
REQUIRED_DEVICE_FEATURES
-
MULTI_DRAW_FEATURE
-
-
Constructor Details
-
VulkanBackend
public VulkanBackend()
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceGpuBackend
-
setWindowHints
public void setWindowHints()- Specified by:
setWindowHintsin interfaceGpuBackend
-
checkBackendAvailable
-
handleWindowCreationErrors
public void handleWindowCreationErrors(@Nullable GLFWErrorCapture.Error error) throws BackendCreationException - Specified by:
handleWindowCreationErrorsin interfaceGpuBackend- Throws:
BackendCreationException
-
createDevice
public GpuDevice createDevice(long window, ShaderSource defaultShaderSource, GpuDebugOptions debugOptions, Runnable criticalShaderLoader) throws BackendCreationException - Specified by:
createDevicein interfaceGpuBackend- Throws:
BackendCreationException
-
createVma
- Throws:
BackendCreationException
-
findPhysicalDevice
private static VulkanPhysicalDevice findPhysicalDevice(VulkanInstance instance) throws BackendCreationException - Throws:
BackendCreationException
-
deviceMeetsFeatureQueryRequirements
-
isDeviceSuitable
private static boolean isDeviceSuitable(VkPhysicalDevice vkPhysicalDevice) throws BackendCreationException - Throws:
BackendCreationException
-
isDeviceDiscrete
-
getDeviceName
-
isFeatureSupported
-
throwForMissingRequrements
private static void throwForMissingRequrements(VkPhysicalDevice vkPhysicalDevice) throws BackendCreationException - Throws:
BackendCreationException
-
createDevice
private static VkDevice createDevice(Collection<String> deviceExtensions, VulkanPhysicalDevice physicalDevice, Set<VulkanFeature> vulkanFeatures) throws BackendCreationException - Throws:
BackendCreationException
-