Just tested it in the project file and it seems working. Here is an example code:
surf = surface_create(512, 512); surface_set_target(surf); draw_clear_alpha(c_black, 0); draw_sprite(s_texture, 0, 0, 0); surface_reset_target(); sprite = sprite_create_from_surface(surf, 0, 0, 512, 512, false, false, 0, 0);
Are you trying to draw the surface itself? If so, change sprite_get_texture on surface_get_texture and sprite_get_uvs on [0, 0, 1, 1], should be working then.