X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvirtualvnode.C;h=27c65bba868c84319be7c0711536103cd90c757c;hb=05bf5047966713579bd8e7a692fda3b49bc43450;hp=1fb4846140f52c4fdc14393dbbe6f1ab2173f8f4;hpb=5820b5f022aeec75ec03f7dd0121aa8a3d7f7590;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/virtualvnode.C b/cinelerra-5.1/cinelerra/virtualvnode.C index 1fb48461..27c65bba 100644 --- a/cinelerra-5.1/cinelerra/virtualvnode.C +++ b/cinelerra-5.1/cinelerra/virtualvnode.C @@ -353,17 +353,21 @@ void VirtualVNode::render_mask(VFrame *output_temp, return; } - if(use_opengl) - { + if(use_opengl) { + if( !((VDeviceX11*)((VirtualVConsole*)vconsole)->get_vdriver())->can_mask( + start_position_project, keyframe_set) ) + use_opengl = 0; + + } + if(use_opengl) { ((VDeviceX11*)((VirtualVConsole*)vconsole)->get_vdriver())->do_mask( - output_temp, start_position_project, - keyframe_set, keyframe, keyframe); + output_temp, start_position_project, keyframe_set, + keyframe, keyframe); } - else - { + else { // Revert to software masker->do_mask(output_temp, start_position_project, - keyframe_set, keyframe, keyframe); + keyframe_set, keyframe, keyframe); } }