#include "src/gpu/graphite/compute/DispatchGroup.h"
#include "include/gpu/graphite/Recorder.h"
#include "src/gpu/graphite/BufferManager.h"
#include "src/gpu/graphite/Caps.h"
#include "src/gpu/graphite/CommandBuffer.h"
#include "src/gpu/graphite/ComputePipeline.h"
#include "src/gpu/graphite/Log.h"
#include "src/gpu/graphite/PipelineData.h"
#include "src/gpu/graphite/RecorderPriv.h"
#include "src/gpu/graphite/ResourceProvider.h"
#include "src/gpu/graphite/Texture.h"
#include "src/gpu/graphite/UniformManager.h"
#include "src/gpu/graphite/task/ClearBuffersTask.h"
namespace skgpu::graphite {
DispatchGroup::~DispatchGroup() = default;
bool DispatchGroup::prepareResources(ResourceProvider* resourceProvider) { … }
void DispatchGroup::addResourceRefs(CommandBuffer* commandBuffer) const { … }
sk_sp<Task> DispatchGroup::snapChildTask() { … }
const Texture* DispatchGroup::getTexture(size_t index) const { … }
const Sampler* DispatchGroup::getSampler(size_t index) const { … }
Builder;
Builder::Builder(Recorder* recorder) : … { … }
bool Builder::appendStep(const ComputeStep* step, std::optional<WorkgroupSize> globalSize) { … }
bool Builder::appendStepIndirect(const ComputeStep* step, BindBufferInfo indirectBuffer) { … }
bool Builder::appendStepInternal(
const ComputeStep* step,
const std::variant<WorkgroupSize, BindBufferInfo>& globalSizeOrIndirect) { … }
void Builder::assignSharedBuffer(BindBufferInfo buffer, unsigned int slot, ClearBuffer cleared) { … }
void Builder::assignSharedTexture(sk_sp<TextureProxy> texture, unsigned int slot) { … }
std::unique_ptr<DispatchGroup> Builder::finalize() { … }
#if defined(GPU_TEST_UTILS)
void Builder::reset() {
fOutputTable.reset();
fObj.reset(new DispatchGroup);
}
#endif
BindBufferInfo Builder::getSharedBufferResource(unsigned int slot) const { … }
sk_sp<TextureProxy> Builder::getSharedTextureResource(unsigned int slot) const { … }
DispatchResourceOptional Builder::allocateResource(const ComputeStep* step,
const ComputeStep::ResourceDesc& resource,
int resourceIdx) { … }
}