// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module gpu.mojom;
// Corresponds to C++ type gpu::GpuDiskCacheType
enum GpuDiskCacheType {
kGlShaders,
kDawnWebGPU,
kDawnGraphite,
};
//
// Typed handles
//
// Corresponds to C++ type gpu::GpuDiskCacheGlShaderHandle
struct GpuDiskCacheGlShaderHandle {
int32 value;
};
// Corresponds to C++ type gpu::GpuDiskCacheDawnWebGPUHandle
struct GpuDiskCacheDawnWebGPUHandle {
int32 value;
};
// Corresponds to C++ type gpu::GpuDiskCacheDawnGraphiteHandle
struct GpuDiskCacheDawnGraphiteHandle {
int32 value;
};
//
// Union handle
//
// Corresponds to C++ type gpu::GpuDiskCacheHandle
union GpuDiskCacheHandle {
GpuDiskCacheGlShaderHandle gl_shader_handle;
GpuDiskCacheDawnWebGPUHandle dawn_webgpu_handle;
GpuDiskCacheDawnGraphiteHandle dawn_graphite_handle;
};