mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	Fix determination of copyable layout for compressed textures in Vulkan
This commit is contained in:
		
							parent
							
								
									89cc635c05
								
							
						
					
					
						commit
						e1c7c18ead
					
				
					 1 changed files with 5 additions and 2 deletions
				
			
		|  | @ -805,8 +805,11 @@ void RenderingDeviceDriverVulkan::texture_get_copyable_layout(TextureID p_textur | ||||||
| 			h = MAX(1u, h >> 1); | 			h = MAX(1u, h >> 1); | ||||||
| 			d = MAX(1u, d >> 1); | 			d = MAX(1u, d >> 1); | ||||||
| 		} | 		} | ||||||
| 		r_layout->size = get_image_format_required_size(tex_info->rd_format, w, h, d, 1); | 		uint32_t bw = 0, bh = 0; | ||||||
| 		r_layout->row_pitch = r_layout->size / (h * d); | 		get_compressed_image_format_block_dimensions(tex_info->rd_format, bw, bh); | ||||||
|  | 		uint32_t sbw = 0, sbh = 0; | ||||||
|  | 		r_layout->size = get_image_format_required_size(tex_info->rd_format, w, h, d, 1, &sbw, &sbh); | ||||||
|  | 		r_layout->row_pitch = r_layout->size / ((sbh / bh) * d); | ||||||
| 		r_layout->depth_pitch = r_layout->size / d; | 		r_layout->depth_pitch = r_layout->size / d; | ||||||
| 		r_layout->layer_pitch = r_layout->size / tex_info->vk_create_info.arrayLayers; | 		r_layout->layer_pitch = r_layout->size / tex_info->vk_create_info.arrayLayers; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Pedro J. Estébanez
						Pedro J. Estébanez