Hash :
c0d806b4
Author :
Date :
2025-02-10T23:01:33
CL: OpenCL support for ANGLE Capture/Replay Implementation of OpenCL Capture/Replay tool in ANGLE. Brief notes about the change: - Most meaningful changes for the capture process are made in src/libANGLE/capture/ - Most meaningful changes for replay are made in util/capture/ and src/tests/perf_tests/ - Many autogenerated files are changed/added to allow the capture of OpenCL objects & calls - The following applications were captured/replayed: benchmark_model, GeekBench Compute, GeekBench ML, AI-Benchmark, various OCL CTS tests - End2end test added to capture_tests. CapturedTestCL.MultiFrameCL/ES3_Vulkan Bug: angleproject:383841335 Change-Id: I55fdaa6cd6c7ba740aaa2351e4d29050059d6d1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102105 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
//
// 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.
//
// FrameCapture_mock.cpp:
// ANGLE mock Frame capture implementation.
//
#include "libANGLE/capture/FrameCapture.h"
#if ANGLE_CAPTURE_ENABLED
# error Frame capture must be disabled to include this file.
#endif // ANGLE_CAPTURE_ENABLED
namespace angle
{
CallCapture::~CallCapture() {}
ParamBuffer::~ParamBuffer() {}
ParamCapture::~ParamCapture() {}
ResourceTracker::ResourceTracker() {}
ResourceTracker::~ResourceTracker() {}
#ifdef ANGLE_ENABLE_CL
ResourceTrackerCL::ResourceTrackerCL() {}
ResourceTrackerCL::~ResourceTrackerCL() {}
#endif
TrackedResource::TrackedResource() {}
TrackedResource::~TrackedResource() {}
StateResetHelper::StateResetHelper() {}
StateResetHelper::~StateResetHelper() {}
DataTracker::DataTracker() {}
DataTracker::~DataTracker() {}
DataCounters::DataCounters() {}
DataCounters::~DataCounters() {}
StringCounters::StringCounters() {}
StringCounters::~StringCounters() {}
ReplayWriter::ReplayWriter() {}
ReplayWriter::~ReplayWriter() {}
FrameCapture::FrameCapture() {}
FrameCapture::~FrameCapture() {}
FrameCaptureShared::FrameCaptureShared() : mEnabled(false) {}
FrameCaptureShared::~FrameCaptureShared() {}
void FrameCaptureShared::onEndFrame(gl::Context *context) {}
void FrameCaptureShared::onMakeCurrent(const gl::Context *context, const egl::Surface *drawSurface)
{}
void FrameCaptureShared::onDestroyContext(const gl::Context *context) {}
void *FrameCaptureShared::maybeGetShadowMemoryPointer(gl::Buffer *buffer,
GLsizeiptr length,
GLbitfield access)
{
return buffer->getMapPointer();
}
void FrameCaptureShared::determineMemoryProtectionSupport(gl::Context *context) {}
const ProgramSources &FrameCaptureShared::getProgramSources(gl::ShaderProgramID id) const
{
const auto &foundSources = mCachedProgramSources.find(id);
return foundSources->second;
}
void FrameCaptureShared::setProgramSources(gl::ShaderProgramID id, ProgramSources sources) {}
CoherentBufferTracker::CoherentBufferTracker() {}
CoherentBufferTracker::~CoherentBufferTracker() {}
} // namespace angle