Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ComputeSystemVKImpl.h
Go to the documentation of this file.
1// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2// SPDX-FileCopyrightText: 2025 Jorrit Rouwe
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#ifdef JPH_USE_VK
8
10
12
14class JPH_EXPORT ComputeSystemVKImpl : public ComputeSystemVKWithAllocator
15{
16public:
18
20 virtual ~ComputeSystemVKImpl() override;
21
23 bool Initialize(ComputeSystemResult &outResult);
24
25protected:
27 virtual void OnInstanceCreated() { /* Do nothing */ }
28
30 virtual void GetInstanceExtensions(Array<const char *> &outExtensions) { /* Add nothing */ }
31
33 virtual void GetDeviceExtensions(Array<const char *> &outExtensions) { /* Add nothing */ }
34
36 virtual void GetEnabledFeatures(VkPhysicalDeviceFeatures2 &ioFeatures) { /* Add nothing */ }
37
39 virtual bool HasPresentSupport(VkPhysicalDevice inDevice, uint32 inQueueFamilyIndex) { return true; }
40
42 virtual VkSurfaceFormatKHR SelectFormat(VkPhysicalDevice inDevice) { return { VK_FORMAT_B8G8R8A8_UNORM, VK_COLOR_SPACE_SRGB_NONLINEAR_KHR }; }
43
44 VkInstance mInstance = VK_NULL_HANDLE;
45#ifdef JPH_DEBUG
46 VkDebugUtilsMessengerEXT mDebugMessenger = VK_NULL_HANDLE;
47#endif
48 uint32 mGraphicsQueueIndex = 0;
49 uint32 mPresentQueueIndex = 0;
50 VkQueue mGraphicsQueue = VK_NULL_HANDLE;
51 VkQueue mPresentQueue = VK_NULL_HANDLE;
52 VkSurfaceFormatKHR mSelectedFormat;
53};
54
56
57#endif // JPH_USE_VK
#define JPH_EXPORT
Definition Core.h:275
#define JPH_NAMESPACE_END
Definition Core.h:425
std::uint32_t uint32
Definition Core.h:503
#define JPH_NAMESPACE_BEGIN
Definition Core.h:419
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:50
Definition Array.h:36
Helper class that either contains a valid result or an error.
Definition Result.h:12