Commit e4ba2d87 by Michael Spang Committed by Commit Bot

Pass ContextVk instead of gl::Context to internal methods

Minor cleanup to change funciton signatures of vulkan specific methods in MemoryObjectVk & SemaphoreVk. Bug: angleproject:2475 Change-Id: I230664548004ebc48b559e0f25264ea948ce5a1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2067500 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent b8ca4309
......@@ -55,10 +55,12 @@ angle::Result MemoryObjectVk::importFd(gl::Context *context,
gl::HandleType handleType,
GLint fd)
{
ContextVk *contextVk = vk::GetImpl(context);
switch (handleType)
{
case gl::HandleType::OpaqueFd:
return importOpaqueFd(context, size, fd);
return importOpaqueFd(contextVk, size, fd);
default:
UNREACHABLE();
......@@ -66,7 +68,7 @@ angle::Result MemoryObjectVk::importFd(gl::Context *context,
}
}
angle::Result MemoryObjectVk::importOpaqueFd(gl::Context *context, GLuint64 size, GLint fd)
angle::Result MemoryObjectVk::importOpaqueFd(ContextVk *contextVk, GLuint64 size, GLint fd)
{
ASSERT(mFd == kInvalidFd);
mFd = fd;
......@@ -74,7 +76,7 @@ angle::Result MemoryObjectVk::importOpaqueFd(gl::Context *context, GLuint64 size
return angle::Result::Continue;
}
angle::Result MemoryObjectVk::createImage(const gl::Context *context,
angle::Result MemoryObjectVk::createImage(ContextVk *contextVk,
gl::TextureType type,
size_t levels,
GLenum internalFormat,
......@@ -82,7 +84,6 @@ angle::Result MemoryObjectVk::createImage(const gl::Context *context,
GLuint64 offset,
vk::ImageHelper *image)
{
ContextVk *contextVk = vk::GetImpl(context);
RendererVk *renderer = contextVk->getRenderer();
const vk::Format &vkFormat = renderer->getFormat(internalFormat);
......
......@@ -28,7 +28,7 @@ class MemoryObjectVk : public MemoryObjectImpl
gl::HandleType handleType,
GLint fd) override;
angle::Result createImage(const gl::Context *context,
angle::Result createImage(ContextVk *contextVk,
gl::TextureType type,
size_t levels,
GLenum internalFormat,
......@@ -37,7 +37,7 @@ class MemoryObjectVk : public MemoryObjectImpl
vk::ImageHelper *image);
private:
angle::Result importOpaqueFd(gl::Context *context, GLuint64 size, GLint fd);
angle::Result importOpaqueFd(ContextVk *contextVk, GLuint64 size, GLint fd);
GLuint64 mSize;
int mFd;
......
......@@ -65,13 +65,15 @@ void SemaphoreVk::onDestroy(const gl::Context *context)
angle::Result SemaphoreVk::importFd(gl::Context *context, gl::HandleType handleType, GLint fd)
{
ContextVk *contextVk = vk::GetImpl(context);
switch (handleType)
{
case gl::HandleType::OpaqueFd:
return importOpaqueFd(context, fd);
return importOpaqueFd(contextVk, fd);
default:
ANGLE_VK_UNREACHABLE(vk::GetImpl(context));
ANGLE_VK_UNREACHABLE(contextVk);
return angle::Result::Stop;
}
}
......@@ -239,9 +241,8 @@ angle::Result SemaphoreVk::signal(gl::Context *context,
return contextVk->flushImpl(&mSemaphore);
}
angle::Result SemaphoreVk::importOpaqueFd(gl::Context *context, GLint fd)
angle::Result SemaphoreVk::importOpaqueFd(ContextVk *contextVk, GLint fd)
{
ContextVk *contextVk = vk::GetImpl(context);
RendererVk *renderer = contextVk->getRenderer();
if (!mSemaphore.valid())
......
......@@ -34,7 +34,7 @@ class SemaphoreVk : public SemaphoreImpl
const gl::TextureBarrierVector &textureBarriers) override;
private:
angle::Result importOpaqueFd(gl::Context *context, GLint fd);
angle::Result importOpaqueFd(ContextVk *contextVk, GLint fd);
vk::Semaphore mSemaphore;
};
......
......@@ -830,7 +830,7 @@ angle::Result TextureVk::setStorageExternalMemory(const gl::Context *context,
setImageHelper(contextVk, new vk::ImageHelper(), mState.getType(), format, 0, 0, 0, true);
ANGLE_TRY(
memoryObjectVk->createImage(context, type, levels, internalFormat, size, offset, mImage));
memoryObjectVk->createImage(contextVk, type, levels, internalFormat, size, offset, mImage));
gl::Format glFormat(internalFormat);
ANGLE_TRY(initImageViews(contextVk, format, glFormat.info->sized, static_cast<uint32_t>(levels),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment