diff options
author | Peter Kim <pk15950@gmail.com> | 2021-07-23 18:11:22 +0300 |
---|---|---|
committer | Peter Kim <pk15950@gmail.com> | 2021-07-23 18:12:17 +0300 |
commit | c41b93bda5328ce13faf7048dfd38708e6486b6a (patch) | |
tree | f544026d65acfaf3e4923ae2182ea374c5ae67af /source/blender/windowmanager/xr/intern/wm_xr_intern.h | |
parent | eb434778511070238ec189c8929c9b267842606a (diff) |
XR: Fix for Viewport Denoising Artifacts
Addresses T76003. When using VR with Eevee and viewport denoising,
scene geometry could sometimes be occluded for one eye. Solution is
to use a separate GPUViewport/GPUOffscreen for each VR view instead
of reusing a single one for rendering.
Reviewed By: Julian Eisel, Clément Foucault
Differential Revision: http://developer.blender.org/D11858
Diffstat (limited to 'source/blender/windowmanager/xr/intern/wm_xr_intern.h')
-rw-r--r-- | source/blender/windowmanager/xr/intern/wm_xr_intern.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_intern.h b/source/blender/windowmanager/xr/intern/wm_xr_intern.h index 9bf63be61dd..24582388228 100644 --- a/source/blender/windowmanager/xr/intern/wm_xr_intern.h +++ b/source/blender/windowmanager/xr/intern/wm_xr_intern.h @@ -85,9 +85,15 @@ typedef struct wmXrRuntimeData { wmXrSessionExitFn exit_fn; } wmXrRuntimeData; -typedef struct { +typedef struct wmXrViewportPair { + struct wmXrViewportPair *next, *prev; struct GPUOffScreen *offscreen; struct GPUViewport *viewport; +} wmXrViewportPair; + +typedef struct { + /* Offscreen buffers/viewports for each view. */ + ListBase viewports; /* wmXrViewportPair */ } wmXrSurfaceData; typedef struct wmXrDrawData { |