summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-08-14 15:19:10 +0200
committerGitHub <noreply@github.com>2023-08-14 15:19:10 +0200
commit35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91 (patch)
treeb55f3fa6a88b6f503d9dfd3765f2126aac72f982
parentMerge pull request #11281 from liamwhite/vi-scale-mode (diff)
parentgl_graphics_pipeline: Fix GLASM storage buffer detection (diff)
downloadyuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.tar
yuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.tar.gz
yuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.tar.bz2
yuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.tar.lz
yuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.tar.xz
yuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.tar.zst
yuzu-35a77c3bb2a76d9fdbcb0e0fe6824e2a12099e91.zip
-rw-r--r--src/video_core/renderer_opengl/gl_graphics_pipeline.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp b/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp
index f822fa856..c78bdf17c 100644
--- a/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp
+++ b/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp
@@ -220,7 +220,8 @@ GraphicsPipeline::GraphicsPipeline(const Device& device, TextureCache& texture_c
ASSERT(num_textures <= MAX_TEXTURES);
ASSERT(num_images <= MAX_IMAGES);
- const bool assembly_shaders{assembly_programs[0].handle != 0};
+ const auto backend = device.GetShaderBackend();
+ const bool assembly_shaders{backend == Settings::ShaderBackend::Glasm};
use_storage_buffers =
!assembly_shaders || num_storage_buffers <= device.GetMaxGLASMStorageBufferBlocks();
writes_global_memory &= !use_storage_buffers;
@@ -230,7 +231,6 @@ GraphicsPipeline::GraphicsPipeline(const Device& device, TextureCache& texture_c
GenerateTransformFeedbackState();
}
const bool in_parallel = thread_worker != nullptr;
- const auto backend = device.GetShaderBackend();
auto func{[this, sources_ = std::move(sources), sources_spirv_ = std::move(sources_spirv),
shader_notify, backend, in_parallel,
force_context_flush](ShaderContext::Context*) mutable {