Browse Source
Merge pull request #3338 from ReinUsesLisp/no-fastmath
gl_shader_cache: Disable fastmath on Nvidia
pull/15/merge
Fernando Sahmkow
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
4 additions and
0 deletions
-
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); |
|
|
|
|