Преглед изворни кода

maxwell_to_gl: Implement MirrorOnceClampOGL using GL_MIRROR_CLAMP_EXT

Like MirrorOnceBorder, this requires the GL_EXT_texture_mirror_clamp extension. This extension is unfortunately not available on Intel's drivers (both Windows proprietary and Linux Mesa). Use GL_MIRROR_CLAMP_TO_EDGE as a fallback if the extension is unavailable.
Morph пре 6 година
родитељ
комит
1b31755ba6
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      src/video_core/renderer_opengl/maxwell_to_gl.h

+ 6 - 0
src/video_core/renderer_opengl/maxwell_to_gl.h

@@ -191,6 +191,12 @@ inline GLenum WrapMode(Tegra::Texture::WrapMode wrap_mode) {
         } else {
         } else {
             return GL_MIRROR_CLAMP_TO_EDGE;
             return GL_MIRROR_CLAMP_TO_EDGE;
         }
         }
+    case Tegra::Texture::WrapMode::MirrorOnceClampOGL:
+        if (GL_EXT_texture_mirror_clamp) {
+            return GL_MIRROR_CLAMP_EXT;
+        } else {
+            return GL_MIRROR_CLAMP_TO_EDGE;
+        }
     }
     }
     UNIMPLEMENTED_MSG("Unimplemented texture wrap mode={}", static_cast<u32>(wrap_mode));
     UNIMPLEMENTED_MSG("Unimplemented texture wrap mode={}", static_cast<u32>(wrap_mode));
     return GL_REPEAT;
     return GL_REPEAT;