summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-05-21 20:29:41 -0300
committerGravatar ReinUsesLisp2019-05-30 13:21:01 -0300
commita89cc0bafc2b56aa7b29d34ed460911478fd9efa (patch)
tree21f74f0ee2b7e82df2a7dceae270da9c789b21c2 /src
parentgl_rasterizer: Move alpha testing to the OpenGL pipeline (diff)
downloadyuzu-a89cc0bafc2b56aa7b29d34ed460911478fd9efa.tar.gz
yuzu-a89cc0bafc2b56aa7b29d34ed460911478fd9efa.tar.xz
yuzu-a89cc0bafc2b56aa7b29d34ed460911478fd9efa.zip
maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap mode
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/maxwell_to_gl.h7
-rw-r--r--src/video_core/renderer_vulkan/maxwell_to_vk.cpp2
-rw-r--r--src/video_core/textures/texture.h2
3 files changed, 4 insertions, 7 deletions
diff --git a/src/video_core/renderer_opengl/maxwell_to_gl.h b/src/video_core/renderer_opengl/maxwell_to_gl.h
index e3cabded3..ea77dd211 100644
--- a/src/video_core/renderer_opengl/maxwell_to_gl.h
+++ b/src/video_core/renderer_opengl/maxwell_to_gl.h
@@ -175,11 +175,8 @@ inline GLenum WrapMode(Tegra::Texture::WrapMode wrap_mode) {
175 return GL_CLAMP_TO_EDGE; 175 return GL_CLAMP_TO_EDGE;
176 case Tegra::Texture::WrapMode::Border: 176 case Tegra::Texture::WrapMode::Border:
177 return GL_CLAMP_TO_BORDER; 177 return GL_CLAMP_TO_BORDER;
178 case Tegra::Texture::WrapMode::ClampOGL: 178 case Tegra::Texture::WrapMode::Clamp:
179 // TODO(Subv): GL_CLAMP was removed as of OpenGL 3.1, to implement GL_CLAMP, we can use 179 return GL_CLAMP;
180 // GL_CLAMP_TO_BORDER to get the border color of the texture, and then sample the edge to
181 // manually mix them. However the shader part of this is not yet implemented.
182 return GL_CLAMP_TO_BORDER;
183 case Tegra::Texture::WrapMode::MirrorOnceClampToEdge: 180 case Tegra::Texture::WrapMode::MirrorOnceClampToEdge:
184 return GL_MIRROR_CLAMP_TO_EDGE; 181 return GL_MIRROR_CLAMP_TO_EDGE;
185 case Tegra::Texture::WrapMode::MirrorOnceBorder: 182 case Tegra::Texture::WrapMode::MirrorOnceBorder:
diff --git a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
index 9fe1e3280..0bbbf6851 100644
--- a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
+++ b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
@@ -52,7 +52,7 @@ vk::SamplerAddressMode WrapMode(Tegra::Texture::WrapMode wrap_mode) {
52 return vk::SamplerAddressMode::eClampToEdge; 52 return vk::SamplerAddressMode::eClampToEdge;
53 case Tegra::Texture::WrapMode::Border: 53 case Tegra::Texture::WrapMode::Border:
54 return vk::SamplerAddressMode::eClampToBorder; 54 return vk::SamplerAddressMode::eClampToBorder;
55 case Tegra::Texture::WrapMode::ClampOGL: 55 case Tegra::Texture::WrapMode::Clamp:
56 // TODO(Rodrigo): GL_CLAMP was removed as of OpenGL 3.1, to implement GL_CLAMP, we can use 56 // TODO(Rodrigo): GL_CLAMP was removed as of OpenGL 3.1, to implement GL_CLAMP, we can use
57 // eClampToBorder to get the border color of the texture, and then sample the edge to 57 // eClampToBorder to get the border color of the texture, and then sample the edge to
58 // manually mix them. However the shader part of this is not yet implemented. 58 // manually mix them. However the shader part of this is not yet implemented.
diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h
index bea0d5bc2..219bfd559 100644
--- a/src/video_core/textures/texture.h
+++ b/src/video_core/textures/texture.h
@@ -251,7 +251,7 @@ enum class WrapMode : u32 {
251 Mirror = 1, 251 Mirror = 1,
252 ClampToEdge = 2, 252 ClampToEdge = 2,
253 Border = 3, 253 Border = 3,
254 ClampOGL = 4, 254 Clamp = 4,
255 MirrorOnceClampToEdge = 5, 255 MirrorOnceClampToEdge = 5,
256 MirrorOnceBorder = 6, 256 MirrorOnceBorder = 6,
257 MirrorOnceClampOGL = 7, 257 MirrorOnceClampOGL = 7,