| /* |
| * Copyright 2023 Google LLC |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "include/gpu/graphite/BackendSemaphore.h" |
| |
| #include "src/gpu/graphite/BackendSemaphorePriv.h" |
| |
| namespace skgpu::graphite { |
| |
| BackendSemaphore::BackendSemaphore() = default; |
| |
| BackendSemaphore::~BackendSemaphore() = default; |
| |
| BackendSemaphore::BackendSemaphore(const BackendSemaphore& that) { |
| *this = that; |
| } |
| |
| BackendSemaphore& BackendSemaphore::operator=(const BackendSemaphore& that) { |
| if (!that.isValid()) { |
| fIsValid = false; |
| return *this; |
| } |
| SkASSERT(!this->isValid() || this->backend() == that.backend()); |
| fIsValid = true; |
| fBackend = that.fBackend; |
| |
| switch (that.backend()) { |
| case BackendApi::kDawn: |
| SK_ABORT("Unsupported Backend"); |
| case BackendApi::kMetal: |
| case BackendApi::kVulkan: |
| fSemaphoreData.reset(); |
| that.fSemaphoreData->copyTo(fSemaphoreData); |
| break; |
| default: |
| SK_ABORT("Unsupported Backend"); |
| } |
| return *this; |
| } |
| |
| BackendSemaphoreData::~BackendSemaphoreData(){}; |
| |
| } // End of namespace skgpu::graphite |