1cb93a386Sopenharmony_ci/*
2cb93a386Sopenharmony_ci * Copyright 2021 Google LLC
3cb93a386Sopenharmony_ci *
4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be
5cb93a386Sopenharmony_ci * found in the LICENSE file.
6cb93a386Sopenharmony_ci */
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ci#include "experimental/graphite/include/TextureInfo.h"
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_cinamespace skgpu {
11cb93a386Sopenharmony_ci
12cb93a386Sopenharmony_cibool TextureInfo::operator==(const TextureInfo& that) const {
13cb93a386Sopenharmony_ci    if (!this->isValid() || !that.isValid()) {
14cb93a386Sopenharmony_ci        return false;
15cb93a386Sopenharmony_ci    }
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ci    if (fBackend != that.fBackend) {
18cb93a386Sopenharmony_ci        return false;
19cb93a386Sopenharmony_ci    }
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_ci    if (fSampleCount != that.fSampleCount ||
22cb93a386Sopenharmony_ci        fLevelCount != that.fLevelCount ||
23cb93a386Sopenharmony_ci        fProtected != that.fProtected) {
24cb93a386Sopenharmony_ci        return false;
25cb93a386Sopenharmony_ci    }
26cb93a386Sopenharmony_ci
27cb93a386Sopenharmony_ci    switch (fBackend) {
28cb93a386Sopenharmony_ci#ifdef SK_METAL
29cb93a386Sopenharmony_ci        case BackendApi::kMetal:
30cb93a386Sopenharmony_ci            return fMtlSpec == that.fMtlSpec;
31cb93a386Sopenharmony_ci#endif
32cb93a386Sopenharmony_ci        default:
33cb93a386Sopenharmony_ci            return false;
34cb93a386Sopenharmony_ci    }
35cb93a386Sopenharmony_ci}
36cb93a386Sopenharmony_ci
37cb93a386Sopenharmony_ci} // namespace skgpu
38cb93a386Sopenharmony_ci
39