Bug 980684 - Actually use IOSurfaces on Mac. - r=snorp

This commit is contained in:
Jeff Gilbert
2014-03-10 19:08:50 -07:00
parent 7773923ba2
commit d38aa74359
6 changed files with 92 additions and 43 deletions

View File

@@ -503,9 +503,8 @@ StreamTextureSourceOGL::RetrieveTextureFromStream()
switch (sharedSurf->Type()) {
case SharedSurfaceType::GLTextureShare: {
SharedSurface_GLTexture* glTexSurf = SharedSurface_GLTexture::Cast(sharedSurf);
glTexSurf->SetConsumerGL(gl());
mTextureHandle = glTexSurf->ProdTexture();
mTextureTarget = glTexSurf->ProdTextureTarget();
mTextureHandle = glTexSurf->ConsTexture(gl());
mTextureTarget = glTexSurf->ConsTextureTarget();
MOZ_ASSERT(mTextureHandle);
mFormat = sharedSurf->HasAlpha() ? SurfaceFormat::R8G8B8A8
: SurfaceFormat::R8G8B8X8;
@@ -524,8 +523,8 @@ StreamTextureSourceOGL::RetrieveTextureFromStream()
#ifdef XP_MACOSX
case SharedSurfaceType::IOSurface: {
SharedSurface_IOSurface* glTexSurf = SharedSurface_IOSurface::Cast(sharedSurf);
mTextureHandle = glTexSurf->ProdTexture();
mTextureTarget = glTexSurf->ProdTextureTarget();
mTextureHandle = glTexSurf->ConsTexture(gl());
mTextureTarget = glTexSurf->ConsTextureTarget();
MOZ_ASSERT(mTextureHandle);
mFormat = sharedSurf->HasAlpha() ? SurfaceFormat::R8G8B8A8
: SurfaceFormat::R8G8B8X8;