il_ps_2_0 dcl_input_interp(linear) v0.xy ; ;############################################################################ ; generated on 2010-01-15 09:56:03 ; generated from gravperf_0.q ; VARI x_i_0_ x_i_1_ x_i_2_ x_id20543__0_ x_id20543__1_ x_id20543__2_ eps2 ; VARJ x_j_0_ x_j_1_ x_j_2_ m_j_ ; VARF a_i_0_ a_i_1_ a_i_2_ pot_i_ a_id20543__0_ a_id20543__1_ a_id20543__2_ pot_id20543_ ;############################################################################ ;x_i_0_ -> res0 ;x_i_1_ -> res1 ;x_i_2_ -> res2 ;x_id20543__0_ -> res3 ;x_id20543__1_ -> res4 ;x_id20543__2_ -> res5 ;eps2 -> res6 ;x_j_0_ -> res7 ;x_j_1_ -> res8 ;x_j_2_ -> res9 ;m_j_ -> res10 ;a_i_0_ -> o0 ;a_i_1_ -> o1 ;a_i_2_ -> o2 ;pot_i_ -> o3 ;a_id20543__0_ -> o4 ;a_id20543__1_ -> o5 ;a_id20543__2_ -> o6 ;pot_id20543_ -> o7 dcl_resource_id(0)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(1)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(2)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(3)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(4)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(5)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(6)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(7)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(8)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(9)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_resource_id(10)_type(2d,unnorm)_fmtx(float)_fmty(float)_fmtz(float)_fmtw(float) dcl_output_generic o0 dcl_output_generic o1 dcl_output_generic o2 dcl_output_generic o3 dcl_output_generic o4 dcl_output_generic o5 dcl_output_generic o6 dcl_output_generic o7 ; const literal 0.000000e+00 dcl_literal l20, 0x0, 0x0, 0x0, 0x0 ; nj dcl_cb cb10[1] ; float zero dcl_literal l10, 0.0, 0.0, 0.0, 0.0 ; for loop counter dcl_literal l11, 0.0, 0.0, 1.0, 0x1 ; for rsq dcl_literal l4, 0x0, 0x3fe00000, 0x0, 0x3ff80000 ; for negation dcl_literal l8, 0x0, 0x80000000, 0x0, 0x80000000 ;; dcl_literal l50, 0x0, 0x0, 0x0, 0x0 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;load VARI sample_resource(0)_sampler(0) r100, v0.xy sample_resource(1)_sampler(1) r101, v0.xy sample_resource(2)_sampler(2) r102, v0.xy sample_resource(3)_sampler(3) r103, v0.xy sample_resource(4)_sampler(4) r104, v0.xy sample_resource(5)_sampler(5) r105, v0.xy sample_resource(6)_sampler(6) r106, v0.xy ;load CB mov r500, l20 ; zero accum mov r400, l10 mov r401, l10 mov r402, l10 mov r403, l10 mov r404, l10 mov r405, l10 mov r406, l10 mov r407, l10 mov r200.xy, l11.xy mov r201.w, cb10[0].w mov r201.z, cb10[0].z ixor r201.x, r201.x, r201.x itof r203.x, r201.z whileloop sample_resource(7)_sampler(7) r300, r200.xy sample_resource(8)_sampler(8) r301, r200.xy sample_resource(9)_sampler(9) r302, r200.xy sample_resource(10)_sampler(10) r303, r200.xy call 0 call 1 call 0 add r200.x, r200.x, l11.z iadd r201.x, r201.x, l11.w ige r201.y, r201.x, r201.w break_logicalnz r201.y ; umod r202.x, r201.x, r201.z ; if_logicalz r202.x ; add r200.0y, r200.0y, l11.z ; endif eq r202.x, r200.x, r203.x if_logicalnz r202.x add r200.0y, r200.0y, l11.z endif endloop mov o0, r400 mov o1, r401 mov o2, r402 mov o3, r403 mov o4, r404 mov o5, r405 mov o6, r406 mov o7, r407 ret_dyn endmain ; end of the main function ;; force func 0 ixor r999, r100, l8 dadd r747.xy, r300.xy, r999.xy dadd r747.zw, r300.zw, r999.zw ixor r999, r101, l8 dadd r748.xy, r301.xy, r999.xy dadd r748.zw, r301.zw, r999.zw ixor r999, r102, l8 dadd r753.xy, r302.xy, r999.xy dadd r753.zw, r302.zw, r999.zw dmul r728.xy, r747.xy, r747.xy dmul r728.zw, r747.zw, r747.zw dmul r738.xy, r748.xy, r748.xy dmul r738.zw, r748.zw, r748.zw dadd r708.xy, r728.xy, r738.xy dadd r708.zw, r728.zw, r738.zw dmul r742.xy, r753.xy, r753.xy dmul r742.zw, r753.zw, r753.zw dadd r718.xy, r708.xy, r742.xy dadd r718.zw, r708.zw, r742.zw dadd r719.xy, r718.xy, r106.xy dadd r719.zw, r718.zw, r106.zw mov r10.xy, r719.xy call 15 mov r720.xy, r11.xy mov r10.xy, r719.zw call 15 mov r720.__zw, r11.xyxy dmul r743.xy, r720.xy, r303.xy dmul r743.zw, r720.zw, r303.zw dmul r744.xy, r743.xy, r720.xy dmul r744.zw, r743.zw, r720.zw dmul r745.xy, r744.xy, r720.xy dmul r745.zw, r744.zw, r720.zw dmul r729.xy, r745.xy, r747.xy dmul r729.zw, r745.zw, r747.zw dadd r709.xy, r729.xy, r500.xy dadd r709.zw, r729.zw, r500.zw dmul r730.xy, r745.xy, r748.xy dmul r730.zw, r745.zw, r748.zw dadd r710.xy, r730.xy, r500.xy dadd r710.zw, r730.zw, r500.zw dmul r731.xy, r745.xy, r753.xy dmul r731.zw, r745.zw, r753.zw dadd r711.xy, r731.xy, r500.xy dadd r711.zw, r731.zw, r500.zw ixor r749, r743, l8 ixor r999, r103, l8 dadd r750.xy, r300.xy, r999.xy dadd r750.zw, r300.zw, r999.zw ixor r999, r104, l8 dadd r751.xy, r301.xy, r999.xy dadd r751.zw, r301.zw, r999.zw ixor r999, r105, l8 dadd r752.xy, r302.xy, r999.xy dadd r752.zw, r302.zw, r999.zw dmul r732.xy, r750.xy, r750.xy dmul r732.zw, r750.zw, r750.zw dmul r733.xy, r751.xy, r751.xy dmul r733.zw, r751.zw, r751.zw dadd r712.xy, r732.xy, r733.xy dadd r712.zw, r732.zw, r733.zw dmul r734.xy, r752.xy, r752.xy dmul r734.zw, r752.zw, r752.zw dadd r713.xy, r712.xy, r734.xy dadd r713.zw, r712.zw, r734.zw dadd r714.xy, r713.xy, r106.xy dadd r714.zw, r713.zw, r106.zw mov r10.xy, r714.xy call 15 mov r721.xy, r11.xy mov r10.xy, r714.zw call 15 mov r721.__zw, r11.xyxy dmul r735.xy, r721.xy, r303.xy dmul r735.zw, r721.zw, r303.zw dmul r736.xy, r735.xy, r721.xy dmul r736.zw, r735.zw, r721.zw dmul r737.xy, r736.xy, r721.xy dmul r737.zw, r736.zw, r721.zw dmul r739.xy, r737.xy, r750.xy dmul r739.zw, r737.zw, r750.zw dadd r715.xy, r739.xy, r500.xy dadd r715.zw, r739.zw, r500.zw dmul r740.xy, r737.xy, r751.xy dmul r740.zw, r737.zw, r751.zw dadd r716.xy, r740.xy, r500.xy dadd r716.zw, r740.zw, r500.zw dmul r741.xy, r737.xy, r752.xy dmul r741.zw, r737.zw, r752.zw dadd r717.xy, r741.xy, r500.xy dadd r717.zw, r741.zw, r500.zw ixor r754, r735, l8 dadd r400.xy, r400.xy, r709.xy dadd r400.zw, r400.zw, r709.zw dadd r401.xy, r401.xy, r710.xy dadd r401.zw, r401.zw, r710.zw dadd r402.xy, r402.xy, r711.xy dadd r402.zw, r402.zw, r711.zw dadd r403.xy, r403.xy, r749.xy dadd r403.zw, r403.zw, r749.zw dadd r404.xy, r404.xy, r715.xy dadd r404.zw, r404.zw, r715.zw dadd r405.xy, r405.xy, r716.xy dadd r405.zw, r405.zw, r716.zw dadd r406.xy, r406.xy, r717.xy dadd r406.zw, r406.zw, r717.zw dadd r407.xy, r407.xy, r754.xy dadd r407.zw, r407.zw, r754.zw ret endfunc ;; permutation func 1 mov r300, r300.zwxy mov r301, r301.zwxy mov r302, r302.zwxy mov r303, r303.zwxy ret endfunc ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; rsq double ; in r10.xy ; out r11.xy func 15 ; x0 = rsq(x) d2f r11, r10.xy rsq r11, r11 f2d r12, r11 ; x*0.5 dmul r13.xy, r10.xy, l4.xy ; b = 1.5*x0 dmul r14.xy, r12.xy, l4.zw ; a = x0*x0*x0*x*0.5 dmul r16.xy, r12.xy, r12.xy dmul r16.xy, r16.xy, r12.xy dmul r16.xy, r16.xy, r13.xy ; x1 = b - a ixor r999, r16, l8 dadd r11.xy, r14.xy, r999.xy ret endfunc end