From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 85376] Dolphin emulator has bad colors
Date: Tue, 11 Nov 2014 20:33:50 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1623023848=="
Return-path:
Received: from culpepper.freedesktop.org (unknown [131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id C703C891A4
for ; Tue, 11 Nov 2014 12:33:49 -0800 (PST)
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
--===============1623023848==
Content-Type: multipart/alternative; boundary="1415738029.D15b8a0.24685"; charset="UTF-8"
--1415738029.D15b8a0.24685
Date: Tue, 11 Nov 2014 20:33:49 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
https://bugs.freedesktop.org/show_bug.cgi?id=85376
--- Comment #10 from Ilia Mirkin ---
Some observations (from IRC, edited):
In shader 21 (from attachment 109303), we see the following:
MULLO_INT R5.x, [0x00000046 9.80909e-44].x, PV.x
MULLO_INT R5.y, [0x00000078 1.68156e-43].x, PV.x
that seems wrong
the second PV.x uses the newly computed R5.x, no?
instead of the previous R5.x before the mul happened
so the 2nd and 3rd components get the compounded multiplication
factor of .x and the respective .y and .z factor
Starting with the R5.x value returned by the ADD_INT, the
caluclation is: R5.y = ((R5.x *46) * 78); R5.z = (R5.x * 46) * 0xc8
6: UMUL TEMP[1].xyz, IMM[0].yzww, TEMP[1].xxxx
i'm guessing the thing that splits it up into 3 instructions forgets
that it's overwriting the source
cayman_mul_int_instr
cayman-specific, and doesn't do the tmp register dance
vs the "regular" umul implementation (op2_trans) which will use a temp register
if the dst mask has multiple dests. I wonder if all the cayman_* emit functions
need this treatment.
--
You are receiving this mail because:
You are the assignee for the bug.
--1415738029.D15b8a0.24685
Date: Tue, 11 Nov 2014 20:33:49 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Comment # 10
on bug 85376
from Ilia Mirkin
Some observations (from IRC, edited):
In shader 21 (from attachment 109303 [details]), we see the following:
<imirkin_> MULLO_INT R5.x, [0x00000046 9.80909e-44].x, PV.x
<imirkin_> MULLO_INT R5.y, [0x00000078 1.68156e-43].x, PV.x
<imirkin_> that seems wrong
<imirkin_> the second PV.x uses the newly computed R5.x, no?
<imirkin_> instead of the previous R5.x before the mul happened
<imirkin_> so the 2nd and 3rd components get the compounded multiplication
factor of .x and the respective .y and .z factor
<tstellar> Starting with the R5.x value returned by the ADD_INT, the
caluclation is: R5.y = ((R5.x *46) * 78); R5.z = (R5.x * 46) * 0xc8
<imirkin_> 6: UMUL TEMP[1].xyz, IMM[0].yzww, TEMP[1].xxxx
<imirkin_> i'm guessing the thing that splits it up into 3 instructions forgets
that it's overwriting the source
<imirkin_> cayman_mul_int_instr
<imirkin_> cayman-specific, and doesn't do the tmp register dance
vs the "regular" umul implementation (op2_trans) which will use a temp register
if the dst mask has multiple dests. I wonder if all the cayman_* emit functions
need this treatment.
You are receiving this mail because:
- You are the assignee for the bug.
--1415738029.D15b8a0.24685--
--===============1623023848==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0
cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK
--===============1623023848==--