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: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0711870440==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 371256E14E for ; Sat, 25 Jul 2015 07:33:27 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0711870440== Content-Type: multipart/alternative; boundary="1437834807.8fBe85d50.27379"; charset="UTF-8" --1437834807.8fBe85d50.27379 Date: Sat, 25 Jul 2015 14:33:27 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" 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@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 -- You are receiving this mail because: You are the assignee for the bug. --1437834807.8fBe85d50.27379 Date: Sat, 25 Jul 2015 14:33:27 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
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


You are receiving this mail because:
  • You are the assignee for the bug.
--1437834807.8fBe85d50.27379-- --===============0711870440== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK --===============0711870440==--