Extra ghost edge per ngon in UV editor on Intel HD gfx #60762

Closed
opened 2019-01-22 19:59:33 +01:00 by Celeste Wouters · 8 comments

System Information
Arch Linux

  • Linux 4.20.2-1-ck-ivybridge
  • Intel i5-3317U w/ Intel HD4000 / i915 Ivybridge
    • Mesa 18.3.1
    • xf86-video-intel 1:2.99.917+855+g746ab3bb
    • GL_VERSION: 3.0 Mesa 18.3.1
  • nvidia GeForce 740M
    • bumblebee 3.2.1
    • Proprietary nvidia 415.25
    • GL_VERSION: 4.6.0 NVIDIA 415.25

Blender Version
Broken: a712fbda6a to a6e6ad0756 at least

Short description of error
When running on Intel HD / i915, UV editor shows an extra edge per ngon going from any of their edges to (0, 0)

Screenshot_2019-01-22_19-49-50.png

There is nothing at (0, 0), no point can be selected.

Running on nvidia gives correct output:

Screenshot_2019-01-22_19-53-26.png

Exact steps for others to reproduce the error

  1. Open any file with a UV-mapped object
  2. Go into edit mode
  3. Open UV editor

This is probably due to an incorrect GL buffer item count in the draw commands, or a bug with the vertex assembly mode used to draw the points and edges in the driver.

**System Information** Arch Linux * Linux 4.20.2-1-ck-ivybridge * Intel i5-3317U w/ Intel HD4000 / i915 Ivybridge * Mesa 18.3.1 * xf86-video-intel 1:2.99.917+855+g746ab3bb * `GL_VERSION`: 3.0 Mesa 18.3.1 * nvidia GeForce 740M * bumblebee 3.2.1 * Proprietary nvidia 415.25 * `GL_VERSION`: 4.6.0 NVIDIA 415.25 **Blender Version** Broken: a712fbda6a17 to a6e6ad07563738b641c9df9e8c48ec0cf9342068 at least **Short description of error** When running on Intel HD / i915, UV editor shows an extra edge per ngon going from any of their edges to (0, 0) ![Screenshot_2019-01-22_19-49-50.png](https://archive.blender.org/developer/F6370284/Screenshot_2019-01-22_19-49-50.png) There is nothing at (0, 0), no point can be selected. Running on nvidia gives correct output: ![Screenshot_2019-01-22_19-53-26.png](https://archive.blender.org/developer/F6370381/Screenshot_2019-01-22_19-53-26.png) **Exact steps for others to reproduce the error** 1. Open *any* file with a UV-mapped object 1. Go into edit mode 1. Open UV editor This is probably due to an incorrect GL buffer item count in the draw commands, or a bug with the vertex assembly mode used to draw the points and edges in the driver.

Added subscriber: @ElementW

Added subscriber: @ElementW

After some digging it appears the driver chokes on primitive restart indices; the index buffer for the UV map of the default scene cube is
0 1 2 3 0 255 4 5 6 7 4 255 8 9 10 11 8 255 12 13 14 15 12 255 16 17 18 19 16 255 20 21 22 23 20 255 where 255 is set as restart marker.
The weird thing however is if I get the index buffer content (to get the data above) using glGetBufferSubData, restart markers start working correctly and ghost edges disappear. Will investigate further as this is very likely the sign of a driver bug.

After some digging it appears the driver chokes on primitive restart indices; the index buffer for the UV map of the default scene cube is `0 1 2 3 0 255 4 5 6 7 4 255 8 9 10 11 8 255 12 13 14 15 12 255 16 17 18 19 16 255 20 21 22 23 20 255` where `255` is set as restart marker. The weird thing however is if I get the index buffer content (to get the data above) using `glGetBufferSubData`, restart markers start working correctly and ghost edges disappear. Will investigate further as this is very likely the sign of a driver bug.
Member

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Jacques Lucke self-assigned this 2019-01-23 11:54:45 +01:00
Member

Blender 2.8 requires at least OpenGL 3.3.
Looks like your intel only supports OpenGL 3.0.

https://www.blender.org/download/requirements/

Blender 2.8 requires at least OpenGL 3.3. Looks like your intel only supports OpenGL 3.0. https://www.blender.org/download/requirements/

@JacquesLucke The reported GL_VERSION is wrong actually, it's the output given by glxinfo for a non-core context and Mesa (at least for Intel) acts conservatively when asking for a GL context and reports the lowest version possible matching the requested context settings, which here is 3.0. Asking for a core context yields 4.2 (Core Profile) Mesa 18.3.1 but all the required extensions up to 4.2 are still accessible with lower versions.

Forcing GL 3.[012] using MESA_GL_VERSION_OVERRIDE=3.x Blender refuses to run with a Blender requires a graphics driver with at least OpenGL 3.3 support. message anyway.

Keep that bug closed. It's definitely a problem on Mesa's side related to either buffer invalidation or GL state tracking when drawing with GL_LINE_STRIP.

@JacquesLucke The reported `GL_VERSION` is wrong actually, it's the output given by `glxinfo` for a non-core context and Mesa (at least for Intel) acts conservatively when asking for a GL context and reports the lowest version possible matching the requested context settings, which here is 3.0. Asking for a core context yields `4.2 (Core Profile) Mesa 18.3.1` but all the required extensions up to 4.2 are still accessible with lower versions. Forcing GL 3.[012] using `MESA_GL_VERSION_OVERRIDE=3.x` Blender refuses to run with a `Blender requires a graphics driver with at least OpenGL 3.3 support.` message anyway. Keep that bug closed. It's definitely a problem on Mesa's side related to either buffer invalidation or GL state tracking when drawing with `GL_LINE_STRIP`.

Added subscriber: @asimiklit

Added subscriber: @asimiklit

Hi all,

Could somebody re-check the issue with attached mesa patch and confirm if it helps?
v2 of 0001-i965-remit-index-buffer-state-on-prim_restart.enable.patch

Thanks,
Andrii.

Hi all, Could somebody re-check the issue with attached mesa patch and confirm if it helps? [v2 of 0001-i965-remit-index-buffer-state-on-prim_restart.enable.patch](https://archive.blender.org/developer/F6453069/v2_of_0001-i965-remit-index-buffer-state-on-prim_restart.enable.patch) Thanks, Andrii.
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
3 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#60762
No description provided.