• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

visgl / luma.gl / 27877205100

20 Jun 2026 04:32PM UTC coverage: 70.733% (+0.08%) from 70.652%
27877205100

push

github

web-flow
feat(engine) add portable video textures (#2677)

9660 of 15389 branches covered (62.77%)

Branch coverage included in aggregate %.

99 of 116 new or added lines in 2 files covered. (85.34%)

379 existing lines in 28 files now uncovered.

19717 of 26143 relevant lines covered (75.42%)

4107.12 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

68.18
/modules/test-utils/src/null-device/resources/null-command-encoder.ts
1
// luma.gl
2
// SPDX-License-Identifier: MIT
3
// Copyright (c) vis.gl contributors
4

5
import {CommandEncoder, CommandEncoderProps} from '@luma.gl/core';
6
import type {
7
  RenderPassProps,
8
  ComputePass,
9
  ComputePassProps,
10
  QuerySet,
11
  CopyBufferToBufferOptions,
12
  CopyBufferToTextureOptions,
13
  CopyTextureToBufferOptions,
14
  CopyTextureToTextureOptions
15
} from '@luma.gl/core';
16
import type {NullDevice} from '../null-device';
17
import {NullBuffer} from './null-buffer';
18
import {NullCommandBuffer} from './null-command-buffer';
19
import {NullRenderPass} from './null-render-pass';
20

21
export class NullCommandEncoder extends CommandEncoder {
22
  readonly device: NullDevice;
23
  readonly handle: null = null;
164✔
24

25
  constructor(device: NullDevice, props: CommandEncoderProps) {
26
    super(device, props);
164✔
27
    this.device = device;
164✔
28
  }
29

30
  override destroy(): void {
31
    this.destroyResource();
6✔
32
  }
33

34
  finish(): NullCommandBuffer {
35
    const commandBuffer = new NullCommandBuffer(this.device, {
6✔
36
      id: this.id,
37
      userData: this.userData
38
    });
39
    this.destroy();
6✔
40
    return commandBuffer;
6✔
41
  }
42

43
  beginRenderPass(props: RenderPassProps): NullRenderPass {
44
    return new NullRenderPass(this.device, props);
2✔
45
  }
46

47
  beginComputePass(_props: ComputePassProps): ComputePass {
UNCOV
48
    throw new Error('ComputePass is not supported on NullDevice');
×
49
  }
50

51
  copyBufferToBuffer(options: CopyBufferToBufferOptions): void {
52
    if (!(options.sourceBuffer instanceof NullBuffer)) {
16!
UNCOV
53
      throw new Error('NullCommandEncoder.copyBufferToBuffer requires a NullBuffer source');
×
54
    }
55

56
    options.sourceBuffer.copyToBuffer(
16✔
57
      options.destinationBuffer,
58
      options.sourceOffset || 0,
32✔
59
      options.destinationOffset || 0,
24✔
60
      options.size
61
    );
62
  }
63

64
  copyBufferToTexture(_options: CopyBufferToTextureOptions) {
UNCOV
65
    throw new Error('copyBufferToTexture is not supported on NullDevice');
×
66
  }
67

68
  copyTextureToBuffer(_options: CopyTextureToBufferOptions): void {
UNCOV
69
    throw new Error('copyTextureToBuffer is not supported on NullDevice');
×
70
  }
71

72
  copyTextureToTexture(_options: CopyTextureToTextureOptions): void {
UNCOV
73
    throw new Error('copyTextureToTexture is not supported on NullDevice');
×
74
  }
75

76
  resolveQuerySet(_querySet: QuerySet): void {
UNCOV
77
    throw new Error('resolveQuerySet is not supported on NullDevice');
×
78
  }
79

80
  pushDebugGroup(groupLabel: string): void {}
81
  popDebugGroup() {}
82
  insertDebugMarker(markerLabel: string): void {}
83
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc