24 VkDevice device = VK_NULL_HANDLE;
25 VkPhysicalDevice physicalDevice = VK_NULL_HANDLE;
27 VkQueue presentQueue = VK_NULL_HANDLE;
28 VkCommandPool commandPool = VK_NULL_HANDLE;
29 VmaAllocator_T* vkallocator;
30 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR =
nullptr;
32 PFN_vkCmdEndDebugUtilsLabelEXT rgl_vkCmdEndDebugUtilsLabelEXT =
nullptr;
33 PFN_vkCmdBeginDebugUtilsLabelEXT rgl_vkCmdBeginDebugUtilsLabelEXT =
nullptr;
36 DeviceVk(
decltype(physicalDevice) physicalDevice);
38 void SetDebugNameForResource(
void* resource, VkObjectType type,
const char* debugName);
41 std::string GetBrandString()
final;
42 RGLSwapchainPtr CreateSwapchain(RGLSurfacePtr, RGLCommandQueuePtr,
int width,
int height)
final;
47 RGLShaderLibraryPtr CreateShaderLibraryFromName(
const std::string_view& name)
final;
48 RGLShaderLibraryPtr CreateDefaultShaderLibrary()
final;
49 RGLShaderLibraryPtr CreateShaderLibraryFromBytes(
const std::span<const uint8_t>)
final;
50 RGLShaderLibraryPtr CreateShaderLibrarySourceCode(
const std::string_view,
const FromSourceConfig& config)
final;
51 RGLShaderLibraryPtr CreateShaderLibraryFromPath(
const std::filesystem::path&)
final;
61 TextureView GetGlobalBindlessTextureHeap()
const final;
63 RGLCommandQueuePtr CreateCommandQueue(QueueType type)
final;
64 RGLFencePtr CreateFence(
bool preSignaled)
final;
65 void BlockUntilIdle()
final;
67 size_t GetTotalVRAM()
const final;
68 size_t GetCurrentVRAMInUse()
const final;
70 uint32_t frameIndex = 0;
72 VkDescriptorSetLayout globalTextureDescriptorSetLayout = VK_NULL_HANDLE, globalBufferDescriptorSetLayout;
74 constexpr static uint32_t nTextureDescriptors = 2048;
77 constexpr static uint32_t nBufferDescriptors = 65536;
79 VkDescriptorSet globalTextureDescriptorSet = VK_NULL_HANDLE, globalBufferDescriptorSet = VK_NULL_HANDLE;
83 VkDescriptorPool globalTextureDescriptorPool = VK_NULL_HANDLE, globalBufferDescriptorPool = VK_NULL_HANDLE;
Definition Texture.hpp:138
Definition Texture.hpp:162
Definition Texture.hpp:43