/* * Copyright 2017 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrSemaphoreOp_DEFINED #define GrSemaphoreOp_DEFINED #include "GrOp.h" #include "GrRenderTargetProxy.h" #include "GrSemaphore.h" #include "SkRefCnt.h" class GrRecordingContext; class GrSemaphoreOp : public GrOp { public: static std::unique_ptr<GrOp> MakeWait(GrRecordingContext*, sk_sp<GrSemaphore>, GrRenderTargetProxy*); protected: GrSemaphoreOp(uint32_t classId, sk_sp<GrSemaphore> semaphore, GrRenderTargetProxy* proxy) : INHERITED(classId) , fSemaphore(std::move(semaphore)) { this->makeFullScreen(proxy); } sk_sp<GrSemaphore> fSemaphore; private: void onPrepare(GrOpFlushState*) override {} typedef GrOp INHERITED; }; #endif