forked from mirrors/gecko-dev
		
	 7d06300567
			
		
	
	
		7d06300567
		
	
	
	
	
		
			
			gecko uses IDXGIResource::GetSharedHandle(). But it is recommend not to use anymore to retrieve the handle to a shared resource. IDXGIResource1::CreateSharedHandle() with D3D11_RESOURCE_MISC_SHARED_NTHANDLE flag should be used instead of the GetSharedHandle(). The CreateSharedHandle() could be called only once for a shared resource. Later calls fail. HANDLEs of ID3D11Texture2D are replaced by gfx::FileHandleWrappers. Differential Revision: https://phabricator.services.mozilla.com/D192173
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			863 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			863 B
		
	
	
	
		
			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/. */
 | |
| 
 | |
| #include "FileHandleWrapper.h"
 | |
| 
 | |
| #include "mozilla/ipc/FileDescriptor.h"
 | |
| 
 | |
| namespace mozilla::gfx {
 | |
| 
 | |
| FileHandleWrapper::FileHandleWrapper(mozilla::UniqueFileHandle&& aHandle)
 | |
|     : mHandle(std::move(aHandle)) {}
 | |
| 
 | |
| FileHandleWrapper::~FileHandleWrapper() {}
 | |
| 
 | |
| mozilla::detail::FileHandleType FileHandleWrapper::GetHandle() {
 | |
|   return mHandle.get();
 | |
| }
 | |
| 
 | |
| mozilla::UniqueFileHandle FileHandleWrapper::ClonePlatformHandle() {
 | |
|   auto handle = ipc::FileDescriptor(GetHandle());
 | |
|   return handle.TakePlatformHandle();
 | |
| }
 | |
| 
 | |
| }  // namespace mozilla::gfx
 |