summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.h
diff options
context:
space:
mode:
authorFernandoS27 <fsahmkow27@gmail.com>2018-11-16 18:01:54 +0100
committerFernandoS27 <fsahmkow27@gmail.com>2018-11-26 14:05:12 +0100
commitddfbe0b58d856ae4a62683943cb35c2ae8f13b95 (patch)
tree51210c339a0aabe9e86eb3b830262ffa53eb2b57 /src/video_core/renderer_opengl/gl_rasterizer_cache.h
parentMerge pull request #1763 from ReinUsesLisp/bfi (diff)
downloadyuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.tar
yuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.tar.gz
yuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.tar.bz2
yuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.tar.lz
yuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.tar.xz
yuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.tar.zst
yuzu-ddfbe0b58d856ae4a62683943cb35c2ae8f13b95.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.h')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
index 9ac79c5a4..c710aa245 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
@@ -196,9 +196,15 @@ struct SurfaceParams {
/// Checks if surfaces are compatible for caching
bool IsCompatibleSurface(const SurfaceParams& other) const {
- return std::tie(pixel_format, type, width, height, target, depth) ==
- std::tie(other.pixel_format, other.type, other.width, other.height, other.target,
- other.depth);
+ if (std::tie(pixel_format, type, width, height, target, depth, is_tiled) ==
+ std::tie(other.pixel_format, other.type, other.width, other.height, other.target,
+ other.depth, other.is_tiled)) {
+ if (!is_tiled)
+ return true;
+ return std::tie(block_height, block_depth, tile_width_spacing) ==
+ std::tie(other.block_height, other.block_depth, other.tile_width_spacing);
+ }
+ return false;
}
/// Initializes parameters for caching, should be called after everything has been initialized
@@ -208,6 +214,7 @@ struct SurfaceParams {
u32 block_width;
u32 block_height;
u32 block_depth;
+ u32 tile_width_spacing;
PixelFormat pixel_format;
ComponentType component_type;
SurfaceType type;