diff options
Diffstat (limited to 'reference/webgl-water/webgl-water-36.asm')
-rw-r--r-- | reference/webgl-water/webgl-water-36.asm | 70 |
1 files changed, 24 insertions, 46 deletions
diff --git a/reference/webgl-water/webgl-water-36.asm b/reference/webgl-water/webgl-water-36.asm index fc933f4..1c768fc 100644 --- a/reference/webgl-water/webgl-water-36.asm +++ b/reference/webgl-water/webgl-water-36.asm @@ -6,71 +6,49 @@ @out(r1.y) out1 @out(r1.z) out2 @out(r1.w) out3 +@const(c4.x) 0x3f000000, 0x00000000, 0x3f800000, 0x40490ff9 +@const(c5.x) 0x00000000, 0x3f800000, 0x43000000, 0x00000000 (sy)(ss)mov.f32f32 r0.z, c4.x -bary.f r0.w, 0, r0.x -mov.f32f32 r1.x, c4.x -bary.f (ei)r0.x, 1, r0.x -mad.f32 r0.y, c1.x, r0.z, c4.x -mov.f32f32 r0.z, r0.w -mad.f32 r1.x, c1.y, r1.x, c4.x -mov.f32f32 r1.y, r0.x -add.f r0.y, r0.y, (neg)r0.w -mov.f32f32 r0.z, r0.z -add.f r0.x, r1.x, (neg)r0.x -mov.f32f32 r0.w, r1.y -mov.f32f32 r0.y, r0.y +mov.f32f32 r0.w, c4.x mov.f32f32 r1.x, c2.x -(rpt1)nop -mul.f r0.y, r0.y, r0.y -mov.f32f32 r0.x, r0.x -sam (f32)(xyzw)r2.x, r0.z, s#0, t#0 -(sy)(ss)mov.f32f32 r0.z, r2.y -mov.f32f32 r0.w, r2.w -mov.f32f32 r1.z, r2.z -mad.f32 r0.x, r0.x, r0.x, r0.y -mov.f32f32 r1.y, r0.z +bary.f r1.y, 0, r0.x +mad.f32 r0.z, c1.x, r0.z, c4.x +mad.f32 r0.w, c1.y, r0.w, c4.x +bary.f (ei)r1.z, 1, r0.x +nop +add.f r0.x, r0.z, (neg)r1.y rcp r0.y, r1.x -mov.f32f32 r1.w, r0.w -mov.f32f32 r1.z, r1.z -mov.f32f32 r0.x, r0.x -(rpt5)nop -sqrt r0.x, r0.x -(ss)mov.f32f32 r0.x, r0.x +(rpt1)nop +add.f r0.z, r0.w, (neg)r1.z +mov.f32f32 r0.w, r0.x +(ss)nop +sam (f32)(xyzw)r1.x, r1.y, s#0, t#0 (rpt2)nop -mul.f r0.x, r0.x, r0.y +mul.f r0.x, r0.x, r0.w +mov.f32f32 r0.w, r0.z (rpt2)nop -mov.f32f32 r0.x, r0.x +mad.f32 r0.x, r0.z, r0.w, r0.x +(rpt5)nop +sqrt r0.x, r0.x +(ss)mul.f r0.x, r0.x, r0.y (rpt2)nop add.f r0.x, c4.z, (neg)r0.x (rpt2)nop -mov.f32f32 r0.x, r0.x -(rpt2)nop max.f r0.x, c4.y, r0.x (rpt2)nop -mov.f32f32 r0.x, r0.x -(rpt2)nop mul.f r0.x, r0.x, c4.w -(rpt2)nop -mov.f32f32 r0.x, r0.x (rpt5)nop cos r0.x, r0.x -(ss)mov.f32f32 r0.x, r0.x -(rpt2)nop -mul.f r0.x, r0.x, c4.x -(rpt2)nop -mov.f32f32 r0.x, r0.x +(ss)mul.f r0.x, r0.x, c4.x (rpt2)nop add.f r0.x, c4.x, (neg)r0.x (rpt2)nop -mov.f32f32 r0.x, r0.x -(rpt2)nop -mad.f32 r0.x, c3.x, r0.x, r2.x -(rpt2)nop -mov.f32f32 r1.x, r0.x +(sy)mad.f32 r1.x, c3.x, r0.x, r1.x end nop nop +nop ; FRAG: outputs: r1.x (1:0) ; FRAG: inputs: r0.x (5:20,cm=f,il=8,b=1) -; FRAG: 101 instructions, 0 half, 3 full +; FRAG: 62 instructions, 0 half, 2 full |