[Bug 111267] [CM246] Flickering with multiple draw calls within the same graphics pipeline if a compute pipeline is present

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jul 31 13:46:09 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=111267

            Bug ID: 111267
           Summary: [CM246] Flickering with multiple draw calls within the
                    same graphics pipeline if a compute pipeline is
                    present
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Vulkan/intel
          Assignee: intel-3d-bugs at lists.freedesktop.org
          Reporter: dragly at cognite.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org
                CC: jason at jlekstrand.net

Created attachment 144918
  --> https://bugs.freedesktop.org/attachment.cgi?id=144918&action=edit
Zip file containing RenderDoc captures, a vktrace and two screenshots

During development of a Vulkan application in Rust, we have identified what
appears to be a graphics driver bug. The minimal example that reproduces this
is a simple application that does the following each frame:

- Start a compute pass
- Set the compute pipeline
- Dispatch the compute pass, which can even be an empty shader
- Start a render pass
- Set the render pipeline
- Draw a simple geometry with many instances (200k)
- Draw a simple geometry with two instances

The observed behavior is flickering of the two instances that are rendered last
between frames.

A workaround is to set the pipeline again after the first draw call. This will
remove the flickering.

I have attached two captures from RenderDoc of a good and a bad frame, where
the bad frame is missing the geometry (which causes the flickering). However,
upon loading both frames in RenderDoc again, the geometry is always shown -
indicating a possible driver bug.

I have also attached a vktrace, which on an affected machine reproduces the
flickering during a vkreplay. The flickering will also vary between replays.

Finally, I have attached two screenshots that illustrate the difference between
good and bad frames.

Source code to reproduce the issue can be found in the following branch of
gfx-rs/wgpu-rs:

https://github.com/dragly/wgpu-rs/tree/dragly/comp-issue

It can be tested by running

> cargo run --features vulkan --example cube

System information:

Machine: Dell XPS 15 9570
Chipset: CM246
OS/Distro: KDE Neon 5.16.4 (based on Ubuntu 18.04)

Output of version information commands:

> inxi -G -c0
Graphics:  Card-1: Intel Device 3e9b
           Card-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile]
           Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting (unloaded:
fbdev,vesa)
           Resolution: 3840x2160 at 60.00hz, 2560x1440 at 59.95hz
           OpenGL: renderer: Mesa DRI Intel UHD Graphics 630 (Coffeelake 3x8
GT2)
           version: 4.5 Mesa 19.2.0-devel (git-3a22a8b 2019-07-31
bionic-oibaf-ppa)

> pkg-config --modversion libdrm
2.4.99

> uname -r
4.15.0-55-generic

Note: I am currently running a more recent set of drivers to see if an update
would help, but the issue is also there for the default drivers that come with
Ubuntu 18.04.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20190731/f226f086/attachment.html>


More information about the intel-3d-bugs mailing list