Vulkan: Shader path for framebuffer-to-texture copy
Part 1 in a series of changes to perform image copies on the GPU.
Bug: angleproject:2958
Change-Id: I6264a880865c4738c0866f2dc71af63425fc4118
Reviewed-on: https://chromium-review.googlesource.com/c/1370724
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp
index 51792c9..3b9924b 100644
--- a/src/libANGLE/renderer/vulkan/ContextVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp
@@ -401,18 +401,9 @@
{
ANGLE_TRY(updateActiveTextures(context));
- // TODO(jmadill): Should probably merge this for loop with programVk's descriptor update.
- for (size_t textureIndex : mProgram->getState().getActiveSamplersMask())
- {
- // Ensure any writes to the textures are flushed before we read from them.
- TextureVk *textureVk = mActiveTextures[textureIndex];
- ANGLE_TRY(textureVk->ensureImageInitialized(this));
- textureVk->getImage().addReadDependency(mDrawFramebuffer->getFramebuffer());
- }
-
if (mProgram->hasTextures())
{
- ANGLE_TRY(mProgram->updateTexturesDescriptorSet(this));
+ ANGLE_TRY(mProgram->updateTexturesDescriptorSet(this, mDrawFramebuffer->getFramebuffer()));
}
return angle::Result::Continue;
}