glsl: Always emit structures

Skipping those that are block-decorated is not correct, as
block-decorated structures can also have non-buffer usages. This is
even clearer now that WGSL has removed the block attribute.

Bug: tint:1324
Change-Id: I6484766a5c541d39e2dc08beb3ae7b889759a3fb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/72083
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
This commit is contained in:
James Price
2021-12-09 15:45:03 +00:00
parent 3a4443a681
commit c7c80c053d
76 changed files with 515 additions and 4 deletions

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,15 +1,26 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
} ubo;
struct Result {
int tint_symbol;
};
layout (binding = 2) buffer Result_1 {
int tint_symbol;
} result;
struct SSBO {
int data[4];
};
layout (binding = 1) buffer SSBO_1 {
int data[4];
} ssbo;

View File

@@ -4,12 +4,20 @@ precision mediump float;
struct tint_padded_array_element {
int el;
};
struct UBO {
tint_padded_array_element data[4];
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
tint_padded_array_element data[4];
int dynamic_idx;
} ubo;
struct Result {
int tint_symbol;
};
layout (binding = 2) buffer Result_1 {
int tint_symbol;
} result;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;

View File

@@ -1,15 +1,26 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
} ubo;
struct Result {
int tint_symbol;
};
layout (binding = 2) buffer Result_1 {
int tint_symbol;
} result;
struct SSBO {
int data[4];
};
layout (binding = 1) buffer SSBO_1 {
int data[4];
} ssbo;

View File

@@ -1,6 +1,9 @@
#version 310 es
precision mediump float;
struct UBO {
int dynamic_idx;
};
layout (binding = 0) uniform UBO_1 {
int dynamic_idx;
@@ -9,6 +12,9 @@ layout (binding = 0) uniform UBO_1 {
struct S {
int data[64];
};
struct Result {
int tint_symbol;
};
layout (binding = 1) buffer Result_1 {
int tint_symbol;