@ -270,8 +270,6 @@ static struct wlr_texture *vulkan_texture_from_pixels(struct wlr_renderer *wlr_r
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						texture - > format  =  & fmt - > format ; 
 
					 
					 
					 
						texture - > format  =  & fmt - > format ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						// create image
 
 
					 
					 
					 
						// create image
 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						unsigned  mem_bits  =  0xFFFFFFFF ; 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						VkImageCreateInfo  img_info  =  { 0 } ; 
 
					 
					 
					 
						VkImageCreateInfo  img_info  =  { 0 } ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						img_info . sType  =  VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO ; 
 
					 
					 
					 
						img_info . sType  =  VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						img_info . imageType  =  VK_IMAGE_TYPE_2D ; 
 
					 
					 
					 
						img_info . imageType  =  VK_IMAGE_TYPE_2D ; 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -286,8 +284,6 @@ static struct wlr_texture *vulkan_texture_from_pixels(struct wlr_renderer *wlr_r
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						img_info . tiling  =  VK_IMAGE_TILING_OPTIMAL ; 
 
					 
					 
					 
						img_info . tiling  =  VK_IMAGE_TILING_OPTIMAL ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						img_info . usage  | =  VK_IMAGE_USAGE_TRANSFER_DST_BIT ; 
 
					 
					 
					 
						img_info . usage  | =  VK_IMAGE_USAGE_TRANSFER_DST_BIT ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						mem_bits  =  vulkan_find_mem_type ( renderer - > dev , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT ,  mem_bits ) ; 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						VkImageLayout  layout  =  VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL ; 
 
					 
					 
					 
						VkImageLayout  layout  =  VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						res  =  vkCreateImage ( dev ,  & img_info ,  NULL ,  & texture - > image ) ; 
 
					 
					 
					 
						res  =  vkCreateImage ( dev ,  & img_info ,  NULL ,  & texture - > image ) ; 
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -303,7 +299,15 @@ static struct wlr_texture *vulkan_texture_from_pixels(struct wlr_renderer *wlr_r
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						VkMemoryAllocateInfo  mem_info  =  { 0 } ; 
 
					 
					 
					 
						VkMemoryAllocateInfo  mem_info  =  { 0 } ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						mem_info . sType  =  VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO ; 
 
					 
					 
					 
						mem_info . sType  =  VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						mem_info . allocationSize  =  mem_reqs . size ; 
 
					 
					 
					 
						mem_info . allocationSize  =  mem_reqs . size ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						mem_info . memoryTypeIndex  =  mem_bits  &  mem_reqs . memoryTypeBits ; 
 
					 
					 
					 
					
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						int  mem_type_index  =  vulkan_find_mem_type ( renderer - > dev , 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
							VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT ,  mem_reqs . memoryTypeBits ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						if  ( mem_type_index  = =  - 1 )  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
							wlr_log ( WLR_ERROR ,  " failed to find suitable vulkan memory type " ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
							goto  error ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						mem_info . memoryTypeIndex  =  mem_type_index ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						res  =  vkAllocateMemory ( dev ,  & mem_info ,  NULL ,  & texture - > memories [ 0 ] ) ; 
 
					 
					 
					 
						res  =  vkAllocateMemory ( dev ,  & mem_info ,  NULL ,  & texture - > memories [ 0 ] ) ; 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						if  ( res  ! =  VK_SUCCESS )  { 
 
					 
					 
					 
						if  ( res  ! =  VK_SUCCESS )  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							wlr_vk_error ( " vkAllocatorMemory failed " ,  res ) ; 
 
					 
					 
					 
							wlr_vk_error ( " vkAllocatorMemory failed " ,  res ) ;