Remove SkBaseDevice::flush (take 2)
Another small step in removing SkCanvas::flush Change-Id: I6f3bec367e582754b8463b7bfe6a2542436ca829 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335647 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Adlai Holler <adlai@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
This commit is contained in:
parent
77b68e8599
commit
ca92424e21
@ -37,6 +37,8 @@ Milestone 89
|
|||||||
a MTLDevice and MTLCommandQueue is deprecated.
|
a MTLDevice and MTLCommandQueue is deprecated.
|
||||||
https://review.skia.org/334426
|
https://review.skia.org/334426
|
||||||
|
|
||||||
|
* SkCanvas::flush has been deprecated.
|
||||||
|
|
||||||
* * *
|
* * *
|
||||||
|
|
||||||
Milestone 88
|
Milestone 88
|
||||||
|
@ -254,6 +254,8 @@ public:
|
|||||||
If SkCanvas is associated with GPU surface, resolves all pending GPU operations.
|
If SkCanvas is associated with GPU surface, resolves all pending GPU operations.
|
||||||
If SkCanvas is associated with raster surface, has no effect; raster draw
|
If SkCanvas is associated with raster surface, has no effect; raster draw
|
||||||
operations are never deferred.
|
operations are never deferred.
|
||||||
|
|
||||||
|
DEPRECATED: Replace usage with GrDirectContext::flush()
|
||||||
*/
|
*/
|
||||||
void flush();
|
void flush();
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include <new>
|
#include <new>
|
||||||
|
|
||||||
#if SK_SUPPORT_GPU
|
#if SK_SUPPORT_GPU
|
||||||
|
#include "include/gpu/GrDirectContext.h"
|
||||||
#include "src/gpu/SkGr.h"
|
#include "src/gpu/SkGr.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -624,10 +625,13 @@ void SkCanvas::flush() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SkCanvas::onFlush() {
|
void SkCanvas::onFlush() {
|
||||||
SkBaseDevice* device = this->getDevice();
|
#if SK_SUPPORT_GPU
|
||||||
if (device) {
|
auto dContext = GrAsDirectContext(this->recordingContext());
|
||||||
device->flush();
|
|
||||||
|
if (dContext) {
|
||||||
|
dContext->flushAndSubmit();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
SkSurface* SkCanvas::getSurface() const {
|
SkSurface* SkCanvas::getSurface() const {
|
||||||
|
@ -447,10 +447,6 @@ private:
|
|||||||
this->setDeviceCoordinateSystem(SkMatrix::I(), globalCTM, x, y);
|
this->setDeviceCoordinateSystem(SkMatrix::I(), globalCTM, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Causes any deferred drawing to the device to be completed.
|
|
||||||
*/
|
|
||||||
virtual void flush() {}
|
|
||||||
|
|
||||||
virtual SkImageFilterCache* getImageFilterCache() { return nullptr; }
|
virtual SkImageFilterCache* getImageFilterCache() { return nullptr; }
|
||||||
|
|
||||||
friend class SkNoPixelsDevice;
|
friend class SkNoPixelsDevice;
|
||||||
|
@ -1028,16 +1028,6 @@ void SkGpuDevice::drawDrawable(SkDrawable* drawable, const SkMatrix* matrix, SkC
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void SkGpuDevice::flush() {
|
|
||||||
auto direct = fContext->asDirectContext();
|
|
||||||
if (!direct) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
direct->priv().flushSurface(fRenderTargetContext->asSurfaceProxy());
|
|
||||||
direct->submit();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SkGpuDevice::wait(int numSemaphores, const GrBackendSemaphore* waitSemaphores,
|
bool SkGpuDevice::wait(int numSemaphores, const GrBackendSemaphore* waitSemaphores,
|
||||||
bool deleteSemaphoresAfterWait) {
|
bool deleteSemaphoresAfterWait) {
|
||||||
ASSERT_SINGLE_OWNER
|
ASSERT_SINGLE_OWNER
|
||||||
|
@ -130,7 +130,6 @@ public:
|
|||||||
sk_sp<SkSpecialImage> makeSpecial(const SkImage*) override;
|
sk_sp<SkSpecialImage> makeSpecial(const SkImage*) override;
|
||||||
sk_sp<SkSpecialImage> snapSpecial(const SkIRect&, bool = false) override;
|
sk_sp<SkSpecialImage> snapSpecial(const SkIRect&, bool = false) override;
|
||||||
|
|
||||||
void flush() override;
|
|
||||||
bool wait(int numSemaphores, const GrBackendSemaphore* waitSemaphores,
|
bool wait(int numSemaphores, const GrBackendSemaphore* waitSemaphores,
|
||||||
bool deleteSemaphoresAfterWait);
|
bool deleteSemaphoresAfterWait);
|
||||||
|
|
||||||
|
@ -62,7 +62,12 @@ SkCanvas* GrVkSecondaryCBDrawContext::getCanvas() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GrVkSecondaryCBDrawContext::flush() {
|
void GrVkSecondaryCBDrawContext::flush() {
|
||||||
fDevice->flush();
|
auto dContext = GrAsDirectContext(fDevice->recordingContext());
|
||||||
|
|
||||||
|
if (dContext) {
|
||||||
|
dContext->priv().flushSurface(fDevice->accessRenderTargetContext()->asSurfaceProxy());
|
||||||
|
dContext->submit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GrVkSecondaryCBDrawContext::wait(int numSemaphores,
|
bool GrVkSecondaryCBDrawContext::wait(int numSemaphores,
|
||||||
|
Loading…
Reference in New Issue
Block a user