Bug 1313281 - Part 6: Remove FenceHandle. r=sotaro

This commit is contained in:
Matt Woodrow 2016-10-27 21:02:12 +13:00
parent 6250728c9c
commit 5ab6ff0b97
7 changed files with 0 additions and 179 deletions

View File

@ -605,11 +605,5 @@ Compositor::SetDispAcquireFence(Layer* aLayer)
{
}
FenceHandle
Compositor::GetReleaseFence()
{
return FenceHandle();
}
} // namespace layers
} // namespace mozilla

View File

@ -17,7 +17,6 @@
#include "mozilla/gfx/Types.h" // for Float
#include "mozilla/gfx/Triangle.h" // for Triangle, TexturedTriangle
#include "mozilla/layers/CompositorTypes.h" // for DiagnosticTypes, etc
#include "mozilla/layers/FenceUtils.h" // for FenceHandle
#include "mozilla/layers/LayersTypes.h" // for LayersBackend
#include "mozilla/widget/CompositorWidget.h"
#include "nsISupportsImpl.h" // for MOZ_COUNT_CTOR, etc
@ -435,8 +434,6 @@ public:
virtual void SetDispAcquireFence(Layer* aLayer);
virtual FenceHandle GetReleaseFence();
/**
* Post-rendering stuff if the rendering is done outside of this Compositor
* e.g., by Composer2D.

View File

@ -17,7 +17,6 @@
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Types.h" // for SurfaceFormat
#include "mozilla/layers/FenceUtils.h" // for FenceHandle
#include "mozilla/ipc/Shmem.h" // for Shmem
#include "mozilla/layers/AtomicRefCountedWithFinalize.h"
#include "mozilla/layers/CompositorTypes.h" // for TextureFlags, etc
@ -287,10 +286,6 @@ public:
virtual bool ReadBack(TextureReadbackSink* aReadbackSink) { return false; }
/// Ideally this should not be exposed and users of TextureClient would use Lock/Unlock
/// preoperly but that requires a few changes to SharedSurface and maybe gonk video.
virtual void WaitForFence(FenceHandle* aFence) {};
virtual void SyncWithObject(SyncObject* aFence) {};
virtual TextureFlags GetTextureFlags() const { return TextureFlags::NO_FLAGS; }

View File

@ -17,7 +17,6 @@
#include "mozilla/gfx/Types.h" // for SurfaceFormat, etc
#include "mozilla/layers/Compositor.h" // for Compositor
#include "mozilla/layers/CompositorTypes.h" // for TextureFlags, etc
#include "mozilla/layers/FenceUtils.h" // for FenceHandle
#include "mozilla/layers/LayersTypes.h" // for LayerRenderState, etc
#include "mozilla/layers/LayersSurfaces.h"
#include "mozilla/mozalloc.h" // for operator delete

View File

@ -1,78 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* vim: sw=2 ts=8 et :
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "FenceUtils.h"
using namespace mozilla::layers;
namespace IPC {
void
ParamTraits<FenceHandle>::Write(Message* aMsg,
const paramType& aParam)
{
FenceHandle handle = aParam;
MOZ_ASSERT(handle.IsValid());
}
bool
ParamTraits<FenceHandle>::Read(const Message* aMsg,
PickleIterator* aIter, paramType* aResult)
{
return true;
}
} // namespace IPC
namespace mozilla {
namespace layers {
FenceHandle::FenceHandle()
: mFence(new FdObj())
{
}
FenceHandle::FenceHandle(FdObj* aFdObj)
: mFence(aFdObj)
{
MOZ_ASSERT(aFdObj);
}
void
FenceHandle::Merge(const FenceHandle& aFenceHandle)
{
}
void
FenceHandle::TransferToAnotherFenceHandle(FenceHandle& aFenceHandle)
{
aFenceHandle.mFence = this->GetAndResetFdObj();
}
already_AddRefed<FenceHandle::FdObj>
FenceHandle::GetAndResetFdObj()
{
RefPtr<FdObj> fence = mFence;
mFence = new FdObj();
return fence.forget();
}
already_AddRefed<FenceHandle::FdObj>
FenceHandle::GetDupFdObj()
{
RefPtr<FdObj> fdObj;
if (IsValid()) {
fdObj = new FenceHandle::FdObj(dup(mFence->mFd));
} else {
fdObj = new FenceHandle::FdObj();
}
return fdObj.forget();
}
} // namespace layers
} // namespace mozilla

View File

@ -1,84 +0,0 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* vim: sw=2 ts=8 et :
*/
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef IPC_FencerUtils_h
#define IPC_FencerUtils_h
#include "ipc/IPCMessageUtils.h"
#include "mozilla/RefPtr.h" // for nsRefPtr
namespace mozilla {
namespace layers {
class FenceHandle {
public:
class FdObj {
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FdObj)
friend class FenceHandle;
public:
FdObj()
: mFd(-1) {}
explicit FdObj(int aFd)
: mFd(aFd) {}
int GetAndResetFd()
{
int fd = mFd;
mFd = -1;
return fd;
}
private:
virtual ~FdObj() {
if (mFd != -1) {
close(mFd);
}
}
int mFd;
};
FenceHandle();
explicit FenceHandle(FdObj* aFdObj);
bool operator==(const FenceHandle& aOther) const {
return mFence.get() == aOther.mFence.get();
}
bool IsValid() const
{
return (mFence->mFd != -1);
}
void Merge(const FenceHandle& aFenceHandle);
void TransferToAnotherFenceHandle(FenceHandle& aFenceHandle);
already_AddRefed<FdObj> GetAndResetFdObj();
already_AddRefed<FdObj> GetDupFdObj();
private:
RefPtr<FdObj> mFence;
};
} // namespace layers
} // namespace mozilla
namespace IPC {
template <>
struct ParamTraits<mozilla::layers::FenceHandle> {
typedef mozilla::layers::FenceHandle paramType;
static void Write(Message* aMsg, const paramType& aParam);
static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult);
};
} // namespace IPC
#endif // IPC_FencerUtils_h

View File

@ -168,7 +168,6 @@ EXPORTS.mozilla.layers += [
'ipc/CompositorBridgeChild.h',
'ipc/CompositorBridgeParent.h',
'ipc/CompositorThread.h',
'ipc/FenceUtils.h',
'ipc/GonkNativeHandle.h',
'ipc/GonkNativeHandleUtils.h',
'ipc/ImageBridgeChild.h',
@ -337,7 +336,6 @@ UNIFIED_SOURCES += [
'ipc/CompositorBridgeChild.cpp',
'ipc/CompositorBridgeParent.cpp',
'ipc/CompositorThread.cpp',
'ipc/FenceUtils.cpp',
'ipc/ImageBridgeChild.cpp',
'ipc/ImageBridgeParent.cpp',
'ipc/ImageContainerChild.cpp',