/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef GPU_UTIL_H_ #define GPU_UTIL_H_ #include "mozilla/dom/WebGPUBinding.h" namespace mozilla { class ErrorResult; namespace dom { struct GPUComputePassDescriptor; template class Sequence; using GPUExtent3D = RangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict; using OwningGPUExtent3D = OwningRangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict; } // namespace dom namespace webgpu { namespace ffi { struct WGPUExtent3d; } // namespace ffi void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI); void ConvertExtent3DToFFI(const dom::OwningGPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI); ffi::WGPUExtent3d ConvertExtent(const dom::GPUExtent3D& aExtent); ffi::WGPUExtent3d ConvertExtent(const dom::OwningGPUExtent3D& aExtent); } // namespace webgpu } // namespace mozilla #endif // GPU_UTIL_H_