[Bug 91461] gl_TessLevel* writes have no effect for all but the last TCS invocation

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jul 25 07:33:27 PDT 2015


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

            Bug ID: 91461
           Summary: gl_TessLevel* writes have no effect for all but the
                    last TCS invocation
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: daniel at constexpr.org
        QA Contact: dri-devel at lists.freedesktop.org

The tessellator ignores all writes to gl_TessLevelInner and gl_TessLevelOuter
by the tessellation control shader except except those done by the last TCS
invocation (gl_InvocationID == patch output vertices - 1).

This results in no primitives being generated unless all entries of
gl_TessLevelOuter are written in that invocation (the 'initial' values seem to
be 0 for gl_TessLevelOuter and 1 for gl_TessLevelInner).

Additionally, barrier() does not synchronize changes to the gl_TessLevel*
between TCS invocations.

Neither of these problems can be reproduced with user-defined 'patch out'
variables - writes by any TCS invocation are visible in the evaluation shader
and barrier() makes them visible to the other TCS invocations.

GPU: Radeon HD 7950 (TAHITI)
Mesa: 10.7.0-devel (git-9deb614)
LLVM: r243203

-- 
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/20150725/7d216437/attachment.html>


More information about the dri-devel mailing list