summaryrefslogtreecommitdiffstats
path: root/dom/webgpu/tests/cts/checkout/src/webgpu/api/validation/encoding/cmds/render/render.ts
blob: 0df9ec6365465343798c0d3cb8c1e39364c5cee7 (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
import { kUnitCaseParamsBuilder } from '../../../../../../common/framework/params_builder.js';
import { kRenderEncodeTypes } from '../../../../../util/command_buffer_maker.js';

export const kRenderEncodeTypeParams = kUnitCaseParamsBuilder.combine(
  'encoderType',
  kRenderEncodeTypes
);

export function buildBufferOffsetAndSizeOOBTestParams(minAlignment: number, bufferSize: number) {
  return kRenderEncodeTypeParams.combineWithParams([
    // Explicit size
    { offset: 0, size: 0, _valid: true },
    { offset: 0, size: 1, _valid: true },
    { offset: 0, size: 4, _valid: true },
    { offset: 0, size: 5, _valid: true },
    { offset: 0, size: bufferSize, _valid: true },
    { offset: 0, size: bufferSize + 4, _valid: false },
    { offset: minAlignment, size: bufferSize, _valid: false },
    { offset: minAlignment, size: bufferSize - minAlignment, _valid: true },
    { offset: bufferSize - minAlignment, size: minAlignment, _valid: true },
    { offset: bufferSize, size: 1, _valid: false },
    // Implicit size: buffer.size - offset
    { offset: 0, size: undefined, _valid: true },
    { offset: minAlignment, size: undefined, _valid: true },
    { offset: bufferSize - minAlignment, size: undefined, _valid: true },
    { offset: bufferSize, size: undefined, _valid: true },
    { offset: bufferSize + minAlignment, size: undefined, _valid: false },
  ]);
}