summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_texture_cache.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-12-26 08:17:02 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-02-28 21:36:40 +0100
commit17a7fa751b34ae67c600bd741969dc1bde40fbf3 (patch)
treef6d22f2c38b8f8bd64c362e84412692e0c16f0fe /src/video_core/renderer_opengl/gl_texture_cache.cpp
parentgl_state: Remove texture and sampler tracking (diff)
downloadyuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.tar
yuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.tar.gz
yuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.tar.bz2
yuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.tar.lz
yuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.tar.xz
yuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.tar.zst
yuzu-17a7fa751b34ae67c600bd741969dc1bde40fbf3.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_texture_cache.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp
index f7a1ca3a9..ca407c1b3 100644
--- a/src/video_core/renderer_opengl/gl_texture_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp
@@ -397,6 +397,7 @@ CachedSurfaceView::CachedSurfaceView(CachedSurface& surface, const ViewParams& p
const bool is_proxy)
: VideoCommon::ViewBase(params), surface{surface}, is_proxy{is_proxy} {
target = GetTextureTarget(params.target);
+ format = GetFormatTuple(surface.GetSurfaceParams().pixel_format).internal_format;
if (!is_proxy) {
texture_view = CreateTextureView();
}
@@ -467,17 +468,12 @@ void CachedSurfaceView::ApplySwizzle(SwizzleSource x_source, SwizzleSource y_sou
}
OGLTextureView CachedSurfaceView::CreateTextureView() const {
- const auto& owner_params = surface.GetSurfaceParams();
OGLTextureView texture_view;
texture_view.Create();
- const GLuint handle{texture_view.handle};
- const FormatTuple& tuple{GetFormatTuple(owner_params.pixel_format)};
-
- glTextureView(handle, target, surface.texture.handle, tuple.internal_format, params.base_level,
+ glTextureView(texture_view.handle, target, surface.texture.handle, format, params.base_level,
params.num_levels, params.base_layer, params.num_layers);
-
- ApplyTextureDefaults(owner_params, handle);
+ ApplyTextureDefaults(surface.GetSurfaceParams(), texture_view.handle);
return texture_view;
}
@@ -521,9 +517,7 @@ void TextureCacheOpenGL::ImageBlit(View& src_view, View& dst_view,
const auto& dst_params{dst_view->GetSurfaceParams()};
OpenGLState prev_state{OpenGLState::GetCurState()};
- SCOPE_EXIT({
- prev_state.Apply();
- });
+ SCOPE_EXIT({ prev_state.Apply(); });
OpenGLState state;
state.draw.read_framebuffer = src_framebuffer.handle;