gl_device: Simplify GLASM setting logic
This commit is contained in:
		| @@ -172,16 +172,14 @@ Device::Device() { | |||||||
|     // uniform buffers as "push constants" |     // uniform buffers as "push constants" | ||||||
|     has_fast_buffer_sub_data = is_nvidia && !disable_fast_buffer_sub_data; |     has_fast_buffer_sub_data = is_nvidia && !disable_fast_buffer_sub_data; | ||||||
|  |  | ||||||
|     use_assembly_shaders = |     shader_backend = Settings::values.shader_backend.GetValue(); | ||||||
|         Settings::values.shader_backend.GetValue() == Settings::ShaderBackend::GLASM && |     use_assembly_shaders = shader_backend == Settings::ShaderBackend::GLASM && | ||||||
|         GLAD_GL_NV_gpu_program5 && GLAD_GL_NV_compute_program5 && GLAD_GL_NV_transform_feedback && |                            GLAD_GL_NV_gpu_program5 && GLAD_GL_NV_compute_program5 && | ||||||
|         GLAD_GL_NV_transform_feedback2; |                            GLAD_GL_NV_transform_feedback && GLAD_GL_NV_transform_feedback2; | ||||||
|  |     if (shader_backend == Settings::ShaderBackend::GLASM && !use_assembly_shaders) { | ||||||
|     shader_backend = (Settings::values.shader_backend.GetValue() == |         LOG_ERROR(Render_OpenGL, "Assembly shaders enabled but not supported"); | ||||||
|                       Settings::ShaderBackend::GLASM) == use_assembly_shaders |         shader_backend = Settings::ShaderBackend::GLSL; | ||||||
|                          ? Settings::values.shader_backend.GetValue() |     } | ||||||
|                          : Settings::ShaderBackend::GLSL; |  | ||||||
|  |  | ||||||
|     // Completely disable async shaders for now, as it causes graphical glitches |     // Completely disable async shaders for now, as it causes graphical glitches | ||||||
|     use_asynchronous_shaders = false; |     use_asynchronous_shaders = false; | ||||||
|     // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. |     // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. | ||||||
| @@ -194,11 +192,6 @@ Device::Device() { | |||||||
|     LOG_INFO(Render_OpenGL, "Renderer_PreciseBug: {}", has_precise_bug); |     LOG_INFO(Render_OpenGL, "Renderer_PreciseBug: {}", has_precise_bug); | ||||||
|     LOG_INFO(Render_OpenGL, "Renderer_BrokenTextureViewFormats: {}", |     LOG_INFO(Render_OpenGL, "Renderer_BrokenTextureViewFormats: {}", | ||||||
|              has_broken_texture_view_formats); |              has_broken_texture_view_formats); | ||||||
|  |  | ||||||
|     if (shader_backend == Settings::ShaderBackend::GLASM && !use_assembly_shaders) { |  | ||||||
|         LOG_ERROR(Render_OpenGL, "Assembly shaders enabled but not supported"); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     if (Settings::values.use_asynchronous_shaders.GetValue() && !use_asynchronous_shaders) { |     if (Settings::values.use_asynchronous_shaders.GetValue() && !use_asynchronous_shaders) { | ||||||
|         LOG_WARNING(Render_OpenGL, "Asynchronous shader compilation enabled but not supported"); |         LOG_WARNING(Render_OpenGL, "Asynchronous shader compilation enabled but not supported"); | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user