Bug 942506 - Remove ApplyFilterToBoundTexture from GLContext - r=bjacob

Move it to CompositorOGL.
This commit is contained in:
Dan Glastonbury 2013-12-09 14:07:18 +10:00
Родитель eb13a35408
Коммит 01884a573b
12 изменённых файлов: 116 добавлений и 201 удалений

Просмотреть файл

@ -8,6 +8,7 @@
#include "GLUploadHelpers.h"
#include "DecomposeIntoNoRepeatTriangles.h"
#include "GLContext.h"
#include "ScopedGLHelpers.h"
#include "nsRect.h"
#include "gfx2DGlue.h"
#include "gfxUtils.h"
@ -143,7 +144,8 @@ GLBlitTextureImageHelper::BlitTextureImage(TextureImage *aSrc, const nsIntRect&
}
}
TextureImage::ScopedBindTexture texBind(aSrc, LOCAL_GL_TEXTURE0);
ScopedBindTextureUnit autoTexUnit(mGL, LOCAL_GL_TEXTURE0);
ScopedBindTexture autoTex(mGL, aSrc->GetTextureID());
mGL->fBindBuffer(LOCAL_GL_ARRAY_BUFFER, 0);

Просмотреть файл

@ -1189,24 +1189,6 @@ GLContext::ListHasExtension(const GLubyte *extensions, const char *extension)
return false;
}
void GLContext::ApplyFilterToBoundTexture(GraphicsFilter aFilter)
{
ApplyFilterToBoundTexture(LOCAL_GL_TEXTURE_2D, aFilter);
}
void GLContext::ApplyFilterToBoundTexture(GLuint aTarget,
GraphicsFilter aFilter)
{
if (aFilter == GraphicsFilter::FILTER_NEAREST) {
fTexParameteri(aTarget, LOCAL_GL_TEXTURE_MIN_FILTER, LOCAL_GL_NEAREST);
fTexParameteri(aTarget, LOCAL_GL_TEXTURE_MAG_FILTER, LOCAL_GL_NEAREST);
} else {
fTexParameteri(aTarget, LOCAL_GL_TEXTURE_MIN_FILTER, LOCAL_GL_LINEAR);
fTexParameteri(aTarget, LOCAL_GL_TEXTURE_MAG_FILTER, LOCAL_GL_LINEAR);
}
}
void
GLContext::DetermineCaps()
{

Просмотреть файл

@ -2482,17 +2482,6 @@ public:
*/
virtual bool ReleaseTexImage() { return false; }
/**
* Applies aFilter to the texture currently bound to GL_TEXTURE_2D.
*/
void ApplyFilterToBoundTexture(GraphicsFilter aFilter);
/**
* Applies aFilter to the texture currently bound to aTarget.
*/
void ApplyFilterToBoundTexture(GLuint aTarget,
GraphicsFilter aFilter);
// Before reads from offscreen texture
void GuaranteeResolve();

Просмотреть файл

@ -58,7 +58,7 @@ GLXLibrary::SelectLibrary(const ContextFlags& aFlags)
}
// Check that we have at least version aMajor.aMinor .
bool
bool
GLXLibrary::GLXVersionCheck(int aMajor, int aMinor)
{
return aMajor < mGLXMajorVersion ||
@ -244,7 +244,7 @@ GLXLibrary::EnsureInitialized(LibType libType)
}
if (HasExtension(extensionsStr, "GLX_EXT_texture_from_pixmap") &&
GLLibraryLoader::LoadSymbols(mOGLLibrary, symbols_texturefrompixmap,
GLLibraryLoader::LoadSymbols(mOGLLibrary, symbols_texturefrompixmap,
(GLLibraryLoader::PlatformLookupFunction)&xGetProcAddress))
{
#ifdef MOZ_WIDGET_GTK
@ -278,7 +278,7 @@ GLXLibrary::SupportsTextureFromPixmap(gfxASurface* aSurface)
if (!EnsureInitialized(mLibType)) {
return false;
}
if (aSurface->GetType() != gfxSurfaceTypeXlib || !mUseTextureFromPixmap) {
return false;
}
@ -286,7 +286,7 @@ GLXLibrary::SupportsTextureFromPixmap(gfxASurface* aSurface)
return true;
}
GLXPixmap
GLXPixmap
GLXLibrary::CreatePixmap(gfxASurface* aSurface)
{
if (!SupportsTextureFromPixmap(aSurface)) {
@ -320,7 +320,7 @@ GLXLibrary::CreatePixmap(gfxASurface* aSurface)
attribs,
&numConfigs));
// Find an fbconfig that matches the pixel format used on the Pixmap.
// Find an fbconfig that matches the pixel format used on the Pixmap.
int matchIndex = -1;
unsigned long redMask =
static_cast<unsigned long>(direct.redMask) << direct.red;
@ -436,7 +436,7 @@ GLXLibrary::DestroyPixmap(GLXPixmap aPixmap)
void
GLXLibrary::BindTexImage(GLXPixmap aPixmap)
{
{
if (!mUseTextureFromPixmap) {
return;
}
@ -508,7 +508,7 @@ GLXLibrary::AfterGLXCall()
#define BEFORE_GLX_CALL do { \
sGLXLibrary[gCurrLib].BeforeGLXCall(); \
} while (0)
#define AFTER_GLX_CALL do { \
sGLXLibrary[gCurrLib].AfterGLXCall(); \
} while (0)
@ -519,8 +519,8 @@ GLXLibrary::AfterGLXCall()
#define AFTER_GLX_CALL do { } while(0)
#endif
void
void
GLXLibrary::xDestroyContext(Display* display, GLXContext context)
{
BEFORE_GLX_CALL;
@ -528,9 +528,9 @@ GLXLibrary::xDestroyContext(Display* display, GLXContext context)
AFTER_GLX_CALL;
}
Bool
GLXLibrary::xMakeCurrent(Display* display,
GLXDrawable drawable,
Bool
GLXLibrary::xMakeCurrent(Display* display,
GLXDrawable drawable,
GLXContext context)
{
BEFORE_GLX_CALL;
@ -539,7 +539,7 @@ GLXLibrary::xMakeCurrent(Display* display,
return result;
}
GLXContext
GLXContext
GLXLibrary::xGetCurrentContext()
{
BEFORE_GLX_CALL;
@ -548,7 +548,7 @@ GLXLibrary::xGetCurrentContext()
return result;
}
/* static */ void*
/* static */ void*
GLXLibrary::xGetProcAddress(const char *procName)
{
BEFORE_GLX_CALL;
@ -558,9 +558,9 @@ GLXLibrary::xGetProcAddress(const char *procName)
}
GLXFBConfig*
GLXLibrary::xChooseFBConfig(Display* display,
int screen,
const int *attrib_list,
GLXLibrary::xChooseFBConfig(Display* display,
int screen,
const int *attrib_list,
int *nelements)
{
BEFORE_GLX_CALL;
@ -569,9 +569,9 @@ GLXLibrary::xChooseFBConfig(Display* display,
return result;
}
GLXFBConfig*
GLXLibrary::xGetFBConfigs(Display* display,
int screen,
GLXFBConfig*
GLXLibrary::xGetFBConfigs(Display* display,
int screen,
int *nelements)
{
BEFORE_GLX_CALL;
@ -579,16 +579,16 @@ GLXLibrary::xGetFBConfigs(Display* display,
AFTER_GLX_CALL;
return result;
}
GLXContext
GLXLibrary::xCreateNewContext(Display* display,
GLXFBConfig config,
int render_type,
GLXContext share_list,
GLXLibrary::xCreateNewContext(Display* display,
GLXFBConfig config,
int render_type,
GLXContext share_list,
Bool direct)
{
BEFORE_GLX_CALL;
GLXContext result = xCreateNewContextInternal(display, config,
GLXContext result = xCreateNewContextInternal(display, config,
render_type,
share_list, direct);
AFTER_GLX_CALL;
@ -647,7 +647,7 @@ GLXLibrary::xQueryServerString(Display *display,
}
GLXPixmap
GLXLibrary::xCreatePixmap(Display *display,
GLXLibrary::xCreatePixmap(Display *display,
GLXFBConfig config,
Pixmap pixmap,
const int *attrib_list)
@ -710,7 +710,7 @@ GLXLibrary::xReleaseTexImage(Display *display,
AFTER_GLX_CALL;
}
void
void
GLXLibrary::xWaitGL()
{
BEFORE_GLX_CALL;
@ -727,16 +727,16 @@ GLXLibrary::xWaitX()
}
GLXContext
GLXLibrary::xCreateContextAttribs(Display* display,
GLXFBConfig config,
GLXContext share_list,
GLXLibrary::xCreateContextAttribs(Display* display,
GLXFBConfig config,
GLXContext share_list,
Bool direct,
const int* attrib_list)
{
BEFORE_GLX_CALL;
GLXContext result = xCreateContextAttribsInternal(display,
config,
share_list,
GLXContext result = xCreateContextAttribsInternal(display,
config,
share_list,
direct,
attrib_list);
AFTER_GLX_CALL;
@ -905,7 +905,7 @@ TRY_AGAIN_NO_SHARING:
switch(aType) {
case NativeGLContext:
return mContext;
case NativeThebesSurface:
return mPixmap;
@ -1012,13 +1012,13 @@ GLContextProviderGLX::CreateForWindow(nsIWidget *aWidget)
// performance might be suboptimal. But using the existing visual
// is a relatively safe intermediate step.
Display *display = (Display*)aWidget->GetNativeData(NS_NATIVE_DISPLAY);
Display *display = (Display*)aWidget->GetNativeData(NS_NATIVE_DISPLAY);
int xscreen = DefaultScreen(display);
Window window = GET_NATIVE_WINDOW(aWidget);
int numConfigs;
ScopedXFree<GLXFBConfig> cfgs;
if (sDefGLXLib.IsATI() ||
if (sDefGLXLib.IsATI() ||
!sDefGLXLib.GLXVersionCheck(1, 3)) {
const int attribs[] = {
LOCAL_GLX_DOUBLEBUFFER, False,

Просмотреть файл

@ -205,13 +205,6 @@ BasicTextureImage::BindTexture(GLenum aTextureUnit)
mGLContext->fActiveTexture(LOCAL_GL_TEXTURE0);
}
void
BasicTextureImage::ApplyFilter()
{
mGLContext->ApplyFilterToBoundTexture(mFilter);
}
already_AddRefed<gfxASurface>
BasicTextureImage::GetSurfaceForUpdate(const gfxIntSize& aSize, ImageFormat aFmt)
{
@ -637,12 +630,6 @@ TiledTextureImage::BindTexture(GLenum aTextureUnit)
mImages[mCurrentImage]->BindTexture(aTextureUnit);
}
void
TiledTextureImage::ApplyFilter()
{
mGL->ApplyFilterToBoundTexture(mFilter);
}
/*
* Resize, trying to reuse tiles. The reuse strategy is to decide on reuse per
* column. A tile on a column is reused if it hasn't changed size, otherwise it
@ -745,16 +732,6 @@ uint32_t TiledTextureImage::GetTileCount()
return mImages.Length();
}
TextureImage::ScopedBindTexture::ScopedBindTexture(TextureImage* aTexture,
GLenum aTextureUnit)
: mTexture(aTexture)
{
if (mTexture) {
MOZ_ASSERT(aTextureUnit >= LOCAL_GL_TEXTURE0);
mTexture->BindTexture(aTextureUnit);
}
}
already_AddRefed<TextureImage>
CreateBasicTextureImage(GLContext* aGL,
const nsIntSize& aSize,

Просмотреть файл

@ -185,41 +185,6 @@ public:
const gfx::IntPoint* aSrcOffset = nullptr);
virtual void BindTexture(GLenum aTextureUnit) = 0;
virtual void ReleaseTexture() {}
void BindTextureAndApplyFilter(GLenum aTextureUnit) {
BindTexture(aTextureUnit);
ApplyFilter();
}
class ScopedBindTexture
{
public:
ScopedBindTexture(TextureImage *aTexture, GLenum aTextureUnit);
~ScopedBindTexture()
{
if (mTexture) {
mTexture->ReleaseTexture();
}
}
protected:
TextureImage *mTexture;
};
class ScopedBindTextureAndApplyFilter
: public ScopedBindTexture
{
public:
ScopedBindTextureAndApplyFilter(TextureImage *aTexture, GLenum aTextureUnit) :
ScopedBindTexture(aTexture, aTextureUnit)
{
if (mTexture) {
mTexture->ApplyFilter();
}
}
};
/**
* Returns the image format of the texture. Only valid after a matching
@ -247,12 +212,6 @@ public:
void SetFilter(GraphicsFilter aFilter) { mFilter = aFilter; }
/**
* Applies this TextureImage's filter, assuming that its texture is
* the currently bound texture.
*/
virtual void ApplyFilter() = 0;
protected:
friend class GLContext;
@ -345,9 +304,7 @@ public:
virtual void Resize(const nsIntSize& aSize);
virtual void ApplyFilter();
protected:
GLuint mTexture;
TextureState mTextureState;
nsRefPtr<GLContext> mGLContext;
@ -390,7 +347,6 @@ public:
virtual bool DirectUpdate(gfxASurface* aSurf, const nsIntRegion& aRegion, const nsIntPoint& aFrom = nsIntPoint(0,0));
virtual bool InUpdate() const { return mInUpdate; }
virtual void BindTexture(GLenum);
virtual void ApplyFilter();
protected:
virtual gfx::IntRect GetSrcTileRect();

Просмотреть файл

@ -311,12 +311,6 @@ TextureImageEGL::DestroyEGLSurface(void)
mSurface = nullptr;
}
void
TextureImageEGL::ApplyFilter()
{
mGLContext->ApplyFilterToBoundTexture(mFilter);
}
already_AddRefed<TextureImage>
CreateTextureImageEGL(GLContext *gl,
const nsIntSize& aSize,
@ -357,4 +351,4 @@ TileGenFuncEGL(GLContext *gl,
}
}
}
}

Просмотреть файл

@ -75,8 +75,6 @@ protected:
TextureState mTextureState;
bool mBound;
virtual void ApplyFilter();
};
already_AddRefed<TextureImage>
@ -97,4 +95,4 @@ TileGenFuncEGL(GLContext *gl,
}
}
#endif // TEXTUREIMAGEEGL_H_
#endif // TEXTUREIMAGEEGL_H_

Просмотреть файл

@ -41,6 +41,7 @@
#include "nsServiceManagerUtils.h" // for do_GetService
#include "nsString.h" // for nsString, nsAutoCString, etc
#include "DecomposeIntoNoRepeatTriangles.h"
#include "ScopedGLHelpers.h"
#if MOZ_ANDROID_OMTC
#include "TexturePoolOGL.h"
@ -978,28 +979,57 @@ CompositorOGL::GetProgramTypeForEffect(Effect *aEffect) const
}
struct MOZ_STACK_CLASS AutoBindTexture
: public ScopedGLWrapper<AutoBindTexture>
{
AutoBindTexture() : mTexture(nullptr) {}
AutoBindTexture(TextureSourceOGL* aTexture, GLenum aTextureUnit)
: mTexture(nullptr) { Bind(aTexture, aTextureUnit); }
~AutoBindTexture()
friend struct ScopedGLWrapper<AutoBindTexture>;
protected:
GLenum mTexUnit;
GLuint mOldTexId;
public:
explicit AutoBindTexture(GLContext* aGL)
: ScopedGLWrapper<AutoBindTexture>(aGL)
, mTexUnit(0)
, mOldTexId((GLuint) -1)
{ }
AutoBindTexture(GLContext* aGL, TextureSourceOGL* aTexture,
GLenum aTexUnit = LOCAL_GL_TEXTURE0)
: ScopedGLWrapper<AutoBindTexture>(aGL)
, mTexUnit(0)
, mOldTexId((GLuint) -1)
{
if (mTexture) {
mTexture->UnbindTexture();
}
Bind(aTexture, aTexUnit);
}
void Bind(TextureSourceOGL* aTexture, GLenum aTextureUnit)
void Bind(TextureSourceOGL* aTexture,
GLenum aTexUnit = LOCAL_GL_TEXTURE0)
{
MOZ_ASSERT(!mTexture);
mTexture = aTexture;
mTexture->BindTexture(aTextureUnit);
if (!aTexture)
return;
MOZ_ASSERT(mOldTexId == (GLuint) -1);
mTexUnit = aTexUnit;
ScopedBindTextureUnit savedTexUnit(mGL, aTexUnit);
mGL->GetUIntegerv(LOCAL_GL_TEXTURE_BINDING_2D, &mOldTexId);
aTexture->BindTexture(mTexUnit);
}
private:
TextureSourceOGL* mTexture;
protected:
void UnwrapImpl()
{
if (mOldTexId == (GLuint) -1)
return;
ScopedBindTextureUnit savedTexUnit(mGL, mTexUnit);
mGL->fBindTexture(LOCAL_GL_TEXTURE_2D, mOldTexId);
}
};
void
CompositorOGL::DrawLines(const std::vector<gfx::Point>& aLines, const gfx::Rect& aClipRect,
const gfx::Color& aColor,
@ -1019,6 +1049,20 @@ CompositorOGL::DrawLines(const std::vector<gfx::Point>& aLines, const gfx::Rect&
}
}
/**
* Applies aFilter to the texture currently bound to aTarget.
*/
void ApplyFilterToBoundTexture(GLContext* aGL,
GraphicsFilter aFilter,
GLuint aTarget = LOCAL_GL_TEXTURE_2D)
{
GLenum filter =
(aFilter == GraphicsFilter::FILTER_NEAREST ? LOCAL_GL_NEAREST : LOCAL_GL_LINEAR);
aGL->fTexParameteri(aTarget, LOCAL_GL_TEXTURE_MIN_FILTER, filter);
aGL->fTexParameteri(aTarget, LOCAL_GL_TEXTURE_MAG_FILTER, filter);
}
void
CompositorOGL::DrawQuadInternal(const Rect& aRect,
const Rect& aClipRect,
@ -1112,7 +1156,7 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
program->SetRenderColor(color);
AutoBindTexture bindMask;
AutoBindTexture bindMask(mGLContext);
if (maskType != MaskNone) {
bindMask.Bind(sourceMask, LOCAL_GL_TEXTURE0);
program->SetMaskTextureUnit(0);
@ -1137,7 +1181,7 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
LOCAL_GL_ONE, LOCAL_GL_ONE);
}
AutoBindTexture bindSource(source->AsSourceOGL(), LOCAL_GL_TEXTURE0);
AutoBindTexture bindSource(mGLContext, source->AsSourceOGL(), LOCAL_GL_TEXTURE0);
gfx3DMatrix textureTransform = source->AsSourceOGL()->GetTextureTransform();
program->SetTextureTransform(textureTransform);
@ -1155,13 +1199,13 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
filter = GraphicsFilter::FILTER_NEAREST;
}
#endif
mGLContext->ApplyFilterToBoundTexture(source->AsSourceOGL()->GetTextureTarget(),
filter);
ApplyFilterToBoundTexture(mGLContext, filter,
source->AsSourceOGL()->GetTextureTarget());
program->SetTextureUnit(0);
program->SetLayerOpacity(aOpacity);
AutoBindTexture bindMask;
AutoBindTexture bindMask(mGLContext);
if (maskType != MaskNone) {
mGLContext->fActiveTexture(LOCAL_GL_TEXTURE1);
bindMask.Bind(sourceMask, LOCAL_GL_TEXTURE1);
@ -1193,18 +1237,18 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
GraphicsFilter filter = ThebesFilter(effectYCbCr->mFilter);
AutoBindTexture bindY(sourceY, LOCAL_GL_TEXTURE0);
mGLContext->ApplyFilterToBoundTexture(filter);
AutoBindTexture bindCb(sourceCb, LOCAL_GL_TEXTURE1);
mGLContext->ApplyFilterToBoundTexture(filter);
AutoBindTexture bindCr(sourceCr, LOCAL_GL_TEXTURE2);
mGLContext->ApplyFilterToBoundTexture(filter);
AutoBindTexture bindY(mGLContext, sourceY, LOCAL_GL_TEXTURE0);
ApplyFilterToBoundTexture(mGLContext, filter);
AutoBindTexture bindCb(mGLContext, sourceCb, LOCAL_GL_TEXTURE1);
ApplyFilterToBoundTexture(mGLContext, filter);
AutoBindTexture bindCr(mGLContext, sourceCr, LOCAL_GL_TEXTURE2);
ApplyFilterToBoundTexture(mGLContext, filter);
program->SetYCbCrTextureUnits(Y, Cb, Cr);
program->SetLayerOpacity(aOpacity);
program->SetTextureTransform(gfx3DMatrix());
AutoBindTexture bindMask;
AutoBindTexture bindMask(mGLContext);
if (maskType != MaskNone) {
bindMask.Bind(sourceMask, LOCAL_GL_TEXTURE3);
program->SetMaskTextureUnit(3);
@ -1228,7 +1272,7 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
program->SetLayerOpacity(aOpacity);
program->SetTextureTransform(gfx3DMatrix());
AutoBindTexture bindMask;
AutoBindTexture bindMask(mGLContext);
if (maskType != MaskNone) {
bindMask.Bind(sourceMask, LOCAL_GL_TEXTURE1);
program->SetMaskTextureUnit(1);
@ -1277,8 +1321,8 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
LOCAL_GL_ONE, LOCAL_GL_ONE);
}
AutoBindTexture bindSourceOnBlack(sourceOnBlack, LOCAL_GL_TEXTURE0);
AutoBindTexture bindSourceOnWhite(sourceOnWhite, LOCAL_GL_TEXTURE1);
AutoBindTexture bindSourceOnBlack(mGLContext, sourceOnBlack, LOCAL_GL_TEXTURE0);
AutoBindTexture bindSourceOnWhite(mGLContext, sourceOnWhite, LOCAL_GL_TEXTURE1);
program->Activate();
program->SetBlackTextureUnit(0);
@ -1288,7 +1332,7 @@ CompositorOGL::DrawQuadInternal(const Rect& aRect,
program->SetTextureTransform(gfx3DMatrix());
program->SetRenderOffset(offset.x, offset.y);
program->SetLayerQuadRect(aRect);
AutoBindTexture bindMask;
AutoBindTexture bindMask(mGLContext);
if (maskType != MaskNone) {
bindMask.Bind(sourceMask, LOCAL_GL_TEXTURE2);
program->SetMaskTextureUnit(2);

Просмотреть файл

@ -32,8 +32,6 @@ public:
virtual void BindTexture(GLenum aTextureUnit) MOZ_OVERRIDE;
virtual void UnbindTexture() MOZ_OVERRIDE {}
virtual gfx::IntSize GetSize() const MOZ_OVERRIDE;
virtual TextureSourceOGL* AsSourceOGL() MOZ_OVERRIDE { return this; }

Просмотреть файл

@ -41,8 +41,6 @@ public:
virtual GLenum GetWrapMode() const MOZ_OVERRIDE { return LOCAL_GL_CLAMP_TO_EDGE; }
virtual void UnbindTexture() MOZ_OVERRIDE {}
// MacIOSurfaceTextureSourceOGL doesn't own any gl texture
virtual void DeallocateDeviceData() {}
@ -104,4 +102,4 @@ protected:
}
}
#endif // MOZILLA_GFX_MACIOSURFACETEXTUREHOSTOGL_H
#endif // MOZILLA_GFX_MACIOSURFACETEXTUREHOSTOGL_H

Просмотреть файл

@ -127,8 +127,6 @@ public:
virtual void BindTexture(GLenum aTextureUnit) = 0;
virtual void UnbindTexture() = 0;
virtual gfx::IntSize GetSize() const = 0;
virtual GLenum GetTextureTarget() const { return LOCAL_GL_TEXTURE_2D; }
@ -187,11 +185,6 @@ public:
virtual bool IsValid() const MOZ_OVERRIDE { return !!mTexImage; }
virtual void UnbindTexture() MOZ_OVERRIDE
{
mTexImage->ReleaseTexture();
}
virtual GLenum GetWrapMode() const MOZ_OVERRIDE
{
return mTexImage->GetWrapMode();
@ -269,8 +262,6 @@ public:
virtual GLenum GetWrapMode() const MOZ_OVERRIDE { return mWrapMode; }
virtual void UnbindTexture() MOZ_OVERRIDE {}
// SharedTextureSource doesn't own any gl texture
virtual void DeallocateDeviceData() {}
@ -406,11 +397,6 @@ public:
mTexture->BindTexture(aTextureUnit);
}
void UnbindTexture() MOZ_OVERRIDE
{
mTexture->ReleaseTexture();
}
gfx::IntSize GetSize() const MOZ_OVERRIDE;
GLenum GetWrapMode() const MOZ_OVERRIDE
@ -528,10 +514,6 @@ public:
{
mTexImage->BindTexture(aUnit);
}
void UnbindTexture() MOZ_OVERRIDE
{
mTexImage->ReleaseTexture();
}
virtual bool IsValid() const MOZ_OVERRIDE
{
return !!mTexImage;
@ -650,7 +632,6 @@ public:
// Lock already bound us!
MOZ_ASSERT(activetex == LOCAL_GL_TEXTURE0);
}
void UnbindTexture() MOZ_OVERRIDE {}
GLuint GetTextureID() { return mTextureHandle; }
ContentType GetContentType()
{
@ -731,8 +712,6 @@ public:
void BindTexture(GLenum activetex) MOZ_OVERRIDE;
void UnbindTexture() MOZ_OVERRIDE {}
GLuint GetTextureID() { return mTextureHandle; }
ContentType GetContentType() {
return (mFormat == gfx::FORMAT_B8G8R8A8) ?
@ -792,7 +771,6 @@ public:
virtual bool IsValid() const MOZ_OVERRIDE { return true; }
virtual GLenum GetWrapMode() const MOZ_OVERRIDE { return LOCAL_GL_CLAMP_TO_EDGE; }
virtual void BindTexture(GLenum aTextureUnit);
virtual void UnbindTexture() MOZ_OVERRIDE {}
virtual gfx::IntSize GetSize() const MOZ_OVERRIDE
{
return mSize;
@ -875,7 +853,6 @@ public:
virtual const char* Name() { return "GrallocDeprecatedTextureHostOGL"; }
void BindTexture(GLenum aTextureUnit) MOZ_OVERRIDE;
void UnbindTexture() MOZ_OVERRIDE {}
virtual TextureSourceOGL* AsSourceOGL() MOZ_OVERRIDE
{