Allow additional info to be passed to object's Create functions

This is particularly useful for passing extension info structures to the
object's constructor.

Bug: b/132437008
Bug: b/116336664
Change-Id: I10592f5ddeb8efa52f34ebd4dfd14150b6964eab
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/31612
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Vulkan/VkDevice.cpp b/src/Vulkan/VkDevice.cpp
index 9717931..aa86cc6 100644
--- a/src/Vulkan/VkDevice.cpp
+++ b/src/Vulkan/VkDevice.cpp
@@ -36,12 +36,11 @@
 namespace vk
 {
 
-Device::Device(const Device::CreateInfo* info, void* mem)
-	: physicalDevice(info->pPhysicalDevice),
+Device::Device(const VkDeviceCreateInfo* pCreateInfo, void* mem, PhysicalDevice *physicalDevice)
+	: physicalDevice(physicalDevice),
 	  queues(reinterpret_cast<Queue*>(mem)),
-	  enabledExtensionCount(info->pCreateInfo->enabledExtensionCount)
+	  enabledExtensionCount(pCreateInfo->enabledExtensionCount)
 {
-	const auto* pCreateInfo = info->pCreateInfo;
 	for(uint32_t i = 0; i < pCreateInfo->queueCreateInfoCount; i++)
 	{
 		const VkDeviceQueueCreateInfo& queueCreateInfo = pCreateInfo->pQueueCreateInfos[i];
@@ -87,15 +86,15 @@
 	delete blitter;
 }
 
-size_t Device::ComputeRequiredAllocationSize(const Device::CreateInfo* info)
+size_t Device::ComputeRequiredAllocationSize(const VkDeviceCreateInfo* pCreateInfo)
 {
 	uint32_t queueCount = 0;
-	for(uint32_t i = 0; i < info->pCreateInfo->queueCreateInfoCount; i++)
+	for(uint32_t i = 0; i < pCreateInfo->queueCreateInfoCount; i++)
 	{
-		queueCount += info->pCreateInfo->pQueueCreateInfos[i].queueCount;
+		queueCount += pCreateInfo->pQueueCreateInfos[i].queueCount;
 	}
 
-	return (sizeof(Queue) * queueCount) + (info->pCreateInfo->enabledExtensionCount * sizeof(ExtensionName));
+	return (sizeof(Queue) * queueCount) + (pCreateInfo->enabledExtensionCount * sizeof(ExtensionName));
 }
 
 bool Device::hasExtension(const char* extensionName) const