From: Samuel Pitoiset Date: Tue, 27 Sep 2016 20:08:11 +0000 (+0200) Subject: nvc0: update GM107 sched control codes format X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=652874754a0afd0aefa16dd65afcf85842885945;p=mesa.git 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 Reviewed-by: Ilia Mirkin --- diff --git a/src/gallium/drivers/nouveau/codegen/lib/gm107.asm b/src/gallium/drivers/nouveau/codegen/lib/gm107.asm index 758cc81a159..67b98dac39c 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 e3532421a84..0d140587146 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 */ };