[tint][ir] Serialize function parameter attributes
Change-Id: I9dde39b1a14b37c4021d2e84c8f78b18205b991f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/165042
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/ir/function.h b/src/tint/lang/core/ir/function.h
index 0193884..a03e510 100644
--- a/src/tint/lang/core/ir/function.h
+++ b/src/tint/lang/core/ir/function.h
@@ -120,23 +120,31 @@
}
/// @returns the return builtin attribute
std::optional<enum ReturnBuiltin> ReturnBuiltin() const { return return_.builtin; }
+
/// Clears the return builtin attribute.
void ClearReturnBuiltin() { return_.builtin = {}; }
/// Sets the return location
+ /// @param location the location to set
+ void SetReturnLocation(Location location) { return_.location = std::move(location); }
+
+ /// Sets the return location
/// @param loc the location to set
/// @param interp the interpolation
void SetReturnLocation(uint32_t loc, std::optional<core::Interpolation> interp) {
return_.location = {loc, interp};
}
+
/// @returns the return location
std::optional<Location> ReturnLocation() const { return return_.location; }
+
/// Clears the return location attribute.
void ClearReturnLocation() { return_.location = {}; }
/// Sets the return as invariant
/// @param val the invariant value to set
void SetReturnInvariant(bool val) { return_.invariant = val; }
+
/// @returns the return invariant value
bool ReturnInvariant() const { return return_.invariant; }