mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-10 05:57:51 +00:00
reader/wgsl: Generate ForLoopStatements
Instead of LoopStatements. Update the writers to handle these. Fixed: tint:952 Change-Id: Ibef66e133224810efc28c224d910b5e21f71f8d6 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57203 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
committed by
Tint LUCI CQ
parent
03c8393213
commit
1b03f0a07a
@@ -32,8 +32,7 @@ static bool2 v2b = bool2(false, false);
|
||||
|
||||
void foo() {
|
||||
{
|
||||
int i = 0;
|
||||
for(; !(!((i < 2))); i = (i + 1)) {
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
Set_float2(v2f, i, 1.0f);
|
||||
Set_int3(v3i, i, 1);
|
||||
Set_uint4(v4u, i, 1u);
|
||||
@@ -45,8 +44,7 @@ void foo() {
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
{
|
||||
int i = 0;
|
||||
for(; !(!((i < 2))); i = (i + 1)) {
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,20 +2,11 @@
|
||||
|
||||
using namespace metal;
|
||||
void foo(thread float2* const tint_symbol_1, thread int3* const tint_symbol_2, thread uint4* const tint_symbol_3, thread bool2* const tint_symbol_4) {
|
||||
{
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
(*(tint_symbol_1))[i] = 1.0f;
|
||||
(*(tint_symbol_2))[i] = 1;
|
||||
(*(tint_symbol_3))[i] = 1u;
|
||||
(*(tint_symbol_4))[i] = true;
|
||||
{
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
(*(tint_symbol_1))[i] = 1.0f;
|
||||
(*(tint_symbol_2))[i] = 1;
|
||||
(*(tint_symbol_3))[i] = 1u;
|
||||
(*(tint_symbol_4))[i] = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,17 +15,8 @@ kernel void tint_symbol() {
|
||||
thread int3 tint_symbol_6 = 0;
|
||||
thread uint4 tint_symbol_7 = 0u;
|
||||
thread bool2 tint_symbol_8 = false;
|
||||
{
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
|
||||
{
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -7,37 +7,17 @@ var<private> v4u : vec4<u32>;
|
||||
var<private> v2b : vec2<bool>;
|
||||
|
||||
fn foo() {
|
||||
{
|
||||
var i : i32 = 0;
|
||||
loop {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0;
|
||||
v3i[i] = 1;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
|
||||
continuing {
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(var i : i32 = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0;
|
||||
v3i[i] = 1;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
}
|
||||
}
|
||||
|
||||
[[stage(compute), workgroup_size(1, 1, 1)]]
|
||||
fn main() {
|
||||
{
|
||||
var i : i32 = 0;
|
||||
loop {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
foo();
|
||||
|
||||
continuing {
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(var i : i32 = 0; (i < 2); i = (i + 1)) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,7 @@ void foo() {
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
{
|
||||
int i = 0;
|
||||
for(; !(!((i < 2))); i = (i + 1)) {
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,17 +14,8 @@ kernel void tint_symbol() {
|
||||
thread int3 tint_symbol_6 = 0;
|
||||
thread uint4 tint_symbol_7 = 0u;
|
||||
thread bool2 tint_symbol_8 = false;
|
||||
{
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
|
||||
{
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -16,17 +16,7 @@ fn foo() {
|
||||
|
||||
[[stage(compute), workgroup_size(1, 1, 1)]]
|
||||
fn main() {
|
||||
{
|
||||
var i : i32 = 0;
|
||||
loop {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
foo();
|
||||
|
||||
continuing {
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(var i : i32 = 0; (i < 2); i = (i + 1)) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,8 +97,7 @@ void main() {
|
||||
bool3 v3b = bool3(false, false, false);
|
||||
bool4 v4b = bool4(false, false, false, false);
|
||||
{
|
||||
int i = 0;
|
||||
for(; !(!((i < 2))); i = (i + 1)) {
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
Set_float2(v2f, i, 1.0f);
|
||||
Set_float3(v3f, i, 1.0f);
|
||||
Set_float4(v4f, i, 1.0f);
|
||||
|
||||
@@ -14,28 +14,19 @@ kernel void tint_symbol() {
|
||||
bool2 v2b = false;
|
||||
bool3 v3b = false;
|
||||
bool4 v4b = false;
|
||||
{
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0f;
|
||||
v3f[i] = 1.0f;
|
||||
v4f[i] = 1.0f;
|
||||
v2i[i] = 1;
|
||||
v3i[i] = 1;
|
||||
v4i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v3u[i] = 1u;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v3b[i] = true;
|
||||
v4b[i] = true;
|
||||
{
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0f;
|
||||
v3f[i] = 1.0f;
|
||||
v4f[i] = 1.0f;
|
||||
v2i[i] = 1;
|
||||
v3i[i] = 1;
|
||||
v4i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v3u[i] = 1u;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v3b[i] = true;
|
||||
v4b[i] = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -12,28 +12,18 @@ fn main() {
|
||||
var v2b : vec2<bool>;
|
||||
var v3b : vec3<bool>;
|
||||
var v4b : vec4<bool>;
|
||||
{
|
||||
var i : i32 = 0;
|
||||
loop {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0;
|
||||
v3f[i] = 1.0;
|
||||
v4f[i] = 1.0;
|
||||
v2i[i] = 1;
|
||||
v3i[i] = 1;
|
||||
v4i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v3u[i] = 1u;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v3b[i] = true;
|
||||
v4b[i] = true;
|
||||
|
||||
continuing {
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(var i : i32 = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0;
|
||||
v3f[i] = 1.0;
|
||||
v4f[i] = 1.0;
|
||||
v2i[i] = 1;
|
||||
v3i[i] = 1;
|
||||
v4i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v3u[i] = 1u;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v3b[i] = true;
|
||||
v4b[i] = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,7 @@ void main() {
|
||||
bool2 v2b = bool2(false, false);
|
||||
bool2 v2b_2 = bool2(false, false);
|
||||
{
|
||||
int i = 0;
|
||||
for(; !(!((i < 2))); i = (i + 1)) {
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
Set_float2(v2f, i, 1.0f);
|
||||
Set_int3(v3i, i, 1);
|
||||
Set_uint4(v4u, i, 1u);
|
||||
|
||||
@@ -10,24 +10,15 @@ kernel void tint_symbol() {
|
||||
uint4 v4u_2 = 0u;
|
||||
bool2 v2b = false;
|
||||
bool2 v2b_2 = false;
|
||||
{
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0f;
|
||||
v3i[i] = 1;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v2f_2[i] = 1.0f;
|
||||
v3i_2[i] = 1;
|
||||
v4u_2[i] = 1u;
|
||||
v2b_2[i] = true;
|
||||
{
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0f;
|
||||
v3i[i] = 1;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v2f_2[i] = 1.0f;
|
||||
v3i_2[i] = 1;
|
||||
v4u_2[i] = 1u;
|
||||
v2b_2[i] = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -8,24 +8,14 @@ fn main() {
|
||||
var v4u_2 : vec4<u32>;
|
||||
var v2b : vec2<bool>;
|
||||
var v2b_2 : vec2<bool>;
|
||||
{
|
||||
var i : i32 = 0;
|
||||
loop {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0;
|
||||
v3i[i] = 1;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v2f_2[i] = 1.0;
|
||||
v3i_2[i] = 1;
|
||||
v4u_2[i] = 1u;
|
||||
v2b_2[i] = true;
|
||||
|
||||
continuing {
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(var i : i32 = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0;
|
||||
v3i[i] = 1;
|
||||
v4u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
v2f_2[i] = 1.0;
|
||||
v3i_2[i] = 1;
|
||||
v4u_2[i] = 1u;
|
||||
v2b_2[i] = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,8 +37,7 @@ void main() {
|
||||
bool3 v3b = bool3(false, false, false);
|
||||
bool4 v4b = bool4(false, false, false, false);
|
||||
{
|
||||
int i = 0;
|
||||
for(; !(!((i < 2))); i = (i + 1)) {
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
Set_float2(v2f, i, 1.0f);
|
||||
Set_int2(v2i, i, 1);
|
||||
Set_uint2(v2u, i, 1u);
|
||||
|
||||
@@ -14,20 +14,11 @@ kernel void tint_symbol() {
|
||||
bool2 v2b = false;
|
||||
bool3 v3b = false;
|
||||
bool4 v4b = false;
|
||||
{
|
||||
int i = 0;
|
||||
while (true) {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0f;
|
||||
v2i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
{
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0f;
|
||||
v2i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
}
|
||||
int i = 0;
|
||||
v3f[i] = 1.0f;
|
||||
|
||||
@@ -12,21 +12,11 @@ fn main() {
|
||||
var v2b : vec2<bool>;
|
||||
var v3b : vec3<bool>;
|
||||
var v4b : vec4<bool>;
|
||||
{
|
||||
var i : i32 = 0;
|
||||
loop {
|
||||
if (!((i < 2))) {
|
||||
break;
|
||||
}
|
||||
v2f[i] = 1.0;
|
||||
v2i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
|
||||
continuing {
|
||||
i = (i + 1);
|
||||
}
|
||||
}
|
||||
for(var i : i32 = 0; (i < 2); i = (i + 1)) {
|
||||
v2f[i] = 1.0;
|
||||
v2i[i] = 1;
|
||||
v2u[i] = 1u;
|
||||
v2b[i] = true;
|
||||
}
|
||||
var i : i32 = 0;
|
||||
v3f[i] = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user