mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
validation: add an internal decoration to allow atomic function parameters
Bug: tint: 927 Change-Id: Ia6f31bdbfa51c92b742faa89089649865bb45ad5 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56020 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
@@ -932,8 +932,12 @@ bool Resolver::ValidateParameter(const ast::Function* func,
|
||||
if (!ValidateVariable(info)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (auto* deco : info->declaration->decorations()) {
|
||||
if (!func->IsEntryPoint()) {
|
||||
if (!func->IsEntryPoint() &&
|
||||
!IsValidationDisabled(
|
||||
info->declaration->decorations(),
|
||||
ast::DisabledValidation::kIgnoreAtomicFunctionParameter)) {
|
||||
AddError("decoration is not valid for function parameters",
|
||||
deco->source());
|
||||
return false;
|
||||
@@ -945,9 +949,12 @@ bool Resolver::ValidateParameter(const ast::Function* func,
|
||||
}
|
||||
} else if (!deco->IsAnyOf<ast::LocationDecoration,
|
||||
ast::InternalDecoration>() &&
|
||||
!IsValidationDisabled(
|
||||
info->declaration->decorations(),
|
||||
ast::DisabledValidation::kEntryPointParameter)) {
|
||||
!(IsValidationDisabled(
|
||||
info->declaration->decorations(),
|
||||
ast::DisabledValidation::kEntryPointParameter) ||
|
||||
IsValidationDisabled(info->declaration->decorations(),
|
||||
ast::DisabledValidation::
|
||||
kIgnoreAtomicFunctionParameter))) {
|
||||
AddError("decoration is not valid for function parameters",
|
||||
deco->source());
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user