mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-13 23:26:24 +00:00
Add helper functions to iterate over ChainedStructs
This CL adds two helpers for more ergonomic processing of ChainedStructs. 1. FindInChain(): Iterates through the chain and automatically casts the ChainedStruct into the appropriate child type before returning. 2. ValidateSTypes(): Verifies that the chain only contains structs with sTypes from a pre-defined set. This also allows the caller to specify one-of constraints. 3. ValidateSingleSType(): Verifies that the chain contains a single struct with a specific sType or is an empty chain. This is a common case of |ValidateSTypes()| and is separated out as a fast-path. Change-Id: I938df0bf2a9b1800b1105fb7f80fbde20bef8ec8 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/47680 Commit-Queue: Brian Ho <hob@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
b48d1f4b3d
commit
5346e770c9
@@ -765,6 +765,14 @@ class MultiGeneratorFromDawnJSON(Generator):
|
||||
renders.append(
|
||||
FileRender('dawn_native/ProcTable.cpp',
|
||||
'src/dawn_native/ProcTable.cpp', frontend_params))
|
||||
renders.append(
|
||||
FileRender('dawn_native/ChainUtils.h',
|
||||
'src/dawn_native/ChainUtils_autogen.h',
|
||||
frontend_params))
|
||||
renders.append(
|
||||
FileRender('dawn_native/ChainUtils.cpp',
|
||||
'src/dawn_native/ChainUtils_autogen.cpp',
|
||||
frontend_params))
|
||||
|
||||
if 'dawn_wire' in targets:
|
||||
additional_params = compute_wire_params(api_params, wire_json)
|
||||
|
||||
Reference in New Issue
Block a user