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.
This commit is contained in:
Morph 2020-06-13 11:21:27 -04:00
parent d217017c9e
commit 1b31755ba6
1 changed files with 6 additions and 0 deletions

View File

@ -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;