summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Rodolfo Bogado2018-11-13 21:23:23 -0300
committerGravatar Rodolfo Bogado2018-11-17 19:59:33 -0300
commit1d60bb65447686f8e6acd947bab8a23f05be033d (patch)
treed2fc1c4ca3fe17f0f27cac607e24e73ccd55935a /src
parentset default value for point size register (diff)
downloadyuzu-1d60bb65447686f8e6acd947bab8a23f05be033d.tar.gz
yuzu-1d60bb65447686f8e6acd947bab8a23f05be033d.tar.xz
yuzu-1d60bb65447686f8e6acd947bab8a23f05be033d.zip
set border color not depending on the wrap mode
only enable color mask for the first framebuffer id independent blending is disabled
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 0e55bee11..10d407bd2 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -777,15 +777,13 @@ void RasterizerOpenGL::SamplerInfo::SyncWithConfig(const Tegra::Texture::FullTex
777 MaxwellToGL::DepthCompareFunc(depth_compare_func)); 777 MaxwellToGL::DepthCompareFunc(depth_compare_func));
778 } 778 }
779 779
780 if (wrap_u == Tegra::Texture::WrapMode::Border || wrap_v == Tegra::Texture::WrapMode::Border || 780 const GLvec4 new_border_color = {{config.border_color_r, config.border_color_g,
781 wrap_p == Tegra::Texture::WrapMode::Border) { 781 config.border_color_b, config.border_color_a}};
782 const GLvec4 new_border_color = {{config.border_color_r, config.border_color_g, 782 if (border_color != new_border_color) {
783 config.border_color_b, config.border_color_a}}; 783 border_color = new_border_color;
784 if (border_color != new_border_color) { 784 glSamplerParameterfv(s, GL_TEXTURE_BORDER_COLOR, border_color.data());
785 border_color = new_border_color;
786 glSamplerParameterfv(s, GL_TEXTURE_BORDER_COLOR, border_color.data());
787 }
788 } 785 }
786
789 if (info.tic.use_header_opt_control == 0) { 787 if (info.tic.use_header_opt_control == 0) {
790 if (GLAD_GL_ARB_texture_filter_anisotropic) { 788 if (GLAD_GL_ARB_texture_filter_anisotropic) {
791 glSamplerParameterf(s, GL_TEXTURE_MAX_ANISOTROPY, 789 glSamplerParameterf(s, GL_TEXTURE_MAX_ANISOTROPY,
@@ -1022,7 +1020,9 @@ void RasterizerOpenGL::SyncStencilTestState() {
1022 1020
1023void RasterizerOpenGL::SyncColorMask() { 1021void RasterizerOpenGL::SyncColorMask() {
1024 const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs; 1022 const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs;
1025 for (size_t i = 0; i < Tegra::Engines::Maxwell3D::Regs::NumRenderTargets; i++) { 1023 size_t count =
1024 regs.independent_blend_enable ? Tegra::Engines::Maxwell3D::Regs::NumRenderTargets : 1;
1025 for (size_t i = 0; i < count; i++) {
1026 const auto& source = regs.color_mask[regs.color_mask_common ? 0 : i]; 1026 const auto& source = regs.color_mask[regs.color_mask_common ? 0 : i];
1027 auto& dest = state.color_mask[i]; 1027 auto& dest = state.color_mask[i];
1028 dest.red_enabled = (source.R == 0) ? GL_FALSE : GL_TRUE; 1028 dest.red_enabled = (source.R == 0) ? GL_FALSE : GL_TRUE;