X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fplayback3d.C;h=68c914c381607e0ffa3d1594c0fe215b4eb4b6d4;hp=aefafc8e3f9c7c61fb5cbe71cc56494fc16a75e0;hb=3305343c3d9bfb889f6892e7821cc0e2d68669de;hpb=853b81c6d430bd41037984ecc95fd304fd98964e diff --git a/cinelerra-5.1/cinelerra/playback3d.C b/cinelerra-5.1/cinelerra/playback3d.C index aefafc8e..68c914c3 100644 --- a/cinelerra-5.1/cinelerra/playback3d.C +++ b/cinelerra-5.1/cinelerra/playback3d.C @@ -419,10 +419,6 @@ void Playback3D::handle_command(BC_SynchronousCommand *command) write_buffer_sync((Playback3DCommand*)command); break; - case Playback3DCommand::FINISH_OUTPUT: - finish_output_sync((Playback3DCommand*)command); - break; - case Playback3DCommand::CLEAR_OUTPUT: clear_output_sync((Playback3DCommand*)command); break; @@ -490,6 +486,7 @@ void Playback3D::copy_from_sync(Playback3DCommand *command) command->canvas->lock_canvas("Playback3D::copy_from_sync"); if( window ) { window->enable_opengl(); + glFinish(); int w = command->input->get_w(); int h = command->input->get_h(); @@ -664,7 +661,8 @@ void Playback3D::write_buffer_sync(Playback3DCommand *command) window->enable_opengl(); //printf("Playback3D::write_buffer_sync 1 %d\n", window->get_id()); - int flip_y = 0, frame_state = command->frame->get_opengl_state(); + int flip_y = 0; + int frame_state = command->frame->get_opengl_state(); switch( frame_state ) { // Upload texture and composite to screen case VFrame::RAM: @@ -674,13 +672,6 @@ void Playback3D::write_buffer_sync(Playback3DCommand *command) window->enable_opengl(); // Composite texture to screen and swap buffer case VFrame::TEXTURE: - if( !flip_y ) { - int fh1 = command->frame->get_h()-1; - float in_y1 = fh1 - command->in_y1; - float in_y2 = fh1 - command->in_y2; - command->in_y1 = in_y2; - command->in_y2 = in_y1; - } draw_output(command, flip_y); break; default: @@ -779,28 +770,6 @@ void Playback3D::init_frame(Playback3DCommand *command, int is_yuv) } -void Playback3D::finish_output(Canvas *canvas) -{ - Playback3DCommand command; - command.canvas = canvas; - command.command = Playback3DCommand::FINISH_OUTPUT; - send_command(&command); -} - -void Playback3D::finish_output_sync(Playback3DCommand *command) -{ -#ifdef HAVE_GL - BC_WindowBase *window = - command->canvas->lock_canvas("Playback3D::finish_output_sync"); - if( window ) { - command->canvas->get_canvas()->enable_opengl(); - glFinish(); - } - command->canvas->unlock_canvas(); -#endif -} - - void Playback3D::clear_output(Canvas *canvas, VFrame *output) { Playback3DCommand command;