Bug 952507 - Fix locking in double buffered ContentClient. r=nrc
This commit is contained in:
@@ -60,6 +60,24 @@ SharedTextureClientOGL::InitWith(gl::SharedTextureHandle aHandle,
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
SharedTextureClientOGL::Lock(OpenMode mode)
|
||||
{
|
||||
MOZ_ASSERT(!mIsLocked);
|
||||
if (!IsValid() || !IsAllocated()) {
|
||||
return false;
|
||||
}
|
||||
mIsLocked = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
SharedTextureClientOGL::Unlock()
|
||||
{
|
||||
MOZ_ASSERT(mIsLocked);
|
||||
mIsLocked = false;
|
||||
}
|
||||
|
||||
bool
|
||||
SharedTextureClientOGL::IsAllocated() const
|
||||
{
|
||||
@@ -69,6 +87,7 @@ SharedTextureClientOGL::IsAllocated() const
|
||||
StreamTextureClientOGL::StreamTextureClientOGL(TextureFlags aFlags)
|
||||
: TextureClient(aFlags)
|
||||
, mStream(0)
|
||||
, mIsLocked(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -77,6 +96,24 @@ StreamTextureClientOGL::~StreamTextureClientOGL()
|
||||
// the data is owned externally.
|
||||
}
|
||||
|
||||
bool
|
||||
StreamTextureClientOGL::Lock(OpenMode mode)
|
||||
{
|
||||
MOZ_ASSERT(!mIsLocked);
|
||||
if (!IsValid() || !IsAllocated()) {
|
||||
return false;
|
||||
}
|
||||
mIsLocked = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
StreamTextureClientOGL::Unlock()
|
||||
{
|
||||
MOZ_ASSERT(mIsLocked);
|
||||
mIsLocked = false;
|
||||
}
|
||||
|
||||
bool
|
||||
StreamTextureClientOGL::ToSurfaceDescriptor(SurfaceDescriptor& aOutDescriptor)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user