[Bug 93761] A conditional discard in a fragment shader causes no depth writing at all

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jan 18 10:08:25 PST 2016


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

            Bug ID: 93761
           Summary: A conditional discard in a fragment shader causes no
                    depth writing at all
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: jlegg at feralinteractive.com
        QA Contact: dri-devel at lists.freedesktop.org

Created attachment 121116
  --> https://bugs.freedesktop.org/attachment.cgi?id=121116&action=edit
Test case

When rendering to an FBO with only a GL_DEPTH_COMPONENT16 depth buffer, with
depth testing enabled, if a fragment shader has a conditional discard, nothing
is written to the depth buffer for pixels which should not be discarded.

Platform: Fedora 22 x86_64
Mesa version: tested both git eaf7ec9 (from griever-mesa-git copr) and 10.6.9
(the default mesa package with Fedora 22). The bug occurred on both.
GL Renderer string: Gallium 0.4 on AMD PITCAIRN (DRM 2.43.0, LLVM 3.7.1)
GPU: AMD R9 270 with 2GB VRAM

Workaround: If you write to gl_FragDepth, only the intentionally discarded
pixels are discarded.

I've attached a test case demonstrating the problem. It will fail an assertion
on the machine with this bug. It should draw only on the even columns of pixels
in the depth buffer, but nothing is drawn.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20160118/93c8a274/attachment.html>


More information about the dri-devel mailing list