Forráskód Böngészése

Merge pull request #343 from Subv/tex_wrap_4

GPU: Implement some wrap modes
bunnei 8 éve
szülő
commit
2b082e2710
1 módosított fájl, 7 hozzáadás és 0 törlés
  1. 7 0
      src/video_core/renderer_opengl/maxwell_to_gl.h

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

@@ -86,8 +86,15 @@ inline GLenum TextureFilterMode(Tegra::Texture::TextureFilter filter_mode) {
 
 inline GLenum WrapMode(Tegra::Texture::WrapMode wrap_mode) {
     switch (wrap_mode) {
+    case Tegra::Texture::WrapMode::Wrap:
+        return GL_REPEAT;
     case Tegra::Texture::WrapMode::ClampToEdge:
         return GL_CLAMP_TO_EDGE;
+    case Tegra::Texture::WrapMode::ClampOGL:
+        // TODO(Subv): GL_CLAMP was removed as of OpenGL 3.1, to implement GL_CLAMP, we can use
+        // GL_CLAMP_TO_BORDER to get the border color of the texture, and then sample the edge to
+        // manually mix them. However the shader part of this is not yet implemented.
+        return GL_CLAMP_TO_BORDER;
     }
     NGLOG_CRITICAL(Render_OpenGL, "Unimplemented texture wrap mode={}",
                    static_cast<u32>(wrap_mode));