Page MenuHome

Enabling "Steroscopy" in the viewport camera causes graphical glitches with anti-aliasing enabled.
Closed, ResolvedPublicKNOWN ISSUE

Description

System Information:
Operating system: Linux-5.4.0-7626-generic-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: GeForce GTX 1050 Ti 440.82

Blender Version:
Broken: 2.83 ff7a30d92884 (2020-05-18 23:31), 2.90 7bd07c9f5adf (2020-05-18 23:33)
Worked: 2.82a

Short description of error:
This isn't a new issue, it just seems it was missed during rB365e9cb6aa86. This task was created as an extension of T74243 because T74243 was closed.

Edit: This may also be related: rB5593efec01c2

Exact steps for others to reproduce the error:

  1. Open Blender with default settings and a default startup scene.
  2. Change to "Active Camera" view (Numberpad 0).
  3. In the properties editor select the "Output" tab and enable "Stereoscopy".
  4. Now the viewport should have the glitch shown in the above screenshot. If you then go to user preferences and in the "viewport" section change the anti-aliasing method to "none" or "single pass" the issue goes away. All other anti-aliasing settings have the issue.

Note 1: This issue only occurs in solid mode. The issue also seems to disappear if you change to "Material Preview" or "EEVEE rendered" mode at anytime while having that Blender instance open. E.G. Open Blender, switch to "Material Preview" mode, switch back to "Solid" mode then enable "Stereoscopy" and go the the active camera. Now the issue won't occur. Load factory defaults, enable "Stereoscopy", switch to active camera, the issue won't occur. I have to close Blender and re-open it to get the issue to occur again.

Note 2: I have tested to ensure the issue described in T74243 hasn't returned. So far I'm only seeing the issue with stereoscopy. The issues with weight paint and wireframes hasn't returned as far as I can tell.

Workaround:
Change shading to material mode once and the issue is gone.

Event Timeline

Alaska (Alaska) added a comment.EditedMay 19 2020, 7:34 AM

@Clément Foucault (fclem) I have assigned you to this task as you worked on the fix for the other issue. Sorry if this task should be assigned to someone else.

Looks like it may end up like T74243. A Nvidia only, Linux only issue. Will need more investigation to confirm this.

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.May 19 2020, 10:27 AM
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".

I can confirm actually

System Information
Operating system: Linux-5.5.13-200.fc31.x86_64-x86_64-with-fedora-31-Thirty_One 64 Bits
Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.64
version: 2.90 (sub 2), branch: master, commit date: 2020-05-19 03:31, hash: rB1151bcd53d1d

@Clément Foucault (fclem) @Jeroen Bakker (jbakker) I can reproduce this on Linux btw using GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.44.

@Alaska (Alaska) for the record, refrain from tagging your own report as 2.83. The tag means the issue is planned to be tackled by 2.83, not that it happens in 2.83. But for now leave it as it is, since I hope this can be fixed for 2.83.

@Alaska (Alaska) for the record, refrain from tagging your own report as 2.83. The tag means the issue is planned to be tackled by 2.83, not that it happens in 2.83.

I will keep that in mind for future reports.

@Clément Foucault (fclem): Probably again something along the lines of the following?

1
2
3diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
4index af54e524445..0143c07e697 100644
5--- a/source/blender/draw/engines/overlay/overlay_extra.c
6+++ b/source/blender/draw/engines/overlay/overlay_extra.c
7@@ -1140,6 +1140,12 @@ void OVERLAY_camera_cache_populate(OVERLAY_Data *vedata, Object *ob)
8 const bool look_through = (is_active && (rv3d->persp == RV3D_CAMOB));
9
10 const bool is_multiview = (scene->r.scemode & R_MULTIVIEW) != 0;
11+
12+ /* this works, but of course this doesnt really detect the CHANGE / UPDATE! */
13+ if (is_multiview) {
14+ rv3d->rflag |= RV3D_GPULIGHT_UPDATE;
15+ }
16+
17 const bool is_stereo3d_view = (scene->r.views_format == SCE_VIEWS_FORMAT_STEREO_3D);
18 const bool is_stereo3d_display_extra = is_active && is_multiview && (!look_through) &&
19 ((v3d->stereo3d_flag) != 0);
20diff --git a/source/blender/draw/engines/workbench/workbench_data.c b/source/blender/draw/engines/workbench/workbench_data.c
21index 7b08e97ac31..891c6383ca6 100644
22--- a/source/blender/draw/engines/workbench/workbench_data.c
23+++ b/source/blender/draw/engines/workbench/workbench_data.c
24@@ -188,6 +188,14 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd)
25 draw_ctx->object_edit, draw_ctx->obact, draw_ctx->object_mode);
26
27 wpd->preferences = &U;
28+
29+ /* Tried this, but apparently wpd->scene is not ensure to be valid here? */
30+ const bool wpd_multiview = wpd->scene ? (wpd->scene->r.scemode & R_MULTIVIEW) != 0 : false;
31+ const bool scene_multiview = (scene->r.scemode & R_MULTIVIEW) != 0;
32+ if (wpd_multiview != scene_multiview) {
33+ wpd->view_updated = true;
34+ }
35+
36 wpd->scene = scene;
37 wpd->sh_cfg = draw_ctx->sh_cfg;
38

I can confirm this also happens on Windows. I get a red/cyan checkerboard pattern in the upper part of the screen. If there are more 3D views open, and one is in camera view, then the other viewports also get the glitch even if they are not in camera view. Switching to Material Preview and back to solid shading solves the problem.

Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce RTX 2080 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.19
Broken: version: 2.90 (sub 2), branch: master, commit date: 2020-05-18 09:05, hash: rBf3edff2d7d60

Removing the Linux project as @Zsolt Stefan (zsoltst) can reproduce the issue on Windows.

I am also able to reproduce the issue where other viewports get corrupted when one is in the camera view.

Dalai Felinto (dfelinto) changed the subtype of this task from "Bug" to "Known Issue".

In the end this is a driver issue. And with a workaround (change once to material mode, and the issue is gone once you go back to solid). Moving this to known issue.

This has been fixed with the r460 driver releases (Windows 460.79+, Linux 460.27.04+). Please try again and let me know if it can be closed.

@Patrick Mours (pmoursnv) -- I installed driver version 460.89 for RTX/Quatro on Windows (https://www.nvidia.com/Download/driverResults.aspx/167756/en-us ) and the problem appears to have been fixed with this driver version.

I don't know if the problem is also resolved on Linux systems.

Alaska (Alaska) added a comment.EditedNov 24 2021, 12:07 PM

I just thought I would update on this since it's been a while. I am still able to produce this bug, or something similar, with the setup below:

System Information
Operating system: Linux-5.15.0-1-amd64-x86_64-with-glibc2.32 64 Bits
Graphics card: NVIDIA GeForce RTX 3090/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 495.44

Blender Version 3.1.0

The problem is also still here on:
Operating system: Linux-5.11.0-40-generic-x86_64-with-glibc2.31 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.91.03

Turns out this was accidentally only fixed on Windows, not Linux. I'll bring it up internally.

Alaska (Alaska) closed this task as Resolved.EditedFeb 2 2022, 4:13 AM
Alaska (Alaska) claimed this task.

Linux Nvidia GPU driver 510.47.03 has this in the changelog:

Added an application profile to avoid an image corruption issue in Blender, as described at https://developer.blender.org/T76874
Source: https://www.nvidia.com/Download/driverResults.aspx/186156/en-us

And updating to GPU driver 510.47.03 does indeed fix the issue for me. As such I will be closing this report.