diff options
| author | 2021-05-30 02:57:42 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:34 -0400 | |
| commit | a7e9756671be5bb99566277709e5becdea774f34 (patch) | |
| tree | 060a277d1150fb671c0365fb51490584939993b9 /src/video_core/buffer_cache | |
| parent | shader: Always initialize up reference in structure control flow (diff) | |
| download | yuzu-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.h | 10 |
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 | ||
| 672 | template <class P> | 672 | template <class P> |
| 673 | void BufferCache<P>::SetEnabledUniformBuffers(size_t stage, u32 enabled) { | 673 | void 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 | ||
| 682 | template <class P> | 682 | template <class P> |