Hash :
3b2c6bfd
Author :
Date :
2019-04-16T17:19:50
Vulkan: Implement glImportMemoryFdEXT Allow importing opaque file descriptors into memory objects on linux. Currently this just holds onto the file descriptor rather than calling vkAllocateMemory immediately. The latter will be easier once we have support for suballocation (anglebug.com/2162). Bug: angleproject:3289 Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// MemoryObject.h: Implements the gl::MemoryObject class [EXT_external_objects]
#include "libANGLE/MemoryObject.h"
#include "common/angleutils.h"
#include "libANGLE/renderer/GLImplFactory.h"
#include "libANGLE/renderer/MemoryObjectImpl.h"
namespace gl
{
MemoryObject::MemoryObject(rx::GLImplFactory *factory, GLuint id)
: RefCountObject(id), mImplementation(factory->createMemoryObject())
{}
MemoryObject::~MemoryObject() {}
void MemoryObject::onDestroy(const Context *context)
{
mImplementation->onDestroy(context);
}
angle::Result MemoryObject::importFd(Context *context,
GLuint64 size,
HandleType handleType,
GLint fd)
{
return mImplementation->importFd(context, size, handleType, fd);
}
} // namespace gl