Remove FenceInfo. Instead use GpuProcessFencesHolderId and GpuProcessD3D11FencesHolderMap. GpuProcessD3D11FencesHolderMap is changed to instantiate also in Parent process when GPU process does not exist. Then it seems better to change its name. The name change is going to be handled in Bug 1958752. Differential Revision: https://phabricator.services.mozilla.com/D244539
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* 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 _include_gfx_ipc_FileHandleWrapper_h__
|
|
#define _include_gfx_ipc_FileHandleWrapper_h__
|
|
|
|
#include "mozilla/UniquePtrExtensions.h"
|
|
#include "nsISupportsImpl.h"
|
|
|
|
namespace mozilla {
|
|
|
|
namespace ipc {
|
|
template <typename T>
|
|
struct IPDLParamTraits;
|
|
} // namespace ipc
|
|
|
|
namespace gfx {
|
|
|
|
//
|
|
// A class for sharing file handle or shared handle among multiple clients.
|
|
//
|
|
// The file handles or the shared handles consume system resources. The class
|
|
// could reduce the number of shared handles in a process.
|
|
//
|
|
class FileHandleWrapper {
|
|
friend struct mozilla::ipc::IPDLParamTraits<gfx::FileHandleWrapper*>;
|
|
|
|
public:
|
|
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FileHandleWrapper);
|
|
|
|
explicit FileHandleWrapper(mozilla::UniqueFileHandle&& aHandle);
|
|
|
|
mozilla::detail::FileHandleType GetHandle();
|
|
|
|
mozilla::UniqueFileHandle ClonePlatformHandle();
|
|
|
|
protected:
|
|
~FileHandleWrapper();
|
|
|
|
const mozilla::UniqueFileHandle mHandle;
|
|
};
|
|
|
|
} // namespace gfx
|
|
} // namespace mozilla
|
|
|
|
#endif // _include_gfx_ipc_FileHandleWrapper_h__
|