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;
 	};