FIx #114286: Resolve ghosting artifact in workbench in Metal

Missing GPU flush added between workbench render frames
to ensure GPU command buffer does not submit all frames
in one go.

Authored by Apple: Michael Parkin-White

Co-authored-by: Michael Parkin-White <mparkinwhite@apple.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/114328
This commit is contained in:
Jason Fielder
2023-10-31 15:53:32 +01:00
committed by Clément Foucault
parent 3da63377fc
commit dde346ca9f

View File

@@ -781,6 +781,9 @@ static void workbench_render_to_image(void *vedata,
/* Perform render step between samples to allow
* flushing of freed GPUBackend resources. */
if (GPU_backend_get_type() == GPU_BACKEND_METAL) {
GPU_flush();
}
GPU_render_step();
GPU_FINISH_DELIMITER();
} while (ved->instance->scene_state.sample + 1 < ved->instance->scene_state.samples_len);