diff options
author | Jeroen Bakker <jeroen@blender.org> | 2022-01-26 15:36:52 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2022-01-26 15:36:52 +0300 |
commit | e94cd5eeed63905661dfeda2d06f21cd089ea78d (patch) | |
tree | 022d8bf94f3905fcf47bfc4fade073995cdf2e83 /source/blender/windowmanager/xr/intern/wm_xr_draw.c | |
parent | 1bf6a880ab4fc1d0f1e6b2bb7cc0354b4e18f45b (diff) |
T94900: Sequence drawing errors on selected platforms.temp-T94900-gpu-viewport-default-layers
The VSE only uses an overlay texture to draw to the screen. The
GPUViewport assumes that drivers would clear textures when created, but
they do not on selected platforms. What would lead to drawing from
uncleared memory.
By selecting which layers would contain correct data allows us to use
dummy textures in these cases that would eliminate the drawing
artifacts.
Diffstat (limited to 'source/blender/windowmanager/xr/intern/wm_xr_draw.c')
-rw-r--r-- | source/blender/windowmanager/xr/intern/wm_xr_draw.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_draw.c b/source/blender/windowmanager/xr/intern/wm_xr_draw.c index 5d0163af5e1..a4b12d83c02 100644 --- a/source/blender/windowmanager/xr/intern/wm_xr_draw.c +++ b/source/blender/windowmanager/xr/intern/wm_xr_draw.c @@ -136,7 +136,11 @@ static void wm_xr_draw_viewport_buffers_to_active_framebuffer( if (is_upside_down) { SWAP(int, rect.ymin, rect.ymax); } - GPU_viewport_draw_to_screen_ex(vp->viewport, 0, &rect, draw_view->expects_srgb_buffer, true); + GPU_viewport_draw_to_screen_ex(vp->viewport, + 0, + &rect, + draw_view->expects_srgb_buffer, + GPU_VIEWPORT_LAYER_COLOR_AND_OVERLAY); } void wm_xr_draw_view(const GHOST_XrDrawViewInfo *draw_view, void *customdata) |