Loading dom/webgpu/Utility.cpp +19 −3 Original line number Diff line number Diff line Loading @@ -10,8 +10,8 @@ namespace mozilla::webgpu { void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI) { template <typename E> void ConvertToExtent3D(const E& aExtent, ffi::WGPUExtent3d* aExtentFFI) { *aExtentFFI = {}; if (aExtent.IsRangeEnforcedUnsignedLongSequence()) { const auto& seq = aExtent.GetAsRangeEnforcedUnsignedLongSequence(); Loading @@ -28,9 +28,25 @@ void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, } } void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI) { ConvertToExtent3D(aExtent, aExtentFFI); } void ConvertExtent3DToFFI(const dom::OwningGPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI) { ConvertToExtent3D(aExtent, aExtentFFI); } ffi::WGPUExtent3d ConvertExtent(const dom::GPUExtent3D& aExtent) { ffi::WGPUExtent3d extent = {}; ConvertExtent3DToFFI(aExtent, &extent); ConvertToExtent3D(aExtent, &extent); return extent; } ffi::WGPUExtent3d ConvertExtent(const dom::OwningGPUExtent3D& aExtent) { ffi::WGPUExtent3d extent = {}; ConvertToExtent3D(aExtent, &extent); return extent; } Loading dom/webgpu/Utility.h +7 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ struct GPUComputePassDescriptor; template <typename T> class Sequence; using GPUExtent3D = RangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict; using OwningGPUExtent3D = OwningRangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict; } // namespace dom namespace webgpu { namespace ffi { Loading @@ -25,8 +27,13 @@ struct WGPUExtent3d; 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 Loading Loading
dom/webgpu/Utility.cpp +19 −3 Original line number Diff line number Diff line Loading @@ -10,8 +10,8 @@ namespace mozilla::webgpu { void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI) { template <typename E> void ConvertToExtent3D(const E& aExtent, ffi::WGPUExtent3d* aExtentFFI) { *aExtentFFI = {}; if (aExtent.IsRangeEnforcedUnsignedLongSequence()) { const auto& seq = aExtent.GetAsRangeEnforcedUnsignedLongSequence(); Loading @@ -28,9 +28,25 @@ void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, } } void ConvertExtent3DToFFI(const dom::GPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI) { ConvertToExtent3D(aExtent, aExtentFFI); } void ConvertExtent3DToFFI(const dom::OwningGPUExtent3D& aExtent, ffi::WGPUExtent3d* aExtentFFI) { ConvertToExtent3D(aExtent, aExtentFFI); } ffi::WGPUExtent3d ConvertExtent(const dom::GPUExtent3D& aExtent) { ffi::WGPUExtent3d extent = {}; ConvertExtent3DToFFI(aExtent, &extent); ConvertToExtent3D(aExtent, &extent); return extent; } ffi::WGPUExtent3d ConvertExtent(const dom::OwningGPUExtent3D& aExtent) { ffi::WGPUExtent3d extent = {}; ConvertToExtent3D(aExtent, &extent); return extent; } Loading
dom/webgpu/Utility.h +7 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ struct GPUComputePassDescriptor; template <typename T> class Sequence; using GPUExtent3D = RangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict; using OwningGPUExtent3D = OwningRangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict; } // namespace dom namespace webgpu { namespace ffi { Loading @@ -25,8 +27,13 @@ struct WGPUExtent3d; 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 Loading