diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2026-08-18 00:43:03 +0200 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2026-08-18 00:43:03 +0200 |
| commit | 6db256b8eb4cc45c5296070ae7353e65398d121d (patch) | |
| tree | 0df44bebae817cbc575dbd288f4bb08a08767873 /include/vk-bindless.hpp | |
| parent | 0c7ff7a068958d2c23a8f362763cb22d34f32371 (diff) | |
Finished descriptor heaps implementation
Diffstat (limited to 'include/vk-bindless.hpp')
| -rw-r--r-- | include/vk-bindless.hpp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/include/vk-bindless.hpp b/include/vk-bindless.hpp deleted file mode 100644 index be076b8..0000000 --- a/include/vk-bindless.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include <vulkan/vulkan_core.h> - -#include "handle.hpp" - -enum UniformTypes : uint32_t { - GLOBAL, - PASS, - DRAW, - MAX, -}; - -enum SamplerType : uint32_t { - NEAREST, - LINEAR, - MAX_SAMPLER, -}; - -struct device_buffer; - -struct bindless_model { - [[nodiscard]] device_buffer* get_uniform_buffer(enum UniformTypes type) const; - - void init(); - - void deinit(); - - VkPipelineLayout global_layout; - VkDescriptorSet global_set; - -public: - static constexpr size_t push_constant_slot_size = sizeof(uintptr_t); - static constexpr size_t push_constant_slots = 3U; - -private: - VkDescriptorSetLayout global_set_layout; - VkDescriptorPool descriptor_pool; - handle<device_buffer> uniform_buffers[UniformTypes::MAX]; - - static constexpr size_t descriptor_pool_allocable_sets_count = 64U; - static constexpr uint32_t set_descriptors_count = 1024U; - - VkSampler samplers[SamplerType::MAX_SAMPLER]; - - static constexpr size_t globals_uniform_buffer_size = 64 * KB; - static constexpr size_t passes_uniform_buffer_size = 64 * KB; - static constexpr size_t draws_uniform_buffer_size = 64 * KB; -}; |
