| /* | |
| * Copyright 2020 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/GrBackendSurfaceMutableState.h" | |
| #include <new> | |
| GrBackendSurfaceMutableState::GrBackendSurfaceMutableState(const GrBackendSurfaceMutableState& that) | |
| : fBackend(that.fBackend), fIsValid(that.fIsValid) { | |
| if (!fIsValid) { | |
| return; | |
| } | |
| switch (fBackend) { | |
| case GrBackend::kVulkan: | |
| #ifdef SK_VULKAN | |
| SkASSERT(that.fBackend == GrBackend::kVulkan); | |
| fVkState = that.fVkState; | |
| #endif | |
| break; | |
| default: | |
| (void)that; | |
| SkUNREACHABLE; | |
| } | |
| } | |
| GrBackendSurfaceMutableState& GrBackendSurfaceMutableState::operator=( | |
| const GrBackendSurfaceMutableState& that) { | |
| if (this != &that) { | |
| this->~GrBackendSurfaceMutableState(); | |
| new (this) GrBackendSurfaceMutableState(that); | |
| } | |
| return *this; | |
| } | |