texture_cache: Add checks for texture buffers.
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 ReinUsesLisp
						ReinUsesLisp
					
				
			
			
				
	
			
			
			 ReinUsesLisp
						ReinUsesLisp
					
				
			
						parent
						
							175aa343ff
						
					
				
				
					commit
					fcac55d5bf
				
			| @@ -114,10 +114,23 @@ public: | ||||
|     bool MatchesTopology(const SurfaceParams& rhs) const { | ||||
|         const u32 src_bpp{params.GetBytesPerPixel()}; | ||||
|         const u32 dst_bpp{rhs.GetBytesPerPixel()}; | ||||
|         return std::tie(src_bpp, params.is_tiled) == std::tie(dst_bpp, rhs.is_tiled); | ||||
|         const bool ib1 = params.IsBuffer(); | ||||
|         const bool ib2 = rhs.IsBuffer(); | ||||
|         return std::tie(src_bpp, params.is_tiled, ib1) == std::tie(dst_bpp, rhs.is_tiled, ib2); | ||||
|     } | ||||
|  | ||||
|     MatchStructureResult MatchesStructure(const SurfaceParams& rhs) const { | ||||
|         // Buffer surface Check | ||||
|         if (params.IsBuffer()) { | ||||
|             const std::size_t wd1 = params.width*params.GetBytesPerPixel(); | ||||
|             const std::size_t wd2 = rhs.width*rhs.GetBytesPerPixel(); | ||||
|             if (wd1 == wd2) { | ||||
|                 return MatchStructureResult::FullMatch; | ||||
|             } | ||||
|             return MatchStructureResult::None; | ||||
|         } | ||||
|  | ||||
|         // Linear Surface check | ||||
|         if (!params.is_tiled) { | ||||
|             if (std::tie(params.width, params.height, params.pitch) == | ||||
|                 std::tie(rhs.width, rhs.height, rhs.pitch)) { | ||||
| @@ -125,7 +138,8 @@ public: | ||||
|             } | ||||
|             return MatchStructureResult::None; | ||||
|         } | ||||
|         // Tiled surface | ||||
|  | ||||
|         // Tiled Surface check | ||||
|         if (std::tie(params.depth, params.block_width, params.block_height, params.block_depth, | ||||
|                      params.tile_width_spacing, params.num_levels) == | ||||
|             std::tie(rhs.depth, rhs.block_width, rhs.block_height, rhs.block_depth, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user