#include "components/viz/service/transitions/transferable_resource_tracker.h"
#include <GLES2/gl2.h>
#include <limits>
#include <memory>
#include <utility>
#include "base/containers/contains.h"
#include "components/viz/common/resources/release_callback.h"
#include "components/viz/common/resources/resource_id.h"
#include "components/viz/common/resources/shared_bitmap.h"
#include "components/viz/common/resources/transferable_resource.h"
#include "gpu/command_buffer/common/mailbox.h"
#include "gpu/command_buffer/common/sync_token.h"
#include "ui/gfx/geometry/size.h"
namespace viz {
TransferableResourceTracker::TransferableResourceTracker(
SharedBitmapManager* shared_bitmap_manager,
ReservedResourceIdTracker* id_tracker)
: … { … }
TransferableResourceTracker::~TransferableResourceTracker() = default;
TransferableResourceTracker::ResourceFrame
TransferableResourceTracker::ImportResources(
SurfaceSavedFrame::FrameResult frame_result,
CompositorFrameTransitionDirective directive) { … }
TransferableResourceTracker::PositionedResource
TransferableResourceTracker::ImportResource(
SurfaceSavedFrame::OutputCopyResult output_copy) { … }
void TransferableResourceTracker::ReturnFrame(const ResourceFrame& frame) { … }
void TransferableResourceTracker::RefResource(ResourceId id) { … }
void TransferableResourceTracker::UnrefResource(
ResourceId id,
int count,
const gpu::SyncToken& sync_token) { … }
TransferableResourceTracker::TransferableResourceHolder::
TransferableResourceHolder() = default;
TransferableResourceTracker::TransferableResourceHolder::
TransferableResourceHolder(TransferableResourceHolder&& other) = default;
TransferableResourceTracker::TransferableResourceHolder::
TransferableResourceHolder(const TransferableResource& resource,
ResourceReleaseCallback release_callback)
: … { … }
TransferableResourceTracker::TransferableResourceHolder::
~TransferableResourceHolder() { … }
TransferableResourceTracker::TransferableResourceHolder&
TransferableResourceTracker::TransferableResourceHolder::operator=(
TransferableResourceHolder&& other) = default;
TransferableResourceTracker::ResourceFrame::ResourceFrame() = default;
TransferableResourceTracker::ResourceFrame::ResourceFrame(
ResourceFrame&& other) = default;
TransferableResourceTracker::ResourceFrame::~ResourceFrame() = default;
TransferableResourceTracker::ResourceFrame&
TransferableResourceTracker::ResourceFrame::operator=(ResourceFrame&& other) =
default;
}