92 lines
5.2 KiB
Text
92 lines
5.2 KiB
Text
<!--
|
|
View this file in Typedoc!
|
|
|
|
- At https://gpuweb.github.io/cts/docs/tsdoc/
|
|
- Or locally:
|
|
- npm run tsdoc
|
|
- npm start
|
|
- http://localhost:8080/docs/tsdoc/
|
|
|
|
This file is parsed as a tsdoc.
|
|
-->
|
|
|
|
## Index of Test Helpers
|
|
|
|
This index is a quick-reference of helper functions in the test suite.
|
|
Use it to determine whether you can reuse a helper, instead of writing new code,
|
|
to improve readability and reviewability.
|
|
|
|
Whenever a new generally-useful helper is added, it should be indexed here.
|
|
|
|
**See linked documentation for full helper listings.**
|
|
|
|
- {@link common/framework/params_builder!CaseParamsBuilder} and {@link common/framework/params_builder!SubcaseParamsBuilder}:
|
|
Combinatorial generation of test parameters. They are iterated by the test framework at runtime.
|
|
See `examples.spec.ts` for basic examples of how this behaves.
|
|
- {@link common/framework/params_builder!CaseParamsBuilder}:
|
|
`ParamsBuilder` for adding "cases" to a test.
|
|
- {@link common/framework/params_builder!CaseParamsBuilder#beginSubcases}:
|
|
"Finalizes" the `CaseParamsBuilder`, returning a `SubcaseParamsBuilder`.
|
|
- {@link common/framework/params_builder!SubcaseParamsBuilder}:
|
|
`ParamsBuilder` for adding "subcases" to a test.
|
|
|
|
### Fixtures
|
|
|
|
(Uncheck the "Inherited" box to hide inherited methods from documentation pages.)
|
|
|
|
- {@link common/framework/fixture!Fixture}: Base fixture for all tests.
|
|
- {@link webgpu/gpu_test!GPUTest}: Base fixture for WebGPU tests.
|
|
- {@link webgpu/api/validation/validation_test!ValidationTest}: Base fixture for WebGPU validation tests.
|
|
- {@link webgpu/shader/validation/shader_validation_test!ShaderValidationTest}: Base fixture for WGSL shader validation tests.
|
|
- {@link webgpu/idl/idl_test!IDLTest}:
|
|
Base fixture for testing the exposed interface is correct (without actually using WebGPU).
|
|
|
|
### WebGPU Helpers
|
|
|
|
- {@link webgpu/capability_info}: Structured information about texture formats, binding types, etc.
|
|
- {@link webgpu/constants}:
|
|
Constant values (needed anytime a WebGPU constant is needed outside of a test function).
|
|
- {@link webgpu/util/texture}: Helpers for GPUTextures.
|
|
- {@link webgpu/util/unions}: Helpers for various union typedefs in the WebGPU spec.
|
|
- {@link webgpu/util/math}: Helpers for common math operations.
|
|
- {@link webgpu/util/check_contents}: Check the contents of TypedArrays, with nice messages.
|
|
Also can be composed with {@link webgpu/gpu_test!GPUTest#expectGPUBufferValuesPassCheck}, used to implement
|
|
GPUBuffer checking helpers in GPUTest.
|
|
- {@link webgpu/util/conversion}: Numeric encoding/decoding for float/unorm/snorm values, etc.
|
|
- {@link webgpu/util/copy_to_texture}:
|
|
Helper class for copyToTexture test suites for execution copy and check results.
|
|
- {@link webgpu/util/color_space_conversion}:
|
|
Helper functions to do color space conversion. The algorithm is the same as defined in
|
|
CSS Color Module Level 4.
|
|
- {@link webgpu/util/create_elements}:
|
|
Helpers for creating web elements like HTMLCanvasElement, OffscreenCanvas, etc.
|
|
- {@link webgpu/util/shader}: Helpers for creating fragment shader based on intended output values, plainType, and componentCount.
|
|
- {@link webgpu/util/prng}: Seed-able deterministic pseudo random number generator. Replacement for Math.random().
|
|
- {@link webgpu/util/texture/base}: General texture-related helpers.
|
|
- {@link webgpu/util/texture/data_generation}: Helper for generating dummy texture data.
|
|
- {@link webgpu/util/texture/layout}: Helpers for working with linear image data
|
|
(like in copyBufferToTexture, copyTextureToBuffer, writeTexture).
|
|
- {@link webgpu/util/texture/subresource}: Helpers for working with texture subresource ranges.
|
|
- {@link webgpu/util/texture/texel_data}: Helpers encoding/decoding texel formats.
|
|
- {@link webgpu/util/texture/texel_view}: Helper class to create and view texture data through various representations.
|
|
- {@link webgpu/util/texture/texture_ok}: Helpers for checking texture contents.
|
|
- {@link webgpu/shader/types}: Helpers for WGSL data types.
|
|
- {@link webgpu/shader/execution/expression/expression}: Helpers for WGSL expression execution tests.
|
|
- {@link webgpu/web_platform/util}: Helpers for web platform features (e.g. video elements).
|
|
|
|
### General Helpers
|
|
|
|
- {@link common/framework/resources}: Provides the path to the `resources/` directory.
|
|
- {@link common/util/navigator_gpu}: Finds and returns the `navigator.gpu` object or equivalent.
|
|
- {@link common/util/util}: Miscellaneous utilities.
|
|
- {@link common/util/util!assert}: Assert a condition, otherwise throw an exception.
|
|
- {@link common/util/util!unreachable}: Assert unreachable code.
|
|
- {@link common/util/util!assertReject}, {@link common/util/util!resolveOnTimeout},
|
|
{@link common/util/util!rejectOnTimeout},
|
|
{@link common/util/util!raceWithRejectOnTimeout}, and more.
|
|
- {@link common/util/collect_garbage}:
|
|
Attempt to trigger garbage collection, for testing that garbage collection is not observable.
|
|
- {@link common/util/preprocessor}: A simple template-based, non-line-based preprocessor,
|
|
implementing if/elif/else/endif. Possibly useful for WGSL shader generation.
|
|
- {@link common/util/timeout}: Use this instead of `setTimeout`.
|
|
- {@link common/util/types}: Type metaprogramming helpers.
|