From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 97988] [radeonsi] playing back videos with VDPAU exhibits deinterlacing/anti-aliasing issues not visible with VA-API Date: Mon, 03 Oct 2016 17:29:38 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0959673957==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id F0D586E58F for ; Mon, 3 Oct 2016 17:29:37 +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 --===============0959673957== Content-Type: multipart/alternative; boundary="14755157770.CDE62Ede.13667"; charset="UTF-8" --14755157770.CDE62Ede.13667 Date: Mon, 3 Oct 2016 17:29:37 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D97988 --- Comment #12 from Tom Stellard --- (In reply to Marek Ol=C5=A1=C3=A1k from comment #11) > Thanks Grigori. >=20 > GLSL: > color =3D fract(gl_FragCoord.y / 2) < 0.5 ? > texture(texture0, texcoord0) : > texture(texture1, texcoord0); >=20 > texture0 and texture1 are SMEM loads. >=20 > LLVM (SimplifyCFG) transforms it to: > color =3D texture(fract(gl_FragCoord.y / 2) < 0.5 ? texture0 : texture1, > texcoord0); >=20 > That's a nice transformation. You don't have to use 2 SMEM loads, you can > just use one SMEM load depending on the result of the condition. >=20 > The problem is gl_FragCoord.y is a VGPR and texture0/1 are SGPRs, therefo= re > flat VMEM loads are used to load the descriptors. However, image_sample > requires descriptors in SGPRs, so v_readfirstlane is used. That effective= ly > uses the result of the condition from the first active lane, discarding t= he > results from all other lanes. The result would be exactly the same if the > compiler did: v_readfirstlane s0, gl_FragCoord.y; >=20 > The test case seems pretty trivial I wonder how many other apps are affec= ted. I think the best solution here would be to teach the backend how to do a sc= alar select based on value of vccz. --=20 You are receiving this mail because: You are the assignee for the bug.= --14755157770.CDE62Ede.13667 Date: Mon, 3 Oct 2016 17:29:37 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Commen= t # 12 on bug 97988<= /a> from Tom Stellard
(In reply to Marek Ol=C5=A1=C3=A1k from comment #11)
> Thanks Grigori.
>=20
> GLSL:
>   color =3D fract(gl_FragCoord.y / 2) < 0.5 ?
>              texture(texture0, texcoord0) :
>              texture(texture1, texcoord0);
>=20
> texture0 and texture1 are SMEM loads.
>=20
> LLVM (SimplifyCFG) transforms it to:
>   color =3D texture(fract(gl_FragCoord.y / 2) < 0.5 ? texture0 : te=
xture1,
>                   texcoord0);
>=20
> That's a nice transformation. You don't have to use 2 SMEM loads, you =
can
> just use one SMEM load depending on the result of the condition.
>=20
> The problem is gl_FragCoord.y is a VGPR and texture0/1 are SGPRs, ther=
efore
> flat VMEM loads are used to load the descriptors. However, image_sample
> requires descriptors in SGPRs, so v_readfirstlane is used. That effect=
ively
> uses the result of the condition from the first active lane, discardin=
g the
> results from all other lanes. The result would be exactly the same if =
the
> compiler did: v_readfirstlane s0, gl_FragCoord.y;
>=20
> The test case seems pretty trivial I wonder how many other apps are af=
fected.

I think the best solution here would be to teach the backend how to do a sc=
alar
select based on value of vccz.


You are receiving this mail because:
  • You are the assignee for the bug.
= --14755157770.CDE62Ede.13667-- --===============0959673957== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0959673957==--