aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache/buffer_cache.h
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-10-29 11:25:09 -0400
committerGitHub <noreply@github.com>2023-10-29 11:25:09 -0400
commit257dfeaccfc1a411ceacd3cb60397038bc9de29f (patch)
tree89df369818cce70e52b98181af163927cae5faa9 /src/video_core/buffer_cache/buffer_cache.h
parent289ac46210bca30c1c7b69cfe3338f003e862333 (diff)
parent5d26c3791bafb7e8a65fd72e5bb6a83569f1ad80 (diff)
Merge pull request #11859 from Kelebek1/compute_findbuffer
Add missing loop around compute FindBuffer calls
Diffstat (limited to 'src/video_core/buffer_cache/buffer_cache.h')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 9b2698fad2..081a574e8b 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -1067,8 +1067,7 @@ void BufferCache<P>::BindHostComputeTextureBuffers() {
template <class P>
void BufferCache<P>::DoUpdateGraphicsBuffers(bool is_indexed) {
- do {
- channel_state->has_deleted_buffers = false;
+ BufferOperations([&]() {
if (is_indexed) {
UpdateIndexBuffer();
}
@@ -1082,14 +1081,16 @@ void BufferCache<P>::DoUpdateGraphicsBuffers(bool is_indexed) {
if (current_draw_indirect) {
UpdateDrawIndirect();
}
- } while (channel_state->has_deleted_buffers);
+ });
}
template <class P>
void BufferCache<P>::DoUpdateComputeBuffers() {
- UpdateComputeUniformBuffers();
- UpdateComputeStorageBuffers();
- UpdateComputeTextureBuffers();
+ BufferOperations([&]() {
+ UpdateComputeUniformBuffers();
+ UpdateComputeStorageBuffers();
+ UpdateComputeTextureBuffers();
+ });
}
template <class P>