summaryrefslogtreecommitdiffstats
path: root/dom/webgpu/tests/cts/checkout/src/webgpu/api/operation/texture_view/read.spec.ts
blob: ce2e5055a8f23d574e7b4faf8d0677496c7b8c11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
export const description = `
Test the result of reading textures through texture views with various options.

All x= every possible view read method: {
  - {unfiltered, filtered (if valid), comparison (if valid)} sampling
  - storage read {vertex, fragment, compute}
  - no-op render pass that loads and then stores
  - depth comparison
  - stencil comparison
}

Format reinterpretation is not tested here. It is in format_reinterpretation.spec.ts.

TODO: Write helper for this if not already available (see resource_init, buffer_sync_test for related code).
`;

import { makeTestGroup } from '../../../../common/framework/test_group.js';
import { GPUTest } from '../../../gpu_test.js';

export const g = makeTestGroup(GPUTest);

g.test('format')
  .desc(
    `Views of every allowed format.

- x= every texture format
- x= sampleCount {1, 4} if valid
- x= every possible view read method (see above)
`
  )
  .unimplemented();

g.test('dimension')
  .desc(
    `Views of every allowed dimension.

- x= a representative subset of formats
- x= {every texture dimension} x {every valid view dimension}
  (per gpuweb#79 no dimension-count reinterpretations, like 2d-array <-> 3d, are possible)
- x= sampleCount {1, 4} if valid
- x= every possible view read method (see above)
`
  )
  .unimplemented();

g.test('aspect')
  .desc(
    `Views of every allowed aspect of depth/stencil textures.

- x= every depth/stencil format
- x= {"all", "stencil-only", "depth-only"} where valid for the format
- x= sampleCount {1, 4} if valid
- x= every possible view read method (see above)
`
  )
  .unimplemented();