GMS 2 Android Devices shader surface_copy problem


Hi ! I'm trying to use a black hole shader that I found online (Made by flyingsaucerinvasion) on Android Device, the shader code is pretty simple
(I just modified it to do a simple Alpha Transition) but the problem come from the Draw Event of the Black Hole :

if(!surface_exists(surf)) surf = surface_create(surf_w, surf_h);

var temp_x = sprite_width/2;
var temp_y = sprite_height/2;
surface_copy_part(surf, 0, 0, application_surface, x - temp_x, y - temp_y, surf_w, surf_h);
shader_set_uniform_f(tex_transform, sprite_width/(surf_w*4), sprite_height/(surf_h*4), sprite_width , sprite_height);

shader_params = shader_get_uniform(sh_blackhole, "iAlpha"); // Alpha Transition
shader_set_uniform_f(shader_params, BH_Alpha); // Alpha Uniform

texture_set_stage(sampler, surface_get_texture(surf)); // Stage Sampler

draw_self(); // Simple Blach Hole Sprite

image_xscale & image_yscale are set to (room_height/sprite_height)*2; (To take the full screen of the phone), It's working great on a computer but on Android, it's blinking
(It looks like that the surface_copy_part is copying from the wrong position or copying only 1 Pixel) I already checked shader_is_compiled son I don't really know ...

Here's the desktop version and the android Version (Like I said, It's all the same color on Android, no effect and it's blinking).