Revert "Validate storage class constraints"

This reverts commit fd5829e5ea.

Reason for revert: Temporarily reverting as this is preventing a tint->dawn roll, which is needed to fix the dawn->chrome roll.

Original change's description:
> Validate storage class constraints
>
> As defined by https://gpuweb.github.io/gpuweb/wgsl/#storage-class-layout-constraints
>
> Bug: tint:643
> Change-Id: I9c78ba69a792a80c263a17b0a6e9b4810fdb7f30
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56780
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
> Reviewed-by: Ben Clayton <bclayton@google.com>

TBR=bclayton@google.com,amaiorano@google.com,noreply+kokoro@google.com,tint-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I8dbd0e46b3e3291ef08797a196d0d9abd2a78845
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: tint:643
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57704
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton
2021-07-12 20:15:43 +00:00
committed by Tint LUCI CQ
parent 66a88a2643
commit aa48b1ad8d
21 changed files with 53 additions and 774 deletions

View File

@@ -246,7 +246,6 @@ tint_unittests_source_set("tint_unittests_core_src") {
"../src/resolver/resolver_test.cc",
"../src/resolver/resolver_test_helper.cc",
"../src/resolver/resolver_test_helper.h",
"../src/resolver/storage_class_layout_validation_test.cc",
"../src/resolver/storage_class_validation_test.cc",
"../src/resolver/struct_layout_test.cc",
"../src/resolver/struct_pipeline_stage_use_test.cc",

View File

@@ -2,14 +2,14 @@
using namespace metal;
struct tint_symbol_1 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct S {
/* 0x0000 */ int a[1];
};
kernel void tint_symbol(constant tint_symbol_1& tint_symbol_2 [[buffer(30)]]) {
uint const l1 = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
uint const l1 = ((tint_symbol_2.buffer_size[0u] - 0u) / 4u);
return;
}

View File

@@ -2,15 +2,15 @@
using namespace metal;
struct tint_symbol_1 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct S {
/* 0x0000 */ int a[1];
};
kernel void tint_symbol(constant tint_symbol_1& tint_symbol_2 [[buffer(30)]]) {
uint const l1 = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
uint const l2 = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
uint const l1 = ((tint_symbol_2.buffer_size[0u] - 0u) / 4u);
uint const l2 = ((tint_symbol_2.buffer_size[0u] - 0u) / 4u);
return;
}

View File

@@ -2,14 +2,14 @@
using namespace metal;
struct tint_symbol_1 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct S {
/* 0x0000 */ int a[1];
};
kernel void tint_symbol(constant tint_symbol_1& tint_symbol_2 [[buffer(30)]]) {
uint const l1 = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
uint const l1 = ((tint_symbol_2.buffer_size[0u] - 0u) / 4u);
return;
}

View File

@@ -2,14 +2,14 @@
using namespace metal;
struct tint_symbol_1 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct S {
/* 0x0000 */ int a[1];
};
kernel void tint_symbol(constant tint_symbol_1& tint_symbol_2 [[buffer(30)]]) {
uint const l1 = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
uint const l1 = ((tint_symbol_2.buffer_size[0u] - 0u) / 4u);
return;
}

View File

@@ -2,14 +2,14 @@
using namespace metal;
struct tint_symbol_1 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct S {
/* 0x0000 */ int a[1];
};
kernel void tint_symbol(constant tint_symbol_1& tint_symbol_2 [[buffer(30)]]) {
uint const l1 = ((tint_symbol_2.buffer_size[0u][0u] - 0u) / 4u);
uint const l1 = ((tint_symbol_2.buffer_size[0u] - 0u) / 4u);
return;
}

View File

@@ -2,7 +2,7 @@
using namespace metal;
struct tint_symbol_2 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[2];
};
struct SB_RO {
/* 0x0000 */ int arg_0[1];
@@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_1588cd(constant tint_symbol_2& tint_symbol_3) {
uint res = ((tint_symbol_3.buffer_size[0u][1u] - 0u) / 4u);
uint res = ((tint_symbol_3.buffer_size[1u] - 0u) / 4u);
}
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {

View File

@@ -2,7 +2,7 @@
using namespace metal;
struct tint_symbol_2 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct SB_RW {
/* 0x0000 */ int arg_0[1];
@@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_61b1c7(constant tint_symbol_2& tint_symbol_3) {
uint res = ((tint_symbol_3.buffer_size[0u][0u] - 0u) / 4u);
uint res = ((tint_symbol_3.buffer_size[0u] - 0u) / 4u);
}
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {

View File

@@ -2,7 +2,7 @@
using namespace metal;
struct tint_symbol_2 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[2];
};
struct SB_RO {
/* 0x0000 */ float arg_0[1];
@@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_a0f5ca(constant tint_symbol_2& tint_symbol_3) {
uint res = ((tint_symbol_3.buffer_size[0u][1u] - 0u) / 4u);
uint res = ((tint_symbol_3.buffer_size[1u] - 0u) / 4u);
}
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {

View File

@@ -2,7 +2,7 @@
using namespace metal;
struct tint_symbol_2 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct SB_RW {
/* 0x0000 */ float arg_0[1];
@@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_cdd123(constant tint_symbol_2& tint_symbol_3) {
uint res = ((tint_symbol_3.buffer_size[0u][0u] - 0u) / 4u);
uint res = ((tint_symbol_3.buffer_size[0u] - 0u) / 4u);
}
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {

View File

@@ -2,7 +2,7 @@
using namespace metal;
struct tint_symbol_2 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[2];
};
struct SB_RO {
/* 0x0000 */ uint arg_0[1];
@@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_cfca0a(constant tint_symbol_2& tint_symbol_3) {
uint res = ((tint_symbol_3.buffer_size[0u][1u] - 0u) / 4u);
uint res = ((tint_symbol_3.buffer_size[1u] - 0u) / 4u);
}
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {

View File

@@ -2,7 +2,7 @@
using namespace metal;
struct tint_symbol_2 {
/* 0x0000 */ uint4 buffer_size[1];
/* 0x0000 */ uint buffer_size[1];
};
struct SB_RW {
/* 0x0000 */ uint arg_0[1];
@@ -12,7 +12,7 @@ struct tint_symbol {
};
void arrayLength_eb510f(constant tint_symbol_2& tint_symbol_3) {
uint res = ((tint_symbol_3.buffer_size[0u][0u] - 0u) / 4u);
uint res = ((tint_symbol_3.buffer_size[0u] - 0u) / 4u);
}
vertex tint_symbol vertex_main(constant tint_symbol_2& tint_symbol_3 [[buffer(30)]]) {