Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kim <pk15950@gmail.com>2021-07-23 18:11:22 +0300
committerPeter Kim <pk15950@gmail.com>2021-07-23 18:12:17 +0300
commitc41b93bda5328ce13faf7048dfd38708e6486b6a (patch)
treef544026d65acfaf3e4923ae2182ea374c5ae67af /source/blender/windowmanager/xr/intern/wm_xr_intern.h
parenteb434778511070238ec189c8929c9b267842606a (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.h8
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 {