From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 66067] Trine 2's fragment normal buffer is mixtextured on Radeon HD 6770 (Juniper) Date: Sun, 13 Sep 2015 20:02:45 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0048853278==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 47DAD6E580 for ; Sun, 13 Sep 2015 13:02:45 -0700 (PDT) In-Reply-To: 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 --===============0048853278== Content-Type: multipart/alternative; boundary="1442174565.a8B302.6847"; charset="UTF-8" --1442174565.a8B302.6847 Date: Sun, 13 Sep 2015 20:02:45 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://bugs.freedesktop.org/show_bug.cgi?id=66067 --- Comment #31 from Daniel Scharrer --- I have found another game that hits this: he Book of Unwritten Tales: The Critter Chronicles. Again, my workaround works for me. Unlike Trine however, this game ships its Cg shader sources as plain text files. Changing the tex2Dproj() calls to use the correct overload by replacing "tex2Dproj(cookieMap, IN.LightSpacePos)" with "tex2Dproj(cookieMap, IN.LightSpacePos.xyw)" in kAGE_phong.cgfx and kAGE_phong_simple.cgfx fixes it for me. I've sent an email to the developer so hopefully this will be fixed in the game. Meanwhile Trine is still broken on radeonsi. Since it works with fglrx, do we know how it handles mismatched GL_TEXTURE_COMPARE_MODE and sampler in the shader? > I suspect that the Cg compiler always compiles tex2Dproj to a TEX instruction with the SHADOW2D target and relies on OpenGL implementations always transparently using normal sampling on non-depth non-stencil textures. It selects between the 2D and SHADOW2D samplers based on the number of components in the coordinate vector. This matches the documentation [1] which, unlike the tutorial you quoted, makes no mention of the shadow test depending on the texture format or compare mode. [1] http://http.developer.nvidia.com/Cg/tex2Dproj.html -- You are receiving this mail because: You are the assignee for the bug. --1442174565.a8B302.6847 Date: Sun, 13 Sep 2015 20:02:45 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"

Comment # 31 on bug 66067 from
I have found another game that hits this: he Book of Unwritten Tales: The
Critter Chronicles. Again, my workaround works for me. Unlike Trine however,
this game ships its Cg shader sources as plain text files.

Changing the tex2Dproj() calls to use the correct overload by replacing
"tex2Dproj(cookieMap, IN.LightSpacePos)" with "tex2Dproj(cookieMap,
IN.LightSpacePos.xyw)" in kAGE_phong.cgfx and kAGE_phong_simple.cgfx fixes it
for me. I've sent an email to the developer so hopefully this will be fixed in
the game.

Meanwhile Trine is still broken on radeonsi. Since it works with fglrx, do we
know how it handles mismatched GL_TEXTURE_COMPARE_MODE and sampler in the
shader?

> I suspect that the Cg compiler always compiles tex2Dproj to a TEX instruction with the SHADOW2D target and relies on OpenGL implementations always transparently using normal sampling on non-depth non-stencil textures.

It selects between the 2D and SHADOW2D samplers based on the number of
components in the coordinate vector. This matches the documentation [1] which,
unlike the tutorial you quoted, makes no mention of the shadow test depending
on the texture format or compare mode.

[1] http://http.developer.nvidia.com/Cg/tex2Dproj.html


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