summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-30 02:57:42 -0300
committerGravatar ameerj2021-07-22 21:51:34 -0400
commita7e9756671be5bb99566277709e5becdea774f34 (patch)
tree060a277d1150fb671c0365fb51490584939993b9 /src/video_core/buffer_cache
parentshader: Always initialize up reference in structure control flow (diff)
downloadyuzu-a7e9756671be5bb99566277709e5becdea774f34.tar.gz
yuzu-a7e9756671be5bb99566277709e5becdea774f34.tar.xz
yuzu-a7e9756671be5bb99566277709e5becdea774f34.zip
buffer_cache: Mark uniform buffers as dirty if any enable bit changes
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 6c92e4c30..d6b9eb99f 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -142,7 +142,7 @@ public:
142 142
143 void BindHostComputeBuffers(); 143 void BindHostComputeBuffers();
144 144
145 void SetEnabledUniformBuffers(size_t stage, u32 enabled); 145 void SetEnabledUniformBuffers(const std::array<u32, NUM_STAGES>& mask);
146 146
147 void SetEnabledComputeUniformBuffers(u32 enabled); 147 void SetEnabledComputeUniformBuffers(u32 enabled);
148 148
@@ -670,13 +670,13 @@ void BufferCache<P>::BindHostComputeBuffers() {
670} 670}
671 671
672template <class P> 672template <class P>
673void BufferCache<P>::SetEnabledUniformBuffers(size_t stage, u32 enabled) { 673void BufferCache<P>::SetEnabledUniformBuffers(const std::array<u32, NUM_STAGES>& mask) {
674 if constexpr (HAS_PERSISTENT_UNIFORM_BUFFER_BINDINGS) { 674 if constexpr (HAS_PERSISTENT_UNIFORM_BUFFER_BINDINGS) {
675 if (enabled_uniform_buffers[stage] != enabled) { 675 if (enabled_uniform_buffers != mask) {
676 dirty_uniform_buffers[stage] = ~u32{0}; 676 dirty_uniform_buffers.fill(~u32{0});
677 } 677 }
678 } 678 }
679 enabled_uniform_buffers[stage] = enabled; 679 enabled_uniform_buffers = mask;
680} 680}
681 681
682template <class P> 682template <class P>