diff options
author | bunnei <bunneidev@gmail.com> | 2018-07-24 05:26:48 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-07-24 05:34:42 +0200 |
commit | 69c45ce71c5a600f0372746348875a626e06898b (patch) | |
tree | 5515b9dcc8fc4122e63b9eb7f7accdf5c3801d85 /src/video_core/renderer_opengl | |
parent | maxwell_to_gl: Implement Texture::WrapMode::Border. (diff) | |
download | yuzu-69c45ce71c5a600f0372746348875a626e06898b.tar yuzu-69c45ce71c5a600f0372746348875a626e06898b.tar.gz yuzu-69c45ce71c5a600f0372746348875a626e06898b.tar.bz2 yuzu-69c45ce71c5a600f0372746348875a626e06898b.tar.lz yuzu-69c45ce71c5a600f0372746348875a626e06898b.tar.xz yuzu-69c45ce71c5a600f0372746348875a626e06898b.tar.zst yuzu-69c45ce71c5a600f0372746348875a626e06898b.zip |
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 9 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.h | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 56d9c575b..5d5ad84b7 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -601,7 +601,6 @@ void RasterizerOpenGL::SamplerInfo::Create() { sampler.Create(); mag_filter = min_filter = Tegra::Texture::TextureFilter::Linear; wrap_u = wrap_v = Tegra::Texture::WrapMode::Wrap; - border_color_r = border_color_g = border_color_b = border_color_a = 0; // default is GL_LINEAR_MIPMAP_LINEAR glSamplerParameteri(sampler.handle, GL_TEXTURE_MIN_FILTER, GL_LINEAR); @@ -630,8 +629,12 @@ void RasterizerOpenGL::SamplerInfo::SyncWithConfig(const Tegra::Texture::TSCEntr } if (wrap_u == Tegra::Texture::WrapMode::Border || wrap_v == Tegra::Texture::WrapMode::Border) { - // TODO(Subv): Implement border color - ASSERT(false); + const GLvec4 new_border_color = {{config.border_color_r, config.border_color_g, + config.border_color_b, config.border_color_a}}; + if (border_color != new_border_color) { + border_color = new_border_color; + glSamplerParameterfv(s, GL_TEXTURE_BORDER_COLOR, border_color.data()); + } } } diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index c406142e4..ab06e2d95 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h @@ -77,10 +77,7 @@ private: Tegra::Texture::TextureFilter min_filter; Tegra::Texture::WrapMode wrap_u; Tegra::Texture::WrapMode wrap_v; - u32 border_color_r; - u32 border_color_g; - u32 border_color_b; - u32 border_color_a; + GLvec4 border_color; }; /// Configures the color and depth framebuffer states and returns the dirty <Color, Depth> |