mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 21:47:47 +00:00
tint/writer/msl: Inline constant expressions
This is required to handle materialized values, and for constant expressions. Bug: tint:1504 Change-Id: Ic3ac62317241fa6f7009360128f222aeb56f62e4 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92083 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
committed by
Dawn LUCI CQ
parent
2e22d9285c
commit
cb6ddd2aa6
@@ -6,7 +6,7 @@ void foo() {
|
||||
float4 b = 0.0f;
|
||||
float2x2 c = float2x2(0.0f);
|
||||
a = (a / 2);
|
||||
b = (b * float4x4());
|
||||
b = (b * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
c = (c * 2.0f);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@ struct S {
|
||||
};
|
||||
|
||||
void foo(device S* const tint_symbol) {
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a - float4x4());
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a - float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@ struct S {
|
||||
};
|
||||
|
||||
void foo(device S* const tint_symbol) {
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a + float4x4());
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a + float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@ struct S {
|
||||
};
|
||||
|
||||
void foo(device S* const tint_symbol) {
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a * float4x4());
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
using namespace metal;
|
||||
void foo(thread int* const tint_symbol, thread float4* const tint_symbol_1, thread float2x2* const tint_symbol_2) {
|
||||
*(tint_symbol) = (*(tint_symbol) / 2);
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) * float4x4());
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
*(tint_symbol_2) = (*(tint_symbol_2) * 2.0f);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@ struct S {
|
||||
};
|
||||
|
||||
void foo(device S* const tint_symbol) {
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a * float4x4());
|
||||
(*(tint_symbol)).a = ((*(tint_symbol)).a * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
using namespace metal;
|
||||
void foo(threadgroup int* const tint_symbol, threadgroup float4* const tint_symbol_1, threadgroup float2x2* const tint_symbol_2) {
|
||||
*(tint_symbol) = (*(tint_symbol) / 2);
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) * float4x4());
|
||||
*(tint_symbol_1) = (*(tint_symbol_1) * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
|
||||
*(tint_symbol_2) = (*(tint_symbol_2) * 2.0f);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user