diff options
Diffstat (limited to 'reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-81.asm')
-rw-r--r-- | reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-81.asm | 83 |
1 files changed, 27 insertions, 56 deletions
diff --git a/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-81.asm b/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-81.asm index f46066a..df4bfc0 100644 --- a/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-81.asm +++ b/reference/0ad-cycladic-archipelago/0ad-cycladic-archipelago-81.asm @@ -2,65 +2,36 @@ ; FRAG: new compiler @in(r0.x) in0 @in(r0.y) in1 -@out(r2.x) out0 -@out(r2.y) out1 -@out(r2.z) out2 -@out(r2.w) out3 -(sy)(ss)bary.f r0.z, 1, r0.x -bary.f r0.w, 0, r0.x -bary.f (ei)r0.x, 2, r0.x +@out(r1.x) out0 +@out(r1.y) out1 +@out(r1.z) out2 +@out(r1.w) out3 +@const(c0.x) 0x3e800000, 0x40800000, 0x00000000, 0x00000000 +(sy)(ss)bary.f r0.w, 1, r0.x +bary.f r0.z, 0, r0.x +bary.f (ei)r1.x, 2, r0.x nop -add.f r0.y, c0.x, (neg)r0.z -mov.f32f32 r0.w, r0.w -cmps.f.lt r1.x, c0.z, r0.z -mov.f32f32 r0.x, r0.x -mul.f r0.y, r0.y, c0.y -mov.f32f32 r1.y, r0.w -mov.f32f32 r0.z, r0.z -cov.u32f32 r0.w, r1.x -mov.f32f32 r0.y, r0.y -mov.f32f32 r1.w, r0.x -mov.f32f32 r1.z, r0.z +add.f r0.x, c0.x, (neg)r0.w +cmps.f.lt r0.y, c0.z, r0.w +(rpt1)nop +mul.f r0.x, r0.x, c0.y +sam.3d (f32)(xyzw)r2.x, r0.z, s#0, t#0 +cov.u32f32 r0.y, r0.y +(rpt1)nop +(ss)mov.f32f32 r0.z, r0.x +(sy)mul.f r0.x, r2.x, r0.x +cmps.f.ne r0.y, r0.y, c0.z nop -mov.f32f32 r0.x, r0.y -mov.f32f32 r0.z, r0.y -mov.f32f32 r1.x, r0.y -mov.f32f32 r0.y, r0.y -cmps.f.ne r0.w, r0.w, c0.z -sam.3d (f32)(xyzw)r1.y, r1.y, s#0, t#0 -(sy)mov.f32f32 r2.y, r2.x -mov.f32f32 r2.z, r1.w -mov.f32f32 r2.w, r1.z -mov.f32f32 r3.x, r1.y -mul.f r0.x, r2.y, r0.x -mul.f r0.z, r2.z, r0.z -mul.f r1.x, r2.w, r1.x -mul.f r0.y, r3.x, r0.y -mov.f32f32 r0.x, r0.x -mov.f32f32 r2.x, r2.x -mov.f32f32 r0.z, r0.z -mov.f32f32 r1.x, r1.x -mov.f32f32 r0.y, r0.y -mov.f32f32 r2.x, r2.x -(ss)mov.f32f32 r1.w, r1.w -mov.f32f32 r1.z, r1.z -mov.f32f32 r1.y, r1.y -sel.b32 r0.x, r0.x, r0.w, r2.x -mov.f32f32 r1.w, r1.w -mov.f32f32 r1.z, r1.z -mov.f32f32 r1.y, r1.y -mov.f32f32 r2.w, r0.x -sel.b32 r0.x, r0.z, r0.w, r1.w -sel.b32 r0.z, r1.x, r0.w, r1.z -sel.b32 r0.y, r0.y, r0.w, r1.y +mul.f r0.w, r2.w, r0.z +mul.f r1.x, r2.z, r0.z +mul.f r0.z, r2.y, r0.z nop -mov.f32f32 r2.z, r0.x -mov.f32f32 r2.y, r0.z -mov.f32f32 r2.x, r0.y +sel.b32 r1.w, r0.w, r0.y, r2.w +sel.b32 r1.z, r1.x, r0.y, r2.z +sel.b32 r1.y, r0.z, r0.y, r2.y +sel.b32 r1.x, r0.x, r0.y, r2.x end -; FRAG: outputs: r2.x (1:0) +; FRAG: outputs: r1.x (1:0) ; FRAG: inputs: r0.x (5:9,cm=f,il=8,b=1) -; FRAG: 52 instructions, 0 half, 4 full -; pos (bary): r0.x -; color: r2.x +; FRAG: 26 instructions, 0 half, 3 full |