Page MenuHome

Offset Edge Slide with Even option: random points on screen
Closed, ResolvedPublic

Description

System Information
Operating system: 5.3.8-arch1-1
Graphics card: GTX 980Ti

Blender Version
Broken: 2.8x (2.80-2.82 0bee94f920f9)

Short description of error

When the "Even" option for Offset Edge Slide is turned on, random points seem to be projected into scene as you move the mouse. There may be one or several, depending (it seems) on the viewing angle.

Demo video

Exact steps for others to reproduce the error

  1. Load the .blend
  2. Enter edit mode
  3. Activate Offset Edge Slide (default key ctrl+shift+r)
  4. Activate the "Even" option (e)
  5. Move the mouse

Depending on which edge was picked up by the operator for even slide, you may need to flip it (f)

Event Timeline

Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 50.Nov 7 2019, 12:12 PM

It is not garuanteed that this ctrl point [red dot] is actually drawing, so doing immBegin(GPU_PRIM_POINTS, 1) [when actually not drawing a point -- no immVertex3fv called] will result in:

blender: /blender/gpu/intern/gpu_immediate.c:363: immEnd: Assertion `imm.vertex_idx == imm.vertex_len' failed.

1  raise                                         0x7ffff1ae6e35 
2  abort                                         0x7ffff1ad1895 
3  __assert_fail_base.cold                       0x7ffff1ad1769 
4  __assert_fail                                 0x7ffff1adf566 
5  immEnd                   gpu_immediate.c 363  0x82a8c7f      
6  drawEdgeSlide            transform.c     7592 0x3e341c9      
7  drawTransformView        transform.c     2001 0x3e18e87      
8  ED_region_draw_cb_draw   spacetypes.c    277  0x3aaf7db      
9  DRW_draw_render_loop_ex  draw_manager.c  1716 0x3899b72      
10 DRW_draw_view            draw_manager.c  1575 0x3899559      
11 view3d_draw_view         view3d_draw.c   1539 0x3dd9386      
12 view3d_main_region_draw  view3d_draw.c   1563 0x3dd942b      
13 ED_region_do_draw        area.c          534  0x3ea0a5f      
14 wm_draw_window_offscreen wm_draw.c       629  0x3374ab0      
15 wm_draw_window           wm_draw.c       765  0x337502f      
16 wm_draw_update           wm_draw.c       947  0x3375607      
17 WM_main                  wm.c            423  0x3371478      
18 main                     creator.c       491  0x2d0cab6

Using immBeginAtMost(GPU_PRIM_POINTS, 1) instead fixes... Diff incoming...