One-pass Turbulent Displace

hi all,
has anyone simple 2D one-pass shader like Turbulent Displace in After Effects?
i would need DX9 with options to animate: size, amount, displacement offset and evolution.
I tried to use Twirl (EX9.texture Filter), but with spreading input of all parameters it’s getting too heavy for GPU

here an approximation
using displace filter, it depends what your control texture is

turbulent approx.zip (72.6 kB)

thanks, but there are 3 passes involved.
I thought about “all-in-one” shader with perlin function, blur and soft displacement inside