@@ -2863,11 +2863,13 @@ where
2863
2863
let MultiFramebufferInternal :: Target ( ref mut to_fb) = & mut to. 0 else {
2864
2864
unreachable ! ( )
2865
2865
} ;
2866
- target
2866
+ let sync = target
2867
2867
. device
2868
2868
. renderer_mut ( )
2869
2869
. blit ( target. framebuffer , to_fb, src, dst, filter)
2870
- . map_err ( Error :: Target )
2870
+ . map_err ( Error :: Target ) ?;
2871
+ target. device . renderer_mut ( ) . wait ( & sync) . map_err ( Error :: Target ) ?;
2872
+ Ok ( ( ) )
2871
2873
} else {
2872
2874
let MultiFramebufferInternal :: Render ( ref mut to_fb) = & mut to. 0 else {
2873
2875
unreachable ! ( )
@@ -2894,11 +2896,13 @@ where
2894
2896
let MultiFramebufferInternal :: Target ( ref from_fb) = & from. 0 else {
2895
2897
unreachable ! ( )
2896
2898
} ;
2897
- target
2899
+ let sync = target
2898
2900
. device
2899
2901
. renderer_mut ( )
2900
2902
. blit ( from_fb, target. framebuffer , src, dst, filter)
2901
- . map_err ( Error :: Target )
2903
+ . map_err ( Error :: Target ) ?;
2904
+ target. device . renderer_mut ( ) . wait ( & sync) . map_err ( Error :: Target ) ?;
2905
+ Ok ( ( ) )
2902
2906
} else {
2903
2907
let MultiFramebufferInternal :: Render ( ref from_fb) = & from. 0 else {
2904
2908
unreachable ! ( )
@@ -2935,7 +2939,7 @@ where
2935
2939
src : Rectangle < i32 , Physical > ,
2936
2940
dst : Rectangle < i32 , Physical > ,
2937
2941
filter : TextureFilter ,
2938
- ) -> Result < ( ) , <Self as RendererSuper >:: Error > {
2942
+ ) -> Result < SyncPoint , <Self as RendererSuper >:: Error > {
2939
2943
if let Some ( target) = self . target . as_mut ( ) {
2940
2944
let MultiFramebufferInternal :: Target ( ref from_fb) = & from. 0 else {
2941
2945
unreachable ! ( )
0 commit comments