From 8bba84a4014e1bf204089ff7dbcaa73917f84738 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sun, 24 May 2020 17:57:54 -0300 Subject: texture_cache: Implement depth stencil texture swizzles Stop ignoring image swizzles on depth and stencil images. This doesn't fix a known issue on Xenoblade Chronicles 2 where an OpenGL texture changes swizzles twice before being used. A proper fix would be having a small texture view cache for this like we do on Vulkan. --- src/video_core/renderer_opengl/gl_texture_cache.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'src/video_core/renderer_opengl/gl_texture_cache.h') diff --git a/src/video_core/renderer_opengl/gl_texture_cache.h b/src/video_core/renderer_opengl/gl_texture_cache.h index 02d9981a1..0d88d738f 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.h +++ b/src/video_core/renderer_opengl/gl_texture_cache.h @@ -110,14 +110,6 @@ public: } private: - u32 EncodeSwizzle(Tegra::Texture::SwizzleSource x_source, - Tegra::Texture::SwizzleSource y_source, - Tegra::Texture::SwizzleSource z_source, - Tegra::Texture::SwizzleSource w_source) const { - return (static_cast(x_source) << 24) | (static_cast(y_source) << 16) | - (static_cast(z_source) << 8) | static_cast(w_source); - } - OGLTextureView CreateTextureView() const; CachedSurface& surface; @@ -125,7 +117,7 @@ private: GLenum format{}; OGLTextureView texture_view; - u32 swizzle{}; + u32 current_swizzle{}; bool is_proxy{}; }; -- cgit v1.2.3