[ir][msl] Fix const of non-entrypoint pointers
Add the `const` modifier to the non-entrypoint pointer parameters
Bug: tint:1967
Change-Id: I0e3ce118544ae257704fb696056a43f3ab927a62
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/162822
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/test/tint/bug/chromium/1433499.wgsl.expected.ir.msl b/test/tint/bug/chromium/1433499.wgsl.expected.ir.msl
index 2c9000e..95b1b95 100644
--- a/test/tint/bug/chromium/1433499.wgsl.expected.ir.msl
+++ b/test/tint/bug/chromium/1433499.wgsl.expected.ir.msl
@@ -1,6 +1,6 @@
#include <metal_stdlib>
using namespace metal;
-void f(thread float* p) {
+void f(thread float* const p) {
thread float* const x = p;
}
diff --git a/test/tint/types/functions/parameters.wgsl.expected.ir.msl b/test/tint/types/functions/parameters.wgsl.expected.ir.msl
index 875b265..02d24a8 100644
--- a/test/tint/types/functions/parameters.wgsl.expected.ir.msl
+++ b/test/tint/types/functions/parameters.wgsl.expected.ir.msl
@@ -1,8 +1,3 @@
-SKIP: FAILED
-
-### Lost the `const` on the three `param_ptr` variables
-
-
#include <metal_stdlib>
using namespace metal;
template<typename T, size_t N>
@@ -21,7 +16,7 @@
float a;
};
-void foo(bool param_bool, int param_i32, uint param_u32, float param_f32, int2 param_v2i32, uint3 param_v3u32, float4 param_v4f32, float2x3 param_m2x3, tint_array<float, 4> param_arr, S param_struct, thread float* param_ptr_f32, thread float4* param_ptr_vec, thread tint_array<float, 4>* param_ptr_arr) {
+void foo(bool param_bool, int param_i32, uint param_u32, float param_f32, int2 param_v2i32, uint3 param_v3u32, float4 param_v4f32, float2x3 param_m2x3, tint_array<float, 4> param_arr, S param_struct, thread float* const param_ptr_f32, thread float4* const param_ptr_vec, thread tint_array<float, 4>* const param_ptr_arr) {
}
kernel void tint_symbol() {
}