From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 93594] Flickering Shadows in The Talos Principle
Date: Wed, 17 Feb 2016 21:12:29 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0404455619=="
Return-path:
Received: from culpepper.freedesktop.org (culpepper.freedesktop.org
[131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id 071A589F53
for ; Wed, 17 Feb 2016 21:12:32 +0000 (UTC)
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
--===============0404455619==
Content-Type: multipart/alternative; boundary="14557435500.E96Fc35d8.12017";
charset="UTF-8"
--14557435500.E96Fc35d8.12017
Date: Wed, 17 Feb 2016 21:12:30 +0000
MIME-Version: 1.0
Content-Type: text/plain
https://bugs.freedesktop.org/show_bug.cgi?id=93594
--- Comment #12 from Roland Scheidegger ---
(In reply to Marek Olšák from comment #10)
> The GLSL shader is using discard followed by fwidth. This is undefined
> behavior.
>
> Therefore, it's an application bug.
I wasn't aware of this difference, but seeing this bug made me suspicious, and
indeed d3d10 is saying for discard:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh446968%28v=vs.85%29.aspx
"This instruction flags the current pixel as terminated, while continuing
execution, so that other pixels executing in parallel may obtain derivatives if
necessary. Even though execution continues, all Pixel Shader output writes
before or after the discard instruction are discarded."
That's very interesting...
gallium docs don't actually say anything about this neither naturally. (I think
it should work in llvmpipe, because indeed we only update the pixel alive
mask.)
Due to d3d10 being different there, I wouldn't be surprised if other apps make
the same mistake.
--
You are receiving this mail because:
You are the assignee for the bug.
--14557435500.E96Fc35d8.12017
Date: Wed, 17 Feb 2016 21:12:30 +0000
MIME-Version: 1.0
Content-Type: text/html
Comment # 12
on bug 93594
from Roland Scheidegger
(In reply to Marek Olšák from comment #10)
> The GLSL shader is using discard followed by fwidth. This is undefined
> behavior.
>
> Therefore, it's an application bug.
I wasn't aware of this difference, but seeing this bug made me suspicious, and
indeed d3d10 is saying for discard:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh446968%28v=vs.85%29.aspx
"This instruction flags the current pixel as terminated, while continuing
execution, so that other pixels executing in parallel may obtain derivatives if
necessary. Even though execution continues, all Pixel Shader output writes
before or after the discard instruction are discarded."
That's very interesting...
gallium docs don't actually say anything about this neither naturally. (I think
it should work in llvmpipe, because indeed we only update the pixel alive
mask.)
Due to d3d10 being different there, I wouldn't be surprised if other apps make
the same mistake.
You are receiving this mail because:
- You are the assignee for the bug.
--14557435500.E96Fc35d8.12017--
--===============0404455619==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz
dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==
--===============0404455619==--