From: Marcin Slusarz <marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [PATCH] nv30/exa: fix shaders on big-endian machines
Date: Sun, 3 Feb 2013 21:12:46 +0100 [thread overview]
Message-ID: <20130203201246.GA3138@joi.lan> (raw)
Direct port of commit d1bc38b6673c54af61196056c489383fba8dced8
"nv40/exa: fix shaders on big-endian machines" to nv30.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=60050
---
src/nv30_exa.c | 272 ++++++++++++++++++++++++++++-----------------------------
1 file changed, 136 insertions(+), 136 deletions(-)
diff --git a/src/nv30_exa.c b/src/nv30_exa.c
index 95509bc..21586e9 100644
--- a/src/nv30_exa.c
+++ b/src/nv30_exa.c
@@ -820,146 +820,146 @@ NVAccelInitNV30TCL(ScrnInfoPtr pScrn)
PUSH_DATA (push, 4096<<16);
PUSH_DATAu(push, pNv->scratch, PFP_PASS, 2 * 4);
- PUSH_DATA (push, 0x18009e80); /* txph r0, a[tex0], t[0] */
- PUSH_DATA (push, 0x1c9dc801);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x3fe1c800);
- PUSH_DATA (push, 0x1802be83); /* txph r1, a[tex1], t[1] */
- PUSH_DATA (push, 0x1c9dc801); /* exit */
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x3fe1c800);
+ PUSH_DATAs(push, 0x18009e80); /* txph r0, a[tex0], t[0] */
+ PUSH_DATAs(push, 0x1c9dc801);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x3fe1c800);
+ PUSH_DATAs(push, 0x1802be83); /* txph r1, a[tex1], t[1] */
+ PUSH_DATAs(push, 0x1c9dc801); /* exit */
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x3fe1c800);
PUSH_DATAu(push, pNv->scratch, PFP_NV12_BILINEAR, 8 * 4);
- PUSH_DATA (push, 0x17028200); /* texr r0.x, a[tex0], t[1] */
- PUSH_DATA (push, 0x1c9dc801);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x3fe1c800);
- PUSH_DATA (push, 0x04000e02); /* madr r1.xyz, r0.x, imm.x, imm.yzww */
- PUSH_DATA (push, 0x1c9c0000);
- PUSH_DATA (push, 0x00000002);
- PUSH_DATA (push, 0x0001f202);
- PUSH_DATA (push, 0x3f9507c8); /* { 1.16, -0.87, 0.53, -1.08 } */
- PUSH_DATA (push, 0xbf5ee393);
- PUSH_DATA (push, 0x3f078fef);
- PUSH_DATA (push, 0xbf8a6762);
- PUSH_DATA (push, 0x1704ac80); /* texr r0.yz, a[tex1], t[2] */
- PUSH_DATA (push, 0x1c9dc801);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x3fe1c800);
- PUSH_DATA (push, 0x04000e02); /* madr r1.xyz, r0.y, imm, r1 */
- PUSH_DATA (push, 0x1c9cab00);
- PUSH_DATA (push, 0x0001c802);
- PUSH_DATA (push, 0x0001c804);
- PUSH_DATA (push, 0x00000000); /* { 0.00, -0.39, 2.02, 0.00 } */
- PUSH_DATA (push, 0xbec890d6);
- PUSH_DATA (push, 0x40011687);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x04000e81); /* madr r0.xyz, r0.z, imm, r1 */
- PUSH_DATA (push, 0x1c9d5500);
- PUSH_DATA (push, 0x0001c802);
- PUSH_DATA (push, 0x0001c804);
- PUSH_DATA (push, 0x3fcc432d); /* { 1.60, -0.81, 0.00, 0.00 } */
- PUSH_DATA (push, 0xbf501a37);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x00000000);
+ PUSH_DATAs(push, 0x17028200); /* texr r0.x, a[tex0], t[1] */
+ PUSH_DATAs(push, 0x1c9dc801);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x3fe1c800);
+ PUSH_DATAs(push, 0x04000e02); /* madr r1.xyz, r0.x, imm.x, imm.yzww */
+ PUSH_DATAs(push, 0x1c9c0000);
+ PUSH_DATAs(push, 0x00000002);
+ PUSH_DATAs(push, 0x0001f202);
+ PUSH_DATAs(push, 0x3f9507c8); /* { 1.16, -0.87, 0.53, -1.08 } */
+ PUSH_DATAs(push, 0xbf5ee393);
+ PUSH_DATAs(push, 0x3f078fef);
+ PUSH_DATAs(push, 0xbf8a6762);
+ PUSH_DATAs(push, 0x1704ac80); /* texr r0.yz, a[tex1], t[2] */
+ PUSH_DATAs(push, 0x1c9dc801);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x3fe1c800);
+ PUSH_DATAs(push, 0x04000e02); /* madr r1.xyz, r0.y, imm, r1 */
+ PUSH_DATAs(push, 0x1c9cab00);
+ PUSH_DATAs(push, 0x0001c802);
+ PUSH_DATAs(push, 0x0001c804);
+ PUSH_DATAs(push, 0x00000000); /* { 0.00, -0.39, 2.02, 0.00 } */
+ PUSH_DATAs(push, 0xbec890d6);
+ PUSH_DATAs(push, 0x40011687);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x04000e81); /* madr r0.xyz, r0.z, imm, r1 */
+ PUSH_DATAs(push, 0x1c9d5500);
+ PUSH_DATAs(push, 0x0001c802);
+ PUSH_DATAs(push, 0x0001c804);
+ PUSH_DATAs(push, 0x3fcc432d); /* { 1.60, -0.81, 0.00, 0.00 } */
+ PUSH_DATAs(push, 0xbf501a37);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x00000000);
PUSH_DATAu(push, pNv->scratch, PFP_NV12_BICUBIC, 24 * 4);
- PUSH_DATA (push, 0x01008604); /* movr r2.xy, a[tex0] */
- PUSH_DATA (push, 0x1c9dc801);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x03000600); /* addr r0.xy, r2, imm.x */
- PUSH_DATA (push, 0x1c9dc808);
- PUSH_DATA (push, 0x00000002);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x3f000000); /* { 0.50, 0.00, 0.00, 0.00 } */
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x17000e06); /* texr r3.xyz, r0, t[0] */
- PUSH_DATA (push, 0x1c9dc800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x17000e00); /* texr r0.xyz, r0.y, t[0] */
- PUSH_DATA (push, 0x1c9caa00);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x02000a02); /* mulr r1.xz, r3.xxyy, imm.xxyy */
- PUSH_DATA (push, 0x1c9ca00c);
- PUSH_DATA (push, 0x0000a002);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0xbf800000); /* { -1.00, 1.00, 0.00, 0.00 } */
- PUSH_DATA (push, 0x3f800000);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x02001402); /* mulr r1.yw, r0.xxyy, imm.xxyy */
- PUSH_DATA (push, 0x1c9ca000);
- PUSH_DATA (push, 0x0000a002);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0xbf800000); /* { -1.00, 1.00, 0.00, 0.00 } */
- PUSH_DATA (push, 0x3f800000);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x03001e04); /* addr r2, r2.xyxy, r1 */
- PUSH_DATA (push, 0x1c9c8808);
- PUSH_DATA (push, 0x0001c804);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x17020200); /* texr r0.x, r2, t[1] */
- PUSH_DATA (push, 0x1c9dc808);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x17020402); /* texr r1.y, r2.xwxw, t[1] */
- PUSH_DATA (push, 0x1c9d9808);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x17020202); /* texr r1.x, r2.zyxy, t[1] */
- PUSH_DATA (push, 0x1c9c8c08);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x1f400280); /* lrph r0.x, r0.z, r0, r1.y */
- PUSH_DATA (push, 0x1c9d5400);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0000aa04);
- PUSH_DATA (push, 0x17020400); /* texr r0.y, r2.zwzz, t[1] */
- PUSH_DATA (push, 0x1c9d5c08);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x1f400480); /* lrph r0.y, r0.z, r1.x, r0 */
- PUSH_DATA (push, 0x1c9d5400);
- PUSH_DATA (push, 0x00000004);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x1f400280); /* lrph r0.x, r3.z, r0, r0.y */
- PUSH_DATA (push, 0x1c9d540c);
- PUSH_DATA (push, 0x0001c900);
- PUSH_DATA (push, 0x0000ab00);
- PUSH_DATA (push, 0x04400e80); /* madh r0.xyz, r0.x, imm.x, imm.yzww */
- PUSH_DATA (push, 0x1c9c0100);
- PUSH_DATA (push, 0x00000002);
- PUSH_DATA (push, 0x0001f202);
- PUSH_DATA (push, 0x3f9507c8); /* { 1.16, -0.87, 0.53, -1.08 } */
- PUSH_DATA (push, 0xbf5ee393);
- PUSH_DATA (push, 0x3f078fef);
- PUSH_DATA (push, 0xbf8a6762);
- PUSH_DATA (push, 0x1704ac02); /* texr r1.yz, a[tex1], t[2] */
- PUSH_DATA (push, 0x1c9dc801);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x0001c800);
- PUSH_DATA (push, 0x04400e80); /* madh r0.xyz, r1.y, imm, r0 */
- PUSH_DATA (push, 0x1c9caa04);
- PUSH_DATA (push, 0x0001c802);
- PUSH_DATA (push, 0x0001c900);
- PUSH_DATA (push, 0x00000000); /* { 0.00, -0.39, 2.02, 0.00 } */
- PUSH_DATA (push, 0xbec890d6);
- PUSH_DATA (push, 0x40011687);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x04400e81); /* madh r0.xyz, r1.z, imm, r0 */
- PUSH_DATA (push, 0x1c9d5404);
- PUSH_DATA (push, 0x0001c802);
- PUSH_DATA (push, 0x0001c900);
- PUSH_DATA (push, 0x3fcc432d); /* { 1.60, -0.81, 0.00, 0.00 } */
- PUSH_DATA (push, 0xbf501a37);
- PUSH_DATA (push, 0x00000000);
- PUSH_DATA (push, 0x00000000);
+ PUSH_DATAs(push, 0x01008604); /* movr r2.xy, a[tex0] */
+ PUSH_DATAs(push, 0x1c9dc801);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x03000600); /* addr r0.xy, r2, imm.x */
+ PUSH_DATAs(push, 0x1c9dc808);
+ PUSH_DATAs(push, 0x00000002);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x3f000000); /* { 0.50, 0.00, 0.00, 0.00 } */
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x17000e06); /* texr r3.xyz, r0, t[0] */
+ PUSH_DATAs(push, 0x1c9dc800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x17000e00); /* texr r0.xyz, r0.y, t[0] */
+ PUSH_DATAs(push, 0x1c9caa00);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x02000a02); /* mulr r1.xz, r3.xxyy, imm.xxyy */
+ PUSH_DATAs(push, 0x1c9ca00c);
+ PUSH_DATAs(push, 0x0000a002);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0xbf800000); /* { -1.00, 1.00, 0.00, 0.00 } */
+ PUSH_DATAs(push, 0x3f800000);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x02001402); /* mulr r1.yw, r0.xxyy, imm.xxyy */
+ PUSH_DATAs(push, 0x1c9ca000);
+ PUSH_DATAs(push, 0x0000a002);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0xbf800000); /* { -1.00, 1.00, 0.00, 0.00 } */
+ PUSH_DATAs(push, 0x3f800000);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x03001e04); /* addr r2, r2.xyxy, r1 */
+ PUSH_DATAs(push, 0x1c9c8808);
+ PUSH_DATAs(push, 0x0001c804);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x17020200); /* texr r0.x, r2, t[1] */
+ PUSH_DATAs(push, 0x1c9dc808);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x17020402); /* texr r1.y, r2.xwxw, t[1] */
+ PUSH_DATAs(push, 0x1c9d9808);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x17020202); /* texr r1.x, r2.zyxy, t[1] */
+ PUSH_DATAs(push, 0x1c9c8c08);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x1f400280); /* lrph r0.x, r0.z, r0, r1.y */
+ PUSH_DATAs(push, 0x1c9d5400);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0000aa04);
+ PUSH_DATAs(push, 0x17020400); /* texr r0.y, r2.zwzz, t[1] */
+ PUSH_DATAs(push, 0x1c9d5c08);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x1f400480); /* lrph r0.y, r0.z, r1.x, r0 */
+ PUSH_DATAs(push, 0x1c9d5400);
+ PUSH_DATAs(push, 0x00000004);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x1f400280); /* lrph r0.x, r3.z, r0, r0.y */
+ PUSH_DATAs(push, 0x1c9d540c);
+ PUSH_DATAs(push, 0x0001c900);
+ PUSH_DATAs(push, 0x0000ab00);
+ PUSH_DATAs(push, 0x04400e80); /* madh r0.xyz, r0.x, imm.x, imm.yzww */
+ PUSH_DATAs(push, 0x1c9c0100);
+ PUSH_DATAs(push, 0x00000002);
+ PUSH_DATAs(push, 0x0001f202);
+ PUSH_DATAs(push, 0x3f9507c8); /* { 1.16, -0.87, 0.53, -1.08 } */
+ PUSH_DATAs(push, 0xbf5ee393);
+ PUSH_DATAs(push, 0x3f078fef);
+ PUSH_DATAs(push, 0xbf8a6762);
+ PUSH_DATAs(push, 0x1704ac02); /* texr r1.yz, a[tex1], t[2] */
+ PUSH_DATAs(push, 0x1c9dc801);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x0001c800);
+ PUSH_DATAs(push, 0x04400e80); /* madh r0.xyz, r1.y, imm, r0 */
+ PUSH_DATAs(push, 0x1c9caa04);
+ PUSH_DATAs(push, 0x0001c802);
+ PUSH_DATAs(push, 0x0001c900);
+ PUSH_DATAs(push, 0x00000000); /* { 0.00, -0.39, 2.02, 0.00 } */
+ PUSH_DATAs(push, 0xbec890d6);
+ PUSH_DATAs(push, 0x40011687);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x04400e81); /* madh r0.xyz, r1.z, imm, r0 */
+ PUSH_DATAs(push, 0x1c9d5404);
+ PUSH_DATAs(push, 0x0001c802);
+ PUSH_DATAs(push, 0x0001c900);
+ PUSH_DATAs(push, 0x3fcc432d); /* { 1.60, -0.81, 0.00, 0.00 } */
+ PUSH_DATAs(push, 0xbf501a37);
+ PUSH_DATAs(push, 0x00000000);
+ PUSH_DATAs(push, 0x00000000);
return TRUE;
}
--
1.8.1
reply other threads:[~2013-02-03 20:12 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130203201246.GA3138@joi.lan \
--to=marcin.slusarz-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.