|
|
@@ -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>
|