Region selection tools (box, circle, lasso) select extra vertices #47204

Closed
opened 2016-01-18 20:08:42 +01:00 by Stanislav Blinov · 26 comments

System Information
Linux 64bit, NVIDIA GTS 450, driver 355.11

Blender Version
Broken: 2.76b, 2.76 c6bc236

This video (0.6Mb, 35 seconds) shows the erroneous behaviour:
https://www.dropbox.com/s/2ra3drex8ivah22/selection.mp4?dl=0

Note, this happens when multisampling is off. On my system, if I turn multisampling on, the tools behave normally.
The issue is originally mentioned in http://blenderartists.org/forum/showthread.php?390359-Box-and-circle-select-acting-strange-in-solid-drawing-mode

**System Information** Linux 64bit, NVIDIA GTS 450, driver 355.11 **Blender Version** Broken: 2.76b, 2.76 c6bc236 This video (0.6Mb, 35 seconds) shows the erroneous behaviour: https://www.dropbox.com/s/2ra3drex8ivah22/selection.mp4?dl=0 Note, this happens when multisampling is **off**. On my system, if I turn multisampling on, the tools behave normally. The issue is originally mentioned in http://blenderartists.org/forum/showthread.php?390359-Box-and-circle-select-acting-strange-in-solid-drawing-mode

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @Stan_Pancakes

Added subscriber: @Stan_Pancakes

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Do you have multi-sampling enabled in the nvidia-settings, but disabled in Blender?
I've seen this cause issues before.

If all MSAA settings are off from the driver side, and off from Blender's preferences, this should always work properly.

Note that Blender requests no MSAA, if the graphics card is giving us a multi-sampled buffer its unlikely we can fix this - unless theres some known workaround.

Do you have multi-sampling enabled in the nvidia-settings, but disabled in Blender? I've seen this cause issues before. If all MSAA settings are off from the driver side, and off from Blender's preferences, this should always work properly. Note that Blender requests no MSAA, if the graphics card is giving us a multi-sampled buffer its unlikely we can fix this - unless theres some known workaround.

Added subscriber: @mont29

Added subscriber: @mont29

I have no overrides in nvidia-settings:

Screenshot from 2016-01-20 12-47-53.png

If the driver was giving a multi-sampled buffer, wouldn't the resulting image reflect that? Perhaps it's not clear in the video, but there's no AA in viewport.

Also, I should mention that I went and checked with both selection methods (Select and Occlusion Queries), it still behaves like that.

I have no overrides in nvidia-settings: ![Screenshot from 2016-01-20 12-47-53.png](https://archive.blender.org/developer/F275296/Screenshot_from_2016-01-20_12-47-53.png) If the driver was giving a multi-sampled buffer, wouldn't the resulting image reflect that? Perhaps it's not clear in the video, but there's no AA in viewport. Also, I should mention that I went and checked with both selection methods (Select and Occlusion Queries), it still behaves like that.

Another update: I tried replicating this behavior with 2.75a on the same system, but with that version selection tools operate normally.

Another update: I tried replicating this behavior with 2.75a on the same system, but with that version selection tools operate normally.

Added subscribers: @MikeErwin, @brecht

Added subscribers: @MikeErwin, @brecht

Did you try playing with other settings, e.g. disabling that 'texture sharpening' option, or if you have some global 'performance vs. quality' slider, etc?

Otherwise, unless some of our OpenGL team dev (@brecht, @MikeErwin, etc.) can replicate the issue, I doubt we can do much. :/

Did you try playing with other settings, e.g. disabling that 'texture sharpening' option, or if you have some global 'performance vs. quality' slider, etc? Otherwise, unless some of our OpenGL team dev (@brecht, @MikeErwin, etc.) can replicate the issue, I doubt we can do much. :/

Added subscriber: @ErickNyanduKabongo

Added subscriber: @ErickNyanduKabongo

I m having about the same problem in sculpt mode with mask lasso selection, I have win7 gtx 550ti and amd64 win 8, in both i have the same behavior. Hash c292b4e

Check video https://youtu.be/iAlmA1neGFo

I m having about the same problem in sculpt mode with mask lasso selection, I have win7 gtx 550ti and amd64 win 8, in both i have the same behavior. Hash c292b4e Check video https://youtu.be/iAlmA1neGFo

Neither 'Texture Sharpening' nor the OpenGL performance slider in nvidia-settings have an effect on this.

Neither 'Texture Sharpening' nor the OpenGL performance slider in nvidia-settings have an effect on this.

Here is with bones selection

https://youtu.be/7Er-Rcq3Z7A

Here is with bones selection https://youtu.be/7Er-Rcq3Z7A

@ideasman42, looking for suspicious commits between 2.75 and 2.76, I found this one:

53d73c51a7. There is a glEnable(GL_MULTISAMPLE) without a restore of the previous state, which seems wrong to me. I'm not sure if there actually exist conditions under which this will cause trouble, but maybe something like .blend thumbnail save.

There were also lots of changes to ghost though, so it might be there too.

@ideasman42, looking for suspicious commits between 2.75 and 2.76, I found this one: 53d73c51a7. There is a `glEnable(GL_MULTISAMPLE)` without a restore of the previous state, which seems wrong to me. I'm not sure if there actually exist conditions under which this will cause trouble, but maybe something like .blend thumbnail save. There were also lots of changes to ghost though, so it might be there too.

@Stan_Pancakes, does the problem happen after loading factory settings? It would be useful to know if perhaps some particular setting or addon is influencing this, besides the multisample setting.

@ErickNyanduKabongo, can you redo the problem in the original bug report? Can you redo the bugs you found in Blender 2.75, or do things work correctly there? It would be good to confirm if what you are seeing is actually the same bug.

@Stan_Pancakes, does the problem happen after loading factory settings? It would be useful to know if perhaps some particular setting or addon is influencing this, besides the multisample setting. @ErickNyanduKabongo, can you redo the problem in the original bug report? Can you redo the bugs you found in Blender 2.75, or do things work correctly there? It would be good to confirm if what you are seeing is actually the same bug.

@brecht, yes, it's factory settings. In fact, the video was recorded with factory settings as well. Sorry, I should have stated that more clearly to begin with.

@brecht, yes, it's factory settings. In fact, the video was recorded with factory settings as well. Sorry, I should have stated that more clearly to begin with.

@ErickNyanduKabongo, regarding lasso masking, AFAIK it always behaved this way: mask lasso always masks both front- and backfacing polygons, and with symmetry enabled, this results in what you show in your video.

The bone selection you're showing is also normal: selecting whole bone selects both its head and tail (and vice-versa). So, when you select the upper bone, its head is selected (which is also the head of middle bone). Then you select the lower bone, and its head gets selected (which is also the tail of middle bone). Thus, after selecting both of those bones, both the head and tail of middle bone are selected, so it's selected as well.

@ErickNyanduKabongo, regarding lasso masking, AFAIK it always behaved this way: mask lasso always masks both front- and backfacing polygons, and with symmetry enabled, this results in what you show in your video. The bone selection you're showing is also normal: selecting whole bone selects both its head and tail (and vice-versa). So, when you select the upper bone, its head is selected (which is also the head of middle bone). Then you select the lower bone, and its head gets selected (which is also the tail of middle bone). Thus, after selecting both of those bones, both the head and tail of middle bone are selected, so it's selected as well.

@brecht, now I couldn't redo the same behavior like op did. I remember I did reproduce something similar in my own old build and it is gone. The behavior comes randomly.

@Stan_Pancakes You are right i tried old Blender version, mask in sculpt mode and bone selection is like buggy normal behavior, my bad. :( One more thing that pushed me to show the video is the quick select and deselect that happen in my video about 23 sec, it is the same as photox showed in BA post#7. Probably it is an other problem here.

@brecht, now I couldn't redo the same behavior like op did. I remember I did reproduce something similar in my own old build and it is gone. The behavior comes randomly. @Stan_Pancakes You are right i tried old Blender version, mask in sculpt mode and bone selection is like buggy normal behavior, my bad. :( One more thing that pushed me to show the video is the quick select and deselect that happen in my video about 23 sec, it is the same as photox showed in BA post#7. Probably it is an other problem here.

Another update: on my system, but with a much older driver (340.96) the behaviour is still the same.

Another update: on my system, but with a much older driver (340.96) the behaviour is still the same.

In #47204#355505, @brecht wrote:
@ideasman42, looking for suspicious commits between 2.75 and 2.76, I found this one:

53d73c51a7. There is a glEnable(GL_MULTISAMPLE) without a restore of the previous state, which seems wrong to me. I'm not sure if there actually exist conditions under which this will cause trouble, but maybe something like .blend thumbnail save.

Double checked and this commit wasn't in any of the 2.76 releases (timelines overlap, but wasn't merged into release branch).

The multi-sample state is stored/restored by glPushAttrib(GL_ENABLE_BIT...), which is popped on un-binding, and will restore the multi-sample state.

> In #47204#355505, @brecht wrote: > @ideasman42, looking for suspicious commits between 2.75 and 2.76, I found this one: > > 53d73c51a7. There is a `glEnable(GL_MULTISAMPLE)` without a restore of the previous state, which seems wrong to me. I'm not sure if there actually exist conditions under which this will cause trouble, but maybe something like .blend thumbnail save. Double checked and this commit wasn't in any of the 2.76 releases *(timelines overlap, but wasn't merged into release branch)*. The multi-sample state is stored/restored by `glPushAttrib(GL_ENABLE_BIT...)`, which is popped on un-binding, and will restore the multi-sample state.

@ErickNyanduKabongo, Please submit a new bug report with a file that has problems selecting armatures - its quite likely these bugs are unrelated.

@ErickNyanduKabongo, Please submit a new bug report with a file that has problems selecting armatures - its quite likely these bugs are unrelated.

In #47204#354307, @Stan_Pancakes wrote:
If the driver was giving a multi-sampled buffer, wouldn't the resulting image reflect that? Perhaps it's not clear in the video, but there's no AA in viewport.

Not necessarily, I've found with nvidia drivers on Linux - Blender disables multi-sampling which shows without any visible FSAA, but still causes problems with selection.

> In #47204#354307, @Stan_Pancakes wrote: > If the driver was giving a multi-sampled buffer, wouldn't the resulting image reflect that? Perhaps it's not clear in the video, but there's no AA in viewport. Not necessarily, I've found with nvidia drivers on Linux - Blender disables multi-sampling which shows without any visible FSAA, but still causes problems with selection.

@ideasman42, I've verified your suggestion. In all my test cases, I did Load Factory Settings in a Blender session that first loads my defaults (multisampling on, etc). I made a clean setup (removed startup.blend and userpref.blend), and the problem doesn't occur with it.

So, given the above, the actual reproduction route is:

  1. Enable multisampling and save user preferences
  2. Restart Blender (so that multisampling is actually enabled)
  3. Load Factory Settings (or just disable multisampling)
  4. Zoom out with mouse wheel two clicks
  5. Edit mode, try to box/circle select vertices on the top edge of the nearest face - vertices in the opposing corners also get selected.

This doesn't happen in wireframe view, or with Limit Selection to Visible disabled.

Tested with two GPUs: GTS450 and GTX560, and two driver versions: 340.96 and 355.11. In all combinations the selection behaviour is the same.
The problem did not occur in 2.75a because for that version my user preferences don't have multisampling enabled by default, I've just verified that it does reproduce the issue as per steps above.
However, just to make sure, I went further back and tested with 2.74, and on that version, I cannot reproduce the problem at all.

If this is indeed a Linux driver issue then this particular problem should be documented somewhere (since people use Load Factory Settings to verify issues, it's pretty bad if it actually introduces a problem). I could do this if someone would point me in the right direction. Wiki?

@ideasman42, I've verified your suggestion. In all my test cases, I did Load Factory Settings in a Blender session that first loads my defaults (multisampling on, etc). I made a clean setup (removed startup.blend and userpref.blend), and the problem doesn't occur with it. So, given the above, the actual reproduction route is: 1. Enable multisampling and save user preferences 2. Restart Blender (so that multisampling is actually enabled) 3. Load Factory Settings (or just disable multisampling) 4. Zoom out with mouse wheel two clicks 5. Edit mode, try to box/circle select vertices on the top edge of the nearest face - vertices in the opposing corners also get selected. This doesn't happen in wireframe view, or with Limit Selection to Visible disabled. Tested with two GPUs: GTS450 and GTX560, and two driver versions: 340.96 and 355.11. In all combinations the selection behaviour is the same. The problem did not occur in 2.75a because for that version my user preferences don't have multisampling enabled by default, I've just verified that it does reproduce the issue as per steps above. However, just to make sure, I went further back and tested with **2.74**, and on that version, I cannot reproduce the problem at all. If this is indeed a Linux driver issue then this particular problem should be documented somewhere (since people use Load Factory Settings to verify issues, it's pretty bad if it actually introduces a problem). I could do this if someone would point me in the right direction. Wiki?

This issue was referenced by 6081f6c387

This issue was referenced by 6081f6c3870718660e984da3fbfcd44c55abcc20

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Ok, if that's the issue then it should be fixed now, thanks for tracking this down.

Ok, if that's the issue then it should be fixed now, thanks for tracking this down.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#47204
No description provided.