Make VkNonDispatchableHandle POD
Modified VkNonDispatchableHandle so that it's a plain old data type.
By making sure VkNonDispatchableHandle is POD, it may benefit from
the same rules and register usage as the default object handles.
Bug b/129979580
Change-Id: I8aea419df8a6ee2ff95717424f3344e1c317fb28
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32989
Tested-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/VkDescriptorPool.hpp b/src/Vulkan/VkDescriptorPool.hpp
index b363ce1..8c8a600 100644
--- a/src/Vulkan/VkDescriptorPool.hpp
+++ b/src/Vulkan/VkDescriptorPool.hpp
@@ -34,22 +34,22 @@
private:
VkResult allocateSets(size_t* sizes, uint32_t numAllocs, VkDescriptorSet* pDescriptorSets);
- VkDescriptorSet findAvailableMemory(size_t size);
+ uint8_t* findAvailableMemory(size_t size);
void freeSet(const VkDescriptorSet descriptorSet);
size_t computeTotalFreeSize() const;
struct Node
{
- Node(VkDescriptorSet set, size_t size) : set(set), size(size) {}
+ Node(uint8_t* set, size_t size) : set(set), size(size) {}
bool operator<(const Node& node) const { return set < node.set; }
- bool operator==(VkDescriptorSet other) const { return set == other; }
+ bool operator==(const uint8_t* other) const { return set == other; }
- VkDescriptorSet set = VK_NULL_HANDLE;
+ uint8_t* set = nullptr;
size_t size = 0;
};
std::set<Node> nodes;
- VkDescriptorSet pool = VK_NULL_HANDLE;
+ uint8_t* pool = nullptr;
size_t poolSize = 0;
};