Coverage Report

Created: 2021-08-22 09:07

/src/skia/src/gpu/GrSemaphore.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2017 Google Inc.
3
 *
4
 * Use of this source code is governed by a BSD-style license that can be
5
 * found in the LICENSE file.
6
 */
7
8
#ifndef GrSemaphore_DEFINED
9
#define GrSemaphore_DEFINED
10
11
#include "include/gpu/GrBackendSemaphore.h"
12
13
/**
14
 * Represents a semaphore-like GPU synchronization object.
15
 */
16
class GrSemaphore {
17
public:
18
0
    virtual ~GrSemaphore() {}
19
20
    // The derived class can return its GrBackendSemaphore. This is used when flushing with signal
21
    // semaphores so we can set the client's GrBackendSemaphore object after we've created the
22
    // internal semaphore.
23
    virtual GrBackendSemaphore backendSemaphore() const = 0;
24
25
private:
26
    friend class GrGpu; // for setIsOwned
27
    // This is only used in GrGpu to handle the case where we created a semaphore that was meant to
28
    // be borrowed, but we failed to submit it. So we must go back and switch the semaphore to owned
29
    // so that it gets deleted.
30
    virtual void setIsOwned() = 0;
31
};
32
33
#endif