summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2016-09-27 22:08:11 +0200
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>2016-09-29 20:13:05 +0200
commit652874754a0afd0aefa16dd65afcf85842885945 (patch)
tree4eb1ab401ded5ee0b9ca6df7aed02ded6ac4446c
parente4b585f00954538a64d55daa6170507ee4f30126 (diff)
downloadexternal_mesa3d-652874754a0afd0aefa16dd65afcf85842885945.zip
external_mesa3d-652874754a0afd0aefa16dd65afcf85842885945.tar.gz
external_mesa3d-652874754a0afd0aefa16dd65afcf85842885945.tar.bz2
nvc0: update GM107 sched control codes format
envyas now uses a much better representation for those control codes and it displays the different flags instead of an unreadable hex number. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
-rw-r--r--src/gallium/drivers/nouveau/codegen/lib/gm107.asm42
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_surface.c4
2 files changed, 23 insertions, 23 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/lib/gm107.asm b/src/gallium/drivers/nouveau/codegen/lib/gm107.asm
index 758cc81..67b98da 100644
--- a/src/gallium/drivers/nouveau/codegen/lib/gm107.asm
+++ b/src/gallium/drivers/nouveau/codegen/lib/gm107.asm
@@ -11,39 +11,39 @@
// SIZE: 22 / 14 * 8 bytes
//
gm107_div_u32:
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
flo u32 $r2 $r1
lop xor 1 $r2 $r2 0x1f
mov $r3 0x1 0xf
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
shl $r2 $r3 $r2
i2i u32 u32 $r1 neg $r1
imul u32 u32 $r3 $r1 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imad u32 u32 hi $r2 $r2 $r3 $r2
imul u32 u32 $r3 $r1 $r2
imad u32 u32 hi $r2 $r2 $r3 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imul u32 u32 $r3 $r1 $r2
imad u32 u32 hi $r2 $r2 $r3 $r2
imul u32 u32 $r3 $r1 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imad u32 u32 hi $r2 $r2 $r3 $r2
imul u32 u32 $r3 $r1 $r2
imad u32 u32 hi $r2 $r2 $r3 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
mov $r3 $r0 0xf
imul u32 u32 hi $r0 $r0 $r2
i2i u32 u32 $r2 neg $r1
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imad u32 u32 $r1 $r1 $r0 $r3
isetp ge u32 and $p0 1 $r1 $r2 1
$p0 iadd $r1 $r1 neg $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
$p0 iadd $r0 $r0 0x1
$p0 isetp ge u32 and $p0 1 $r1 $r2 1
$p0 iadd $r1 $r1 neg $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
$p0 iadd $r0 $r0 0x1
ret
nop 0
@@ -55,47 +55,47 @@ gm107_div_u32:
// CLOBBER: $r2 - $r3, $p0 - $p3
//
gm107_div_s32:
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
isetp lt and $p2 0x1 $r0 0 1
isetp lt xor $p3 1 $r1 0 $p2
i2i s32 s32 $r0 abs $r0
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
i2i s32 s32 $r1 abs $r1
flo u32 $r2 $r1
lop xor 1 $r2 $r2 0x1f
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
mov $r3 0x1 0xf
shl $r2 $r3 $r2
i2i u32 u32 $r1 neg $r1
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imul u32 u32 $r3 $r1 $r2
imad u32 u32 hi $r2 $r2 $r3 $r2
imul u32 u32 $r3 $r1 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imad u32 u32 hi $r2 $r2 $r3 $r2
imul u32 u32 $r3 $r1 $r2
imad u32 u32 hi $r2 $r2 $r3 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imul u32 u32 $r3 $r1 $r2
imad u32 u32 hi $r2 $r2 $r3 $r2
imul u32 u32 $r3 $r1 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
imad u32 u32 hi $r2 $r2 $r3 $r2
mov $r3 $r0 0xf
imul u32 u32 hi $r0 $r0 $r2
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
i2i u32 u32 $r2 neg $r1
imad u32 u32 $r1 $r1 $r0 $r3
isetp ge u32 and $p0 1 $r1 $r2 1
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
$p0 iadd $r1 $r1 neg $r2
$p0 iadd $r0 $r0 0x1
$p0 isetp ge u32 and $p0 1 $r1 $r2 1
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
$p0 iadd $r1 $r1 neg $r2
$p0 iadd $r0 $r0 0x1
$p3 i2i s32 s32 $r0 neg $r0
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
$p2 i2i s32 s32 $r1 neg $r1
ret
nop 0
@@ -103,7 +103,7 @@ gm107_div_s32:
// STUB
gm107_rcp_f64:
gm107_rsq_f64:
- sched 0x7e0 0x7e0 0x7e0
+ sched (st 0x0) (st 0x0) (st 0x0)
ret
nop 0
nop 0
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
index e353242..0d14058 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
@@ -836,11 +836,11 @@ nvc0_blitter_make_vp(struct nvc0_blitter *blit)
};
static const uint32_t code_gm107[] =
{
- 0xfc0007e0, 0x001f8000, /* sched 0x7e0 0x7e0 0x7e0 */
+ 0xfc0007e0, 0x001f8000, /* sched (st 0x0) (st 0x0) (st 0x0) */
0x0807ff04, 0xefd8ff80, /* ld b64 $r4 a[0x80] 0x0 */
0x0907ff00, 0xefd97f80, /* ld b96 $r0 a[0x90] 0x0 */
0x0707ff04, 0xeff0ff80, /* st b64 a[0x70] $r4 0x0 */
- 0xfc0007e0, 0x00000000, /* sched 0x7e0 0x7e0 0x0 */
+ 0xfc0007e0, 0x00000000, /* sched (st 0x0) (st 0x0) (st 0x0) */
0x0807ff00, 0xeff17f80, /* st b96 a[0x80] $r0 0x0 */
0x0007000f, 0xe3000000, /* exit */
};