Commit c44ee8e1 authored by Sebastien Zwickert's avatar Sebastien Zwickert Committed by Felix Paul Kühne

opengl: fixes macosx vout issue.

Signed-off-by: default avatarFelix Paul Kühne <fkuehne@videolan.org>
parent 67b1aab7
...@@ -216,7 +216,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt, ...@@ -216,7 +216,7 @@ vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,
# endif # endif
vgl->tex_target = GL_TEXTURE_RECTANGLE_EXT; vgl->tex_target = GL_TEXTURE_RECTANGLE_EXT;
vgl->tex_format = GL_YCBCR_422_APPLE; vgl->tex_format = GL_YCBCR_422_APPLE;
vgl->tex_internal = GL_YCBCR_422_APPLE; vgl->tex_internal = GL_RGBA;
vgl->tex_type = GL_UNSIGNED_SHORT_8_8_APPLE; vgl->tex_type = GL_UNSIGNED_SHORT_8_8_APPLE;
#else #else
vgl->fmt.i_chroma = VLC_CODEC_RGB32; vgl->fmt.i_chroma = VLC_CODEC_RGB32;
...@@ -506,6 +506,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned ...@@ -506,6 +506,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
for (int i = 0; i < VLCGL_TEXTURE_COUNT; i++) { for (int i = 0; i < VLCGL_TEXTURE_COUNT; i++) {
glGenTextures(vgl->chroma->plane_count, vgl->texture[i]); glGenTextures(vgl->chroma->plane_count, vgl->texture[i]);
for (unsigned j = 0; j < vgl->chroma->plane_count; j++) { for (unsigned j = 0; j < vgl->chroma->plane_count; j++) {
uint8_t *buffer = NULL;
if (vgl->use_multitexture) if (vgl->use_multitexture)
vgl->ActiveTextureARB(GL_TEXTURE0_ARB + j); vgl->ActiveTextureARB(GL_TEXTURE0_ARB + j);
glBindTexture(vgl->tex_target, vgl->texture[i][j]); glBindTexture(vgl->tex_target, vgl->texture[i][j]);
...@@ -527,6 +528,8 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned ...@@ -527,6 +528,8 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
glEnable(GL_UNPACK_CLIENT_STORAGE_APPLE); glEnable(GL_UNPACK_CLIENT_STORAGE_APPLE);
glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE); glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE);
buffer = picture[i]->p[j].p_pixels;
/* Use AGP texturing */ /* Use AGP texturing */
glTexParameteri(vgl->tex_target, GL_TEXTURE_STORAGE_HINT_APPLE, glTexParameteri(vgl->tex_target, GL_TEXTURE_STORAGE_HINT_APPLE,
GL_STORAGE_SHARED_APPLE); GL_STORAGE_SHARED_APPLE);
...@@ -535,7 +538,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned ...@@ -535,7 +538,7 @@ picture_pool_t *vout_display_opengl_GetPool(vout_display_opengl_t *vgl, unsigned
/* Call glTexImage2D only once, and use glTexSubImage2D later */ /* Call glTexImage2D only once, and use glTexSubImage2D later */
glTexImage2D(vgl->tex_target, 0, glTexImage2D(vgl->tex_target, 0,
vgl->tex_internal, vgl->tex_width[j], vgl->tex_height[j], vgl->tex_internal, vgl->tex_width[j], vgl->tex_height[j],
0, vgl->tex_format, vgl->tex_type, NULL); 0, vgl->tex_format, vgl->tex_type, buffer);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment