summaryrefslogtreecommitdiffstats
path: root/gfx/gl/GLBlitHelper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/gl/GLBlitHelper.cpp')
-rw-r--r--gfx/gl/GLBlitHelper.cpp120
1 files changed, 1 insertions, 119 deletions
diff --git a/gfx/gl/GLBlitHelper.cpp b/gfx/gl/GLBlitHelper.cpp
index d59cea863..da7f5b462 100644
--- a/gfx/gl/GLBlitHelper.cpp
+++ b/gfx/gl/GLBlitHelper.cpp
@@ -14,12 +14,6 @@
#include "mozilla/gfx/Matrix.h"
#include "mozilla/UniquePtr.h"
-#ifdef MOZ_WIDGET_ANDROID
-#include "AndroidSurfaceTexture.h"
-#include "GLImages.h"
-#include "GLLibraryEGL.h"
-#endif
-
#ifdef XP_MACOSX
#include "MacIOSurfaceImage.h"
#include "GLContextCGL.h"
@@ -146,26 +140,6 @@ GLBlitHelper::InitTexQuadProgram(BlitType target)
vTexCoord * uTexCoordMult); \n\
} \n\
";
-#ifdef ANDROID /* MOZ_WIDGET_ANDROID */
- const char kTexExternalBlit_FragShaderSource[] = "\
- #version 100 \n\
- #extension GL_OES_EGL_image_external : require \n\
- #ifdef GL_FRAGMENT_PRECISION_HIGH \n\
- precision highp float; \n\
- #else \n\
- precision mediump float; \n\
- #endif \n\
- varying vec2 vTexCoord; \n\
- uniform mat4 uTextureTransform; \n\
- uniform samplerExternalOES uTexUnit; \n\
- \n\
- void main() \n\
- { \n\
- gl_FragColor = texture2D(uTexUnit, \n\
- (uTextureTransform * vec4(vTexCoord, 0.0, 1.0)).xy); \n\
- } \n\
- ";
-#endif
/* From Rec601:
[R] [1.1643835616438356, 0.0, 1.5960267857142858] [ Y - 16]
[G] = [1.1643835616438358, -0.3917622900949137, -0.8129676472377708] x [Cb - 128]
@@ -257,14 +231,6 @@ GLBlitHelper::InitTexQuadProgram(BlitType target)
fragShaderPtr = &mTex2DRectBlit_FragShader;
fragShaderSource = kTex2DRectBlit_FragShaderSource;
break;
-#ifdef ANDROID
- case ConvertSurfaceTexture:
- case ConvertGralloc:
- programPtr = &mTexExternalBlit_Program;
- fragShaderPtr = &mTexExternalBlit_FragShader;
- fragShaderSource = kTexExternalBlit_FragShaderSource;
- break;
-#endif
case ConvertPlanarYCbCr:
programPtr = &mTexYUVPlanarBlit_Program;
fragShaderPtr = &mTexYUVPlanarBlit_FragShader;
@@ -398,10 +364,6 @@ GLBlitHelper::InitTexQuadProgram(BlitType target)
// Cache and set attribute and uniform
mGL->fUseProgram(program);
switch (target) {
-#ifdef ANDROID
- case ConvertSurfaceTexture:
- case ConvertGralloc:
-#endif
case BlitTex2D:
case BlitTexRect:
case ConvertEGLImage: {
@@ -678,67 +640,6 @@ GLBlitHelper::BindAndUploadEGLImage(EGLImage image, GLuint target)
mGL->fEGLImageTargetTexture2D(target, image);
}
-#ifdef MOZ_WIDGET_ANDROID
-
-#define ATTACH_WAIT_MS 50
-
-bool
-GLBlitHelper::BlitSurfaceTextureImage(layers::SurfaceTextureImage* stImage)
-{
- AndroidSurfaceTexture* surfaceTexture = stImage->GetSurfaceTexture();
-
- ScopedBindTextureUnit boundTU(mGL, LOCAL_GL_TEXTURE0);
-
- if (NS_FAILED(surfaceTexture->Attach(mGL, PR_MillisecondsToInterval(ATTACH_WAIT_MS))))
- return false;
-
- // UpdateTexImage() changes the EXTERNAL binding, so save it here
- // so we can restore it after.
- int oldBinding = 0;
- mGL->fGetIntegerv(LOCAL_GL_TEXTURE_BINDING_EXTERNAL, &oldBinding);
-
- surfaceTexture->UpdateTexImage();
-
- gfx::Matrix4x4 transform;
- surfaceTexture->GetTransformMatrix(transform);
-
- mGL->fUniformMatrix4fv(mTextureTransformLoc, 1, false, &transform._11);
- mGL->fDrawArrays(LOCAL_GL_TRIANGLE_STRIP, 0, 4);
-
- surfaceTexture->Detach();
-
- mGL->fBindTexture(LOCAL_GL_TEXTURE_EXTERNAL, oldBinding);
- return true;
-}
-
-bool
-GLBlitHelper::BlitEGLImageImage(layers::EGLImageImage* image)
-{
- EGLImage eglImage = image->GetImage();
- EGLSync eglSync = image->GetSync();
-
- if (eglSync) {
- EGLint status = sEGLLibrary.fClientWaitSync(EGL_DISPLAY(), eglSync, 0, LOCAL_EGL_FOREVER);
- if (status != LOCAL_EGL_CONDITION_SATISFIED) {
- return false;
- }
- }
-
- ScopedBindTextureUnit boundTU(mGL, LOCAL_GL_TEXTURE0);
-
- int oldBinding = 0;
- mGL->fGetIntegerv(LOCAL_GL_TEXTURE_BINDING_2D, &oldBinding);
-
- BindAndUploadEGLImage(eglImage, LOCAL_GL_TEXTURE_2D);
-
- mGL->fDrawArrays(LOCAL_GL_TRIANGLE_STRIP, 0, 4);
-
- mGL->fBindTexture(LOCAL_GL_TEXTURE_2D, oldBinding);
- return true;
-}
-
-#endif
-
bool
GLBlitHelper::BlitPlanarYCbCrImage(layers::PlanarYCbCrImage* yuvImage)
{
@@ -835,16 +736,6 @@ GLBlitHelper::BlitImageToFramebuffer(layers::Image* srcImage,
srcOrigin = OriginPos::BottomLeft;
break;
-#ifdef MOZ_WIDGET_ANDROID
- case ImageFormat::SURFACE_TEXTURE:
- type = ConvertSurfaceTexture;
- srcOrigin = srcImage->AsSurfaceTextureImage()->GetOriginPos();
- break;
- case ImageFormat::EGLIMAGE:
- type = ConvertEGLImage;
- srcOrigin = srcImage->AsEGLImageImage()->GetOriginPos();
- break;
-#endif
#ifdef XP_MACOSX
case ImageFormat::MAC_IOSURFACE:
type = ConvertMacIOSurfaceImage;
@@ -877,14 +768,6 @@ GLBlitHelper::BlitImageToFramebuffer(layers::Image* srcImage,
return ret;
}
-#ifdef MOZ_WIDGET_ANDROID
- case ConvertSurfaceTexture:
- return BlitSurfaceTextureImage(static_cast<layers::SurfaceTextureImage*>(srcImage));
-
- case ConvertEGLImage:
- return BlitEGLImageImage(static_cast<layers::EGLImageImage*>(srcImage));
-#endif
-
#ifdef XP_MACOSX
case ConvertMacIOSurfaceImage:
return BlitMacIOSurfaceImage(srcImage->AsMacIOSurfaceImage());
@@ -983,8 +866,7 @@ GLBlitHelper::BlitFramebufferToTexture(GLuint srcFB, GLuint destTex,
GLenum destTarget,
bool internalFBs)
{
- // On the Android 4.3 emulator, IsFramebuffer may return false incorrectly.
- MOZ_ASSERT_IF(mGL->Renderer() != GLRenderer::AndroidEmulator, !srcFB || mGL->fIsFramebuffer(srcFB));
+ MOZ_ASSERT(!srcFB || mGL->fIsFramebuffer(srcFB));
MOZ_ASSERT(mGL->fIsTexture(destTex));
if (mGL->IsSupported(GLFeature::framebuffer_blit)) {