|  |  | @ -44,21 +44,19 @@ VkInstance create_instance() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount); |  |  |  |   glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   uint32_t extensionCount = 0; |  |  |  |   const char** requested_extensions = malloc(sizeof(char*)*(glfwExtensionCount+1)); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   vkEnumerateInstanceExtensionProperties(0, &extensionCount, 0); |  |  |  |   for (uint32_t i = 0; i < glfwExtensionCount; i++) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |     requested_extensions[i] = glfwExtensions[i]; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |   VkExtensionProperties* extensions = (VkExtensionProperties*)(malloc(sizeof(VkExtensionProperties)*extensionCount)); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   vkEnumerateInstanceExtensionProperties(0, &extensionCount, extensions); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   for(uint32_t i = 0; i < extensionCount; i++) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     fprintf(stderr, "Supported Extension: %s\n", extensions[i].extensionName); |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   free(extensions); |  |  |  |   requested_extensions[glfwExtensionCount] = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   instance_info.enabledExtensionCount = glfwExtensionCount + 1; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   instance_info.ppEnabledExtensionNames = requested_extensions; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   instance_info.enabledExtensionCount = glfwExtensionCount; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   instance_info.ppEnabledExtensionNames = glfwExtensions; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   instance_info.enabledLayerCount = 0; |  |  |  |   instance_info.enabledLayerCount = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   instance_info.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   VkResult result = vkCreateInstance(&instance_info, 0, &instance); |  |  |  |   VkResult result = vkCreateInstance(&instance_info, 0, &instance); | 
			
		
	
		
		
			
				
					
					|  |  |  |   if(result != VK_SUCCESS) { |  |  |  |   if(result != VK_SUCCESS) { | 
			
		
	
	
		
		
			
				
					|  |  | @ -66,6 +64,8 @@ VkInstance create_instance() { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return 0; |  |  |  |     return 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   free(requested_extensions); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   return instance; |  |  |  |   return instance; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |