14class JPH_EXPORT ComputeSystemVKImpl :
public ComputeSystemVKWithAllocator
20 virtual ~ComputeSystemVKImpl()
override;
27 virtual void OnInstanceCreated() { }
36 virtual void GetEnabledFeatures(VkPhysicalDeviceFeatures2 &ioFeatures) { }
39 virtual bool HasPresentSupport(VkPhysicalDevice inDevice,
uint32 inQueueFamilyIndex) {
return true; }
42 virtual VkSurfaceFormatKHR SelectFormat(VkPhysicalDevice inDevice) {
return { VK_FORMAT_B8G8R8A8_UNORM, VK_COLOR_SPACE_SRGB_NONLINEAR_KHR }; }
44 VkInstance mInstance = VK_NULL_HANDLE;
46 VkDebugUtilsMessengerEXT mDebugMessenger = VK_NULL_HANDLE;
47 PFN_vkDestroyDebugUtilsMessengerEXT mVkDestroyDebugUtilsMessengerEXT =
nullptr;
49 uint32 mGraphicsQueueIndex = 0;
50 uint32 mPresentQueueIndex = 0;
51 VkQueue mGraphicsQueue = VK_NULL_HANDLE;
52 VkQueue mPresentQueue = VK_NULL_HANDLE;
53 VkSurfaceFormatKHR mSelectedFormat;
55 PFN_vkGetInstanceProcAddr mVkGetInstanceProcAddr =
nullptr;
56 PFN_vkGetDeviceProcAddr mVkGetDeviceProcAddr =
nullptr;
59 PFN_vkCreateInstance mVkCreateInstance =
nullptr;
60 PFN_vkEnumerateInstanceExtensionProperties mVkEnumerateInstanceExtensionProperties =
nullptr;
61 PFN_vkEnumerateInstanceLayerProperties mVkEnumerateInstanceLayerProperties =
nullptr;
64 PFN_vkCreateDevice mVkCreateDevice =
nullptr;
65 PFN_vkDestroyInstance mVkDestroyInstance =
nullptr;
66 PFN_vkEnumerateDeviceExtensionProperties mVkEnumerateDeviceExtensionProperties =
nullptr;
67 PFN_vkEnumeratePhysicalDevices mVkEnumeratePhysicalDevices =
nullptr;
68 PFN_vkGetPhysicalDeviceProperties mVkGetPhysicalDeviceProperties =
nullptr;
69 PFN_vkGetPhysicalDeviceQueueFamilyProperties mVkGetPhysicalDeviceQueueFamilyProperties =
nullptr;
#define JPH_EXPORT
Definition Core.h:278
#define JPH_NAMESPACE_END
Definition Core.h:428
std::uint32_t uint32
Definition Core.h:508
#define JPH_NAMESPACE_BEGIN
Definition Core.h:422
#define JPH_DECLARE_RTTI_VIRTUAL(linkage, class_name)
Definition RTTI.h:245
Helper class that either contains a valid result or an error.
Definition Result.h:12