X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvmodule.C;h=1c32c3fcdd89b4671ba139192f66380e0c0b91d4;hb=abf5c6bb4dec2c2d03df2872e1d337e3905b3619;hp=bdf0c7d8f729d5523d346696f31e6abe6778f835;hpb=59e74f262d7b6be235f2bbfaac35ef4274f52dc9;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/vmodule.C b/cinelerra-5.1/cinelerra/vmodule.C index bdf0c7d8..1c32c3fc 100644 --- a/cinelerra-5.1/cinelerra/vmodule.C +++ b/cinelerra-5.1/cinelerra/vmodule.C @@ -815,8 +815,14 @@ int VModule::render(VFrame *output, VDeviceX11 *x11_device = 0; if( use_opengl && renderengine && renderengine->video ) { x11_device = (VDeviceX11*)renderengine->video->get_output_base(); - if( !x11_device->can_mask(mask_position, keyframe_set) ) + if( !x11_device->can_mask(mask_position, keyframe_set) ) { + if( output->get_opengl_state() != VFrame::RAM ) { + int w = output->get_w(), h = output->get_h(); + x11_device->do_camera(output, output, + 0,0,w,h, 0,0,w,h); // copy to ram + } use_opengl = 0; + } } if( use_opengl && x11_device ) { x11_device->do_mask(output, mask_position, keyframe_set,