vlc | branch: master | Martin Storsjö <[email protected]> | Sat Mar 30 01:56:52 2013 +0200| [06c1f879ee191d8af073024b6d66488f64395f54] | committer: Martin Storsjö
opengl: Do subtexture uploads only for the visible area This avoids doing the intermediate copy in some cases. Signed-off-by: Martin Storsjö <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=06c1f879ee191d8af073024b6d66488f64395f54 --- modules/video_output/opengl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c index 0801faa..2db2272 100644 --- a/modules/video_output/opengl.c +++ b/modules/video_output/opengl.c @@ -714,10 +714,10 @@ static void Upload(vout_display_opengl_t *vgl, int in_width, int in_height, // This unpack alignment is the default, but setting it just in case. glPixelStorei(GL_UNPACK_ALIGNMENT, 4); #ifndef GL_UNPACK_ROW_LENGTH - if ( pitch != ALIGN(full_width * pixel_pitch, 4) ) + int dst_width = full_upload ? full_width : width; + int dst_pitch = ALIGN(dst_width * pixel_pitch, 4); + if ( pitch != dst_pitch ) { - int dst_width = full_upload ? full_width : width; - int dst_pitch = ALIGN(dst_width * pixel_pitch, 4); int buf_size = dst_pitch * full_height * pixel_pitch; const uint8_t *source = pixels; uint8_t *destination; @@ -759,7 +759,7 @@ static void Upload(vout_display_opengl_t *vgl, int in_width, int in_height, else glTexSubImage2D(tex_target, 0, 0, 0, - full_width, full_height, + width, height, tex_format, tex_type, pixels); } } _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
