#include <VulkanDescriptorPool.h>
Definition at line 21 of file VulkanDescriptorPool.h.
◆ descPool()
VkDescriptorPool skgpu::graphite::VulkanDescriptorPool::descPool |
( |
| ) |
|
|
inline |
◆ descSetLayout()
const VkDescriptorSetLayout * skgpu::graphite::VulkanDescriptorPool::descSetLayout |
( |
| ) |
|
|
inline |
◆ Make()
Given a span of descriptor types and counts, a descriptor pool will be created which houses enough of the descriptor types and quantities requested to allocate the maximum number of sets possible (kMaxNumSets). Counts must be > 0.
Definition at line 15 of file VulkanDescriptorPool.cpp.
17 {
18
19 if (requestedDescCounts.
empty()) {
20 return nullptr;
21 }
22
23
24
25
26
27
28
29
30
32 for (
size_t i = 0;
i < requestedDescCounts.
size();
i++) {
34 if (requestedDescCounts[
i].
fCount > kMaxNumDescriptors) {
35 SkDebugf(
"The number of descriptors requested, %u, exceeds the maximum allowed (%d).\n",
37 kMaxNumDescriptors);
38 return nullptr;
39 }
42
44
46 }
47
51 createInfo.
pNext =
nullptr;
56
57 VkDescriptorPool
pool;
61 CreateDescriptorPool(context->device(),
62 &createInfo,
63 nullptr,
67 DestroyDescriptorSetLayout(context->device(), layout, nullptr));
68 return nullptr;
69 }
71}
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
#define VULKAN_CALL(IFACE, X)
#define VULKAN_CALL_RESULT(SHARED_CONTEXT, RESULT, X)
constexpr bool empty() const
constexpr size_t size() const
static constexpr int kMaxNumSets
VkDescriptorType DsTypeEnumToVkDs(DescriptorType type)
const VkDescriptorPoolSize * pPoolSizes
VkDescriptorPoolCreateFlags flags
@ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO
◆ kMaxNumSets
constexpr int skgpu::graphite::VulkanDescriptorPool::kMaxNumSets = 512 |
|
staticconstexpr |
The documentation for this class was generated from the following files: