summaryrefslogtreecommitdiff
path: root/reference/webgl-water/webgl-water-39.asm
diff options
context:
space:
mode:
Diffstat (limited to 'reference/webgl-water/webgl-water-39.asm')
-rw-r--r--reference/webgl-water/webgl-water-39.asm63
1 files changed, 22 insertions, 41 deletions
diff --git a/reference/webgl-water/webgl-water-39.asm b/reference/webgl-water/webgl-water-39.asm
index 660019f..73f0f60 100644
--- a/reference/webgl-water/webgl-water-39.asm
+++ b/reference/webgl-water/webgl-water-39.asm
@@ -11,51 +11,32 @@
@out(r1.y) out5
@out(r1.z) out6
@out(r1.w) out7
+@const(c4.x) 0x3f800000, 0x3f155326, 0xbf800000, 0x00000000
(sy)(ss)add.f r0.x, c4.x, (neg)r1.y
-mov.f32f32 r0.y, r1.z
-mov.f32f32 r0.z, r1.x
-mov.f32f32 r0.w, (0.000000)
+mov.f32f32 r1.w, (0.000000)
+mul.f r0.y, c0.w, r1.x
+mul.f r0.z, c0.z, r1.x
mad.f32 r0.x, c4.y, r0.x, c4.z
-mov.f32f32 r0.y, r0.y
-mov.f32f32 r1.y, r0.z
-mov.f32f32 r1.w, r0.w
-mov.f32f32 r0.x, r0.x
-mul.f r0.z, c0.w, r1.x
-mul.f r0.w, c0.z, r1.x
+mul.f r0.w, c0.x, r1.x
mul.f r2.x, c0.y, r1.x
-mad.f32 r0.z, c1.w, r0.x, r0.z
-mad.f32 r0.w, c1.z, r0.x, r0.w
-mad.f32 r2.x, c1.y, r0.x, r2.x
-mul.f r1.x, c0.x, r1.x
-mov.f32f32 r0.z, r0.z
-mov.f32f32 r0.w, r0.w
-mad.f32 r0.z, c2.w, r1.z, r0.z
-mad.f32 r0.w, c2.z, r1.z, r0.w
-mov.f32f32 r2.x, r2.x
-mad.f32 r1.x, c1.x, r0.x, r1.x
-add.f r0.z, r0.z, c3.w
-add.f r2.y, r0.w, c3.z
-mad.f32 r2.x, c2.y, r1.z, r2.x
-mov.f32f32 r1.x, r1.x
-mov.f32f32 r0.w, r0.z
-mov.f32f32 r0.z, r2.y
-add.f r2.x, r2.x, c3.y
-mad.f32 r1.x, c2.x, r1.z, r1.x
-mov.f32f32 r0.x, r0.x
-mov.f32f32 r1.z, r0.y
-mov.f32f32 r0.y, r2.x
-add.f r1.x, r1.x, c3.x
-mov.f32f32 r2.x, r0.x
-mov.f32f32 r1.z, r1.z
-mov.f32f32 r2.y, r1.y
-mov.f32f32 r0.x, r1.x
-mov.f32f32 r1.x, r2.x
-(rpt2)nop
-mov.f32f32 r1.y, r1.x
-mov.f32f32 r1.x, r2.y
-end
nop
+mov.f32f32 r1.y, r0.x
+mad.f32 r0.x, c1.x, r0.x, r0.w
+(rpt1)nop
+mad.f32 r0.y, c1.w, r1.y, r0.y
+mad.f32 r0.z, c1.z, r1.y, r0.z
+mad.f32 r0.y, c2.w, r1.z, r0.y
+mad.f32 r0.z, c2.z, r1.z, r0.z
+mad.f32 r2.x, c1.y, r1.y, r2.x
+mad.f32 r0.x, c2.x, r1.z, r0.x
+add.f r0.w, r0.y, c3.w
+add.f r0.z, r0.z, c3.z
+mad.f32 r0.y, c2.y, r1.z, r2.x
+add.f r0.x, r0.x, c3.x
+(rpt1)nop
+add.f r0.y, r0.y, c3.y
+end
; VERT: outputs: r0.x (0:0) r1.x (5:20)
; VERT: inputs: r1.x (0:0,cm=7,il=8,b=0)
-; VERT: 45 instructions, 0 half, 3 full
+; VERT: 26 instructions, 0 half, 3 full