diff options
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 6818951f2..c4eeed53b 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp | |||
| @@ -172,9 +172,10 @@ Device::Device() { | |||
| 172 | // uniform buffers as "push constants" | 172 | // uniform buffers as "push constants" |
| 173 | has_fast_buffer_sub_data = is_nvidia && !disable_fast_buffer_sub_data; | 173 | has_fast_buffer_sub_data = is_nvidia && !disable_fast_buffer_sub_data; |
| 174 | 174 | ||
| 175 | use_assembly_shaders = Settings::values.use_assembly_shaders.GetValue() && | 175 | use_assembly_shaders = |
| 176 | GLAD_GL_NV_gpu_program5 && GLAD_GL_NV_compute_program5 && | 176 | Settings::values.shader_backend.GetValue() == Settings::ShaderBackend::GLASM && |
| 177 | GLAD_GL_NV_transform_feedback && GLAD_GL_NV_transform_feedback2; | 177 | GLAD_GL_NV_gpu_program5 && GLAD_GL_NV_compute_program5 && GLAD_GL_NV_transform_feedback && |
| 178 | GLAD_GL_NV_transform_feedback2; | ||
| 178 | 179 | ||
| 179 | // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. | 180 | // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. |
| 180 | use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() && | 181 | use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() && |
| @@ -187,7 +188,8 @@ Device::Device() { | |||
| 187 | LOG_INFO(Render_OpenGL, "Renderer_BrokenTextureViewFormats: {}", | 188 | LOG_INFO(Render_OpenGL, "Renderer_BrokenTextureViewFormats: {}", |
| 188 | has_broken_texture_view_formats); | 189 | has_broken_texture_view_formats); |
| 189 | 190 | ||
| 190 | if (Settings::values.use_assembly_shaders.GetValue() && !use_assembly_shaders) { | 191 | if (Settings::values.shader_backend.GetValue() == Settings::ShaderBackend::GLASM && |
| 192 | !use_assembly_shaders) { | ||
| 191 | LOG_ERROR(Render_OpenGL, "Assembly shaders enabled but not supported"); | 193 | LOG_ERROR(Render_OpenGL, "Assembly shaders enabled but not supported"); |
| 192 | } | 194 | } |
| 193 | 195 | ||