Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/webgpu/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  Queue.h   Sprache: C

 
/* -*- 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_Queue_H_
#define GPU_Queue_H_

#include "nsWrapperCache.h"
#include "ObjectModel.h"
#include "mozilla/dom/TypedArray.h"
#include "mozilla/webgpu/WebGPUTypes.h"

namespace mozilla {
class ErrorResult;
namespace dom {
class RangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict;
class ArrayBufferViewOrArrayBuffer;
template <typename T>
class Optional;
template <typename T>
class Sequence;
struct GPUCopyExternalImageDestInfo;
struct GPUCopyExternalImageSourceInfo;
struct GPUTexelCopyTextureInfo;
struct GPUTexelCopyBufferLayout;
struct TextureCopyView;
struct TextureDataLayout;
using GPUExtent3D = RangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict;
}  // namespace dom
namespace webgpu {

class Buffer;
class CommandBuffer;
class Device;
class Fence;

class Queue final : public ObjectBase, public ChildOf<Device> {
 public:
  GPU_DECL_CYCLE_COLLECTION(Queue)
  GPU_DECL_JS_WRAP(Queue)

  Queue(Device* const aParent, WebGPUChild* aBridge, RawId aId);

  void Submit(
      const dom::Sequence<OwningNonNull<CommandBuffer>>& aCommandBuffers);

  already_AddRefed<dom::Promise> OnSubmittedWorkDone(ErrorResult& aRv);

  void WriteBuffer(const Buffer& aBuffer, uint64_t aBufferOffset,
                   const dom::ArrayBufferViewOrArrayBuffer& aData,
                   uint64_t aDataOffset, const dom::Optional<uint64_t>& aSize,
                   ErrorResult& aRv);

  void WriteTexture(const dom::GPUTexelCopyTextureInfo& aDestination,
                    const dom::ArrayBufferViewOrArrayBuffer& aData,
                    const dom::GPUTexelCopyBufferLayout& aDataLayout,
                    const dom::GPUExtent3D& aSize, ErrorResult& aRv);

  void CopyExternalImageToTexture(
      const dom::GPUCopyExternalImageSourceInfo& aSource,
      const dom::GPUCopyExternalImageDestInfo& aDestination,
      const dom::GPUExtent3D& aCopySize, ErrorResult& aRv);

 private:
  virtual ~Queue();
  void Cleanup() {}

  RefPtr<WebGPUChild> mBridge;
  const RawId mId;

 public:
};

}  // namespace webgpu
}  // namespace mozilla

#endif  // GPU_Queue_H_

100%


¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.