diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-01-21 23:08:08 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-01-21 23:08:08 +0100 |
commit | 3ce28342a29610da7652247e2ec5b6b9176e5e4f (patch) | |
tree | d9cc0a37c226077426181f087790a8431e9b344c | |
parent | Merge pull request #3330 from ReinUsesLisp/vk-blit-screen (diff) | |
download | yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.tar yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.tar.gz yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.tar.bz2 yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.tar.lz yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.tar.xz yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.tar.zst yuzu-3ce28342a29610da7652247e2ec5b6b9176e5e4f.zip |
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_cache.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index a4acb3796..3c5bdd377 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp @@ -260,6 +260,10 @@ CachedProgram BuildShader(const Device& device, u64 unique_identifier, ShaderTyp "#extension GL_NV_shader_thread_group : require\n" "#extension GL_NV_shader_thread_shuffle : require\n"; } + // This pragma stops Nvidia's driver from over optimizing math (probably using fp16 operations) + // on places where we don't want to. + // Thanks to Ryujinx for finding this workaround. + source += "#pragma optionNV(fastmath off)\n"; if (shader_type == ShaderType::Geometry) { const auto [glsl_topology, max_vertices] = GetPrimitiveDescription(variant.primitive_mode); |