From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 91461] gl_TessLevel* writes have no effect for all but the last
TCS invocation
Date: Sat, 25 Jul 2015 14:33:27 +0000
Message-ID:
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@lists.freedesktop.org
Reporter
daniel@constexpr.org
QA Contact
dri-devel@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