Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit a741abb

Browse files
null77Commit Bot
authored andcommitted
Vulkan: Rename CommandGraphResource to Resource.
Also renames the h and cpp files to ResourceVk (to keep distinct from other resource.h/cpp files) and renames 'onResourceAccess' to 'retain'. Cleans up a few remaining mentions of the command graph in comments. Bug: angleproject:4029 Change-Id: Ifc8e880c8cea3fc48a4aec4730191c88aa35a076 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2065920 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
1 parent 468dfed commit a741abb

23 files changed

+114
-168
lines changed

src/libANGLE/renderer/vulkan/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ declare_args() {
2020
_vulkan_backend_sources = [
2121
"BufferVk.cpp",
2222
"BufferVk.h",
23-
"CommandGraph.cpp",
24-
"CommandGraph.h",
2523
"CompilerVk.cpp",
2624
"CompilerVk.h",
2725
"ContextVk.cpp",
@@ -57,6 +55,8 @@ _vulkan_backend_sources = [
5755
"RenderbufferVk.h",
5856
"RendererVk.cpp",
5957
"RendererVk.h",
58+
"ResourceVk.cpp",
59+
"ResourceVk.h",
6060
"SamplerVk.cpp",
6161
"SamplerVk.h",
6262
"SecondaryCommandBuffer.cpp",

src/libANGLE/renderer/vulkan/BufferVk.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,13 +258,13 @@ angle::Result BufferVk::mapRangeImpl(ContextVk *contextVk,
258258
if ((access & GL_MAP_UNSYNCHRONIZED_BIT) == 0)
259259
{
260260
// If there are pending commands for the buffer, flush them.
261-
if (mBuffer.hasRecordedCommands())
261+
if (mBuffer.usedInRecordedCommands())
262262
{
263263
ANGLE_TRY(contextVk->flushImpl(nullptr));
264264
}
265265

266266
// Make sure the driver is done with the buffer.
267-
if (mBuffer.hasRunningCommands(contextVk->getLastCompletedQueueSerial()))
267+
if (mBuffer.usedInRunningCommands(contextVk->getLastCompletedQueueSerial()))
268268
{
269269
ANGLE_TRY(mBuffer.finishRunningCommands(contextVk));
270270
}
@@ -366,7 +366,7 @@ angle::Result BufferVk::setDataImpl(ContextVk *contextVk,
366366
VkBufferCopy copyRegion = {stagingBufferOffset, offset, size};
367367
ANGLE_TRY(mBuffer.copyFromBuffer(contextVk, mStagingBuffer.getCurrentBuffer()->getBuffer(),
368368
VK_ACCESS_HOST_WRITE_BIT, copyRegion));
369-
mStagingBuffer.getCurrentBuffer()->onResourceAccess(&contextVk->getResourceUseList());
369+
mStagingBuffer.getCurrentBuffer()->retain(&contextVk->getResourceUseList());
370370
}
371371
else
372372
{

src/libANGLE/renderer/vulkan/ContextVk.cpp

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,7 @@ egl::ContextPriority GetContextPriority(const gl::State &state)
513513
ContextVk::ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk *renderer)
514514
: ContextImpl(state, errorSet),
515515
vk::Context(renderer),
516+
mRenderPassCommandBuffer(nullptr),
516517
mCurrentGraphicsPipeline(nullptr),
517518
mCurrentComputePipeline(nullptr),
518519
mCurrentDrawMode(gl::PrimitiveMode::InvalidEnum),
@@ -1116,7 +1117,7 @@ angle::Result ContextVk::handleDirtyComputePipeline(const gl::Context *context,
11161117
ANGLE_INLINE angle::Result ContextVk::handleDirtyTexturesImpl(
11171118
const gl::Context *context,
11181119
vk::CommandBuffer *commandBuffer,
1119-
vk::CommandGraphResource *recorder,
1120+
vk::Resource *recorder,
11201121
CommandBufferHelper *commandBufferHelper)
11211122
{
11221123
const gl::ActiveTextureMask &activeTextures = mProgram->getState().getActiveSamplersMask();
@@ -1141,15 +1142,15 @@ ANGLE_INLINE angle::Result ContextVk::handleDirtyTexturesImpl(
11411142
commandBufferHelper->imageRead(&mResourceUseList, image.getAspectFlags(), textureLayout,
11421143
&image);
11431144

1144-
textureVk->onImageViewUse(&mResourceUseList);
1145+
textureVk->retainImageViews(&mResourceUseList);
11451146

11461147
if (unit.sampler)
11471148
{
1148-
unit.sampler->onSamplerAccess(&mResourceUseList);
1149+
unit.sampler->retain(&mResourceUseList);
11491150
}
11501151
else
11511152
{
1152-
textureVk->onSamplerUse(&mResourceUseList);
1153+
textureVk->retainSampler(&mResourceUseList);
11531154
}
11541155
}
11551156

@@ -1221,7 +1222,7 @@ angle::Result ContextVk::handleDirtyGraphicsIndexBuffer(const gl::Context *conte
12211222
ANGLE_INLINE angle::Result ContextVk::handleDirtyShaderResourcesImpl(
12221223
const gl::Context *context,
12231224
vk::CommandBuffer *commandBuffer,
1224-
vk::CommandGraphResource *recorder,
1225+
vk::Resource *recorder,
12251226
CommandBufferHelper *commandBufferHelper)
12261227
{
12271228
if (mProgram->hasImages())
@@ -3400,7 +3401,7 @@ angle::Result ContextVk::updateActiveTextures(const gl::Context *context)
34003401
}
34013402

34023403
angle::Result ContextVk::updateActiveImages(const gl::Context *context,
3403-
vk::CommandGraphResource *recorder,
3404+
vk::Resource *recorder,
34043405
CommandBufferHelper *commandBufferHelper)
34053406
{
34063407
const gl::State &glState = mState;
@@ -3838,7 +3839,7 @@ angle::Result ContextVk::onImageRead(VkImageAspectFlags aspectFlags,
38383839
ANGLE_TRY(getOutsideRenderPassCommandBuffer(&commandBuffer));
38393840
image->changeLayout(aspectFlags, imageLayout, commandBuffer);
38403841
}
3841-
image->onResourceAccess(&mResourceUseList);
3842+
image->retain(&mResourceUseList);
38423843
return angle::Result::Continue;
38433844
}
38443845

@@ -3855,7 +3856,7 @@ angle::Result ContextVk::onImageWrite(VkImageAspectFlags aspectFlags,
38553856
ANGLE_TRY(getOutsideRenderPassCommandBuffer(&commandBuffer));
38563857

38573858
image->changeLayout(aspectFlags, imageLayout, commandBuffer);
3858-
image->onResourceAccess(&mResourceUseList);
3859+
image->retain(&mResourceUseList);
38593860

38603861
return angle::Result::Continue;
38613862
}
@@ -3947,7 +3948,7 @@ void CommandBufferHelper::bufferRead(vk::ResourceUseList *resourceUseList,
39473948
VkAccessFlags readAccessType,
39483949
vk::BufferHelper *buffer)
39493950
{
3950-
buffer->onResourceAccess(resourceUseList);
3951+
buffer->retain(resourceUseList);
39513952
buffer->updateReadBarrier(readAccessType, &mGlobalMemoryBarrierSrcAccess,
39523953
&mGlobalMemoryBarrierDstAccess);
39533954
mGlobalMemoryBarrierStages = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
@@ -3957,7 +3958,7 @@ void CommandBufferHelper::bufferWrite(vk::ResourceUseList *resourceUseList,
39573958
VkAccessFlags writeAccessType,
39583959
vk::BufferHelper *buffer)
39593960
{
3960-
buffer->onResourceAccess(resourceUseList);
3961+
buffer->retain(resourceUseList);
39613962
buffer->updateWriteBarrier(writeAccessType, &mGlobalMemoryBarrierSrcAccess,
39623963
&mGlobalMemoryBarrierDstAccess);
39633964
mGlobalMemoryBarrierStages = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
@@ -3978,7 +3979,7 @@ void CommandBufferHelper::imageRead(vk::ResourceUseList *resourceUseList,
39783979
vk::ImageLayout imageLayout,
39793980
vk::ImageHelper *image)
39803981
{
3981-
image->onResourceAccess(resourceUseList);
3982+
image->retain(resourceUseList);
39823983
if (image->isLayoutChangeNecessary(imageLayout))
39833984
{
39843985
image->changeLayout(aspectFlags, imageLayout, this);
@@ -3990,7 +3991,7 @@ void CommandBufferHelper::imageWrite(vk::ResourceUseList *resourceUseList,
39903991
vk::ImageLayout imageLayout,
39913992
vk::ImageHelper *image)
39923993
{
3993-
image->onResourceAccess(resourceUseList);
3994+
image->retain(resourceUseList);
39943995
image->changeLayout(aspectFlags, imageLayout, this);
39953996
}
39963997

src/libANGLE/renderer/vulkan/ContextVk.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ class RenderPassCommandBuffer final : public CommandBufferHelper
232232
bool mRebindTransformFeedbackBuffers;
233233
};
234234

235-
class ContextVk : public ContextImpl, public vk::Context, public vk::RenderPassOwner
235+
class ContextVk : public ContextImpl, public vk::Context
236236
{
237237
public:
238238
ContextVk(const gl::State &state, gl::ErrorSet *errorSet, RendererVk *renderer);
@@ -778,7 +778,7 @@ class ContextVk : public ContextImpl, public vk::Context, public vk::RenderPassO
778778

779779
angle::Result updateActiveTextures(const gl::Context *context);
780780
angle::Result updateActiveImages(const gl::Context *context,
781-
vk::CommandGraphResource *recorder,
781+
vk::Resource *recorder,
782782
CommandBufferHelper *commandBufferHelper);
783783
angle::Result updateDefaultAttribute(size_t attribIndex);
784784

@@ -839,11 +839,11 @@ class ContextVk : public ContextImpl, public vk::Context, public vk::RenderPassO
839839
// Common parts of the common dirty bit handlers.
840840
angle::Result handleDirtyTexturesImpl(const gl::Context *context,
841841
vk::CommandBuffer *commandBuffer,
842-
vk::CommandGraphResource *recorder,
842+
vk::Resource *recorder,
843843
CommandBufferHelper *commandBufferHelper);
844844
angle::Result handleDirtyShaderResourcesImpl(const gl::Context *context,
845845
vk::CommandBuffer *commandBuffer,
846-
vk::CommandGraphResource *recorder,
846+
vk::Resource *recorder,
847847
CommandBufferHelper *commandBufferHelper);
848848
void handleDirtyDriverUniformsBindingImpl(vk::CommandBuffer *commandBuffer,
849849
VkPipelineBindPoint bindPoint,
@@ -883,9 +883,13 @@ class ContextVk : public ContextImpl, public vk::Context, public vk::RenderPassO
883883
bool hasRecordedCommands();
884884
void dumpCommandStreamDiagnostics();
885885

886+
ANGLE_INLINE void onRenderPassFinished() { mRenderPassCommandBuffer = nullptr; }
887+
886888
std::array<DirtyBitHandler, DIRTY_BIT_MAX> mGraphicsDirtyBitHandlers;
887889
std::array<DirtyBitHandler, DIRTY_BIT_MAX> mComputeDirtyBitHandlers;
888890

891+
vk::CommandBuffer *mRenderPassCommandBuffer;
892+
889893
vk::PipelineHelper *mCurrentGraphicsPipeline;
890894
vk::PipelineAndSerial *mCurrentComputePipeline;
891895
gl::PrimitiveMode mCurrentDrawMode;

src/libANGLE/renderer/vulkan/FramebufferVk.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
#include "libANGLE/Display.h"
1818
#include "libANGLE/formatutils.h"
1919
#include "libANGLE/renderer/renderer_utils.h"
20-
#include "libANGLE/renderer/vulkan/CommandGraph.h"
2120
#include "libANGLE/renderer/vulkan/ContextVk.h"
2221
#include "libANGLE/renderer/vulkan/DisplayVk.h"
2322
#include "libANGLE/renderer/vulkan/RenderTargetVk.h"
2423
#include "libANGLE/renderer/vulkan/RendererVk.h"
24+
#include "libANGLE/renderer/vulkan/ResourceVk.h"
2525
#include "libANGLE/renderer/vulkan/SurfaceVk.h"
2626
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
2727
#include "libANGLE/trace.h"
@@ -156,7 +156,7 @@ angle::Result FramebufferVk::invalidate(const gl::Context *context,
156156
if (mFramebuffer != nullptr)
157157
{
158158
ASSERT(mFramebuffer->valid());
159-
mFramebuffer->onResourceAccess(&contextVk->getResourceUseList());
159+
mFramebuffer->retain(&contextVk->getResourceUseList());
160160

161161
if (contextVk->hasStartedRenderPass())
162162
{
@@ -179,7 +179,7 @@ angle::Result FramebufferVk::invalidateSub(const gl::Context *context,
179179
if (mFramebuffer != nullptr)
180180
{
181181
ASSERT(mFramebuffer->valid());
182-
mFramebuffer->onResourceAccess(&contextVk->getResourceUseList());
182+
mFramebuffer->retain(&contextVk->getResourceUseList());
183183

184184
if (contextVk->hasStartedRenderPass() &&
185185
area.encloses(contextVk->getStartedRenderPassCommands().getRenderArea()))
@@ -755,7 +755,7 @@ angle::Result FramebufferVk::blit(const gl::Context *context,
755755
{
756756
const vk::ImageView *readImageView = nullptr;
757757
ANGLE_TRY(readRenderTarget->getImageView(contextVk, &readImageView));
758-
readRenderTarget->onImageViewAccess(contextVk);
758+
readRenderTarget->retainImageViews(contextVk);
759759
ANGLE_TRY(utilsVk.colorBlitResolve(contextVk, this, &readRenderTarget->getImage(),
760760
readImageView, params));
761761
}

src/libANGLE/renderer/vulkan/FramebufferVk.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include "libANGLE/renderer/FramebufferImpl.h"
1414
#include "libANGLE/renderer/RenderTargetCache.h"
1515
#include "libANGLE/renderer/vulkan/BufferVk.h"
16-
#include "libANGLE/renderer/vulkan/CommandGraph.h"
16+
#include "libANGLE/renderer/vulkan/ResourceVk.h"
1717
#include "libANGLE/renderer/vulkan/UtilsVk.h"
1818
#include "libANGLE/renderer/vulkan/vk_cache_utils.h"
1919

src/libANGLE/renderer/vulkan/ProgramVk.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,7 +1293,7 @@ void ProgramVk::updateDefaultUniformsDescriptorSet(ContextVk *contextVk)
12931293
}
12941294
else
12951295
{
1296-
mEmptyBuffer.onResourceAccess(&contextVk->getResourceUseList());
1296+
mEmptyBuffer.retain(&contextVk->getResourceUseList());
12971297
bufferInfo.buffer = mEmptyBuffer.getBuffer().getHandle();
12981298
mDescriptorBuffersCache.emplace_back(&mEmptyBuffer);
12991299
}
@@ -1326,7 +1326,7 @@ void ProgramVk::updateDefaultUniformsDescriptorSet(ContextVk *contextVk)
13261326
void ProgramVk::updateBuffersDescriptorSet(ContextVk *contextVk,
13271327
vk::ResourceUseList *resourceUseList,
13281328
CommandBufferHelper *commandBufferHelper,
1329-
vk::CommandGraphResource *recorder,
1329+
vk::Resource *recorder,
13301330
const std::vector<gl::InterfaceBlock> &blocks,
13311331
VkDescriptorType descriptorType)
13321332
{
@@ -1412,7 +1412,7 @@ void ProgramVk::updateBuffersDescriptorSet(ContextVk *contextVk,
14121412
void ProgramVk::updateAtomicCounterBuffersDescriptorSet(ContextVk *contextVk,
14131413
vk::ResourceUseList *resourceUseList,
14141414
CommandBufferHelper *commandBufferHelper,
1415-
vk::CommandGraphResource *recorder)
1415+
vk::Resource *recorder)
14161416
{
14171417
const gl::State &glState = contextVk->getState();
14181418
const std::vector<gl::AtomicCounterBuffer> &atomicCounterBuffers =
@@ -1466,7 +1466,7 @@ void ProgramVk::updateAtomicCounterBuffersDescriptorSet(ContextVk *contextVk,
14661466
}
14671467

14681468
// Bind the empty buffer to every array slot that's unused.
1469-
mEmptyBuffer.onResourceAccess(&contextVk->getResourceUseList());
1469+
mEmptyBuffer.retain(&contextVk->getResourceUseList());
14701470
for (size_t binding : ~writtenBindings)
14711471
{
14721472
VkDescriptorBufferInfo &bufferInfo = descriptorBufferInfo[binding];
@@ -1494,8 +1494,7 @@ void ProgramVk::updateAtomicCounterBuffersDescriptorSet(ContextVk *contextVk,
14941494
writeDescriptorInfo.data(), 0, nullptr);
14951495
}
14961496

1497-
angle::Result ProgramVk::updateImagesDescriptorSet(ContextVk *contextVk,
1498-
vk::CommandGraphResource *recorder)
1497+
angle::Result ProgramVk::updateImagesDescriptorSet(ContextVk *contextVk, vk::Resource *recorder)
14991498
{
15001499
const gl::State &glState = contextVk->getState();
15011500
const std::vector<gl::ImageBinding> &imageBindings = mState.getImageBindings();
@@ -1573,7 +1572,7 @@ angle::Result ProgramVk::updateShaderResourcesDescriptorSet(
15731572
ContextVk *contextVk,
15741573
vk::ResourceUseList *resourceUseList,
15751574
CommandBufferHelper *commandBufferHelper,
1576-
vk::CommandGraphResource *recorder)
1575+
vk::Resource *recorder)
15771576
{
15781577
ANGLE_TRY(allocateDescriptorSet(contextVk, kShaderResourceDescriptorSetIndex));
15791578

@@ -1829,7 +1828,7 @@ angle::Result ProgramVk::updateDescriptorSets(ContextVk *contextVk,
18291828

18301829
for (vk::BufferHelper *buffer : mDescriptorBuffersCache)
18311830
{
1832-
buffer->onResourceAccess(&contextVk->getResourceUseList());
1831+
buffer->retain(&contextVk->getResourceUseList());
18331832
}
18341833

18351834
return angle::Result::Continue;

src/libANGLE/renderer/vulkan/ProgramVk.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class ProgramVk : public ProgramImpl
111111
angle::Result updateShaderResourcesDescriptorSet(ContextVk *contextVk,
112112
vk::ResourceUseList *resourceUseList,
113113
CommandBufferHelper *commandBufferHelper,
114-
vk::CommandGraphResource *recorder);
114+
vk::Resource *recorder);
115115
angle::Result updateTransformFeedbackDescriptorSet(ContextVk *contextVk,
116116
vk::FramebufferHelper *framebuffer);
117117

@@ -192,15 +192,14 @@ class ProgramVk : public ProgramImpl
192192
void updateBuffersDescriptorSet(ContextVk *contextVk,
193193
vk::ResourceUseList *resourceUseList,
194194
CommandBufferHelper *commandBufferHelper,
195-
vk::CommandGraphResource *recorder,
195+
vk::Resource *recorder,
196196
const std::vector<gl::InterfaceBlock> &blocks,
197197
VkDescriptorType descriptorType);
198198
void updateAtomicCounterBuffersDescriptorSet(ContextVk *contextVk,
199199
vk::ResourceUseList *resourceUseList,
200200
CommandBufferHelper *commandBufferHelper,
201-
vk::CommandGraphResource *recorder);
202-
angle::Result updateImagesDescriptorSet(ContextVk *contextVk,
203-
vk::CommandGraphResource *recorder);
201+
vk::Resource *recorder);
202+
angle::Result updateImagesDescriptorSet(ContextVk *contextVk, vk::Resource *recorder);
204203

205204
template <class T>
206205
void getUniformImpl(GLint location, T *v, GLenum entryPointType) const;

src/libANGLE/renderer/vulkan/RenderTargetVk.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99

1010
#include "libANGLE/renderer/vulkan/RenderTargetVk.h"
1111

12-
#include "libANGLE/renderer/vulkan/CommandGraph.h"
1312
#include "libANGLE/renderer/vulkan/ContextVk.h"
13+
#include "libANGLE/renderer/vulkan/ResourceVk.h"
1414
#include "libANGLE/renderer/vulkan/TextureVk.h"
1515
#include "libANGLE/renderer/vulkan/vk_format_utils.h"
1616
#include "libANGLE/renderer/vulkan/vk_helpers.h"
@@ -74,7 +74,7 @@ angle::Result RenderTargetVk::onColorDraw(ContextVk *contextVk)
7474

7575
contextVk->onRenderPassImageWrite(VK_IMAGE_ASPECT_COLOR_BIT, vk::ImageLayout::ColorAttachment,
7676
mImage);
77-
onImageViewAccess(contextVk);
77+
retainImageViews(contextVk);
7878

7979
return angle::Result::Continue;
8080
}
@@ -87,7 +87,7 @@ angle::Result RenderTargetVk::onDepthStencilDraw(ContextVk *contextVk)
8787
VkImageAspectFlags aspectFlags = vk::GetDepthStencilAspectFlags(format);
8888

8989
contextVk->onRenderPassImageWrite(aspectFlags, vk::ImageLayout::DepthStencilAttachment, mImage);
90-
onImageViewAccess(contextVk);
90+
retainImageViews(contextVk);
9191

9292
return angle::Result::Continue;
9393
}
@@ -134,7 +134,7 @@ void RenderTargetVk::updateSwapchainImage(vk::ImageHelper *image, vk::ImageViewH
134134
vk::ImageHelper *RenderTargetVk::getImageForWrite(ContextVk *contextVk) const
135135
{
136136
ASSERT(mImage && mImage->valid());
137-
onImageViewAccess(contextVk);
137+
retainImageViews(contextVk);
138138
return mImage;
139139
}
140140

@@ -150,8 +150,8 @@ angle::Result RenderTargetVk::flushStagedUpdates(ContextVk *contextVk)
150150
mLayerIndex + 1, commandBuffer);
151151
}
152152

153-
void RenderTargetVk::onImageViewAccess(ContextVk *contextVk) const
153+
void RenderTargetVk::retainImageViews(ContextVk *contextVk) const
154154
{
155-
mImageViews->onResourceAccess(&contextVk->getResourceUseList());
155+
mImageViews->retain(&contextVk->getResourceUseList());
156156
}
157157
} // namespace rx

0 commit comments

Comments
 (0)