mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 21:47:47 +00:00
GLSL: put std430 packing on all buffer variables.
This is not 100% correct (the exceptions for mat2 and friends are not implemented yet), but gets more tests passing in Dawn. Bug: tint:1415 Change-Id: Ia11c63a5236f35e724431a65ddb6ef3c598775d0 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/79380 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: David Neto <dneto@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
This commit is contained in:
committed by
Tint LUCI CQ
parent
c6d967b4dd
commit
46647f1c13
@@ -13,7 +13,7 @@ struct Inner {
|
||||
ivec4 i[4];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
Inner arr[];
|
||||
} s;
|
||||
void tint_symbol(uint idx) {
|
||||
|
||||
@@ -13,7 +13,7 @@ struct Inner {
|
||||
ivec4 i[4];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
Inner arr[];
|
||||
} s;
|
||||
void tint_symbol(uint idx) {
|
||||
|
||||
@@ -18,7 +18,7 @@ struct S {
|
||||
Inner j[4];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
ivec3 a;
|
||||
int b;
|
||||
uvec3 c;
|
||||
|
||||
@@ -18,7 +18,7 @@ struct S {
|
||||
Inner j[4];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
ivec3 a;
|
||||
int b;
|
||||
uvec3 c;
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
float inner[4];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
float inner[4];
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
float inner[4];
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
float inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
float inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
float inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
int inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
int inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
int inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
mat2 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
mat2 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
mat2 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
mat2x3 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
mat2x3 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
mat2x3 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
mat3x2 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
mat3x2 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
mat3x2 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
mat4 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
mat4 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
mat4 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct S {
|
||||
float f;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
S inner[];
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
S inner[];
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -11,10 +11,10 @@ struct S {
|
||||
Inner inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
Inner inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer S_2 {
|
||||
layout(binding = 1, std430) buffer S_2 {
|
||||
Inner inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
@@ -27,7 +27,7 @@ void main() {
|
||||
return;
|
||||
}
|
||||
Error parsing GLSL shader:
|
||||
ERROR: 0:19: 'assign' : cannot convert from 'layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer structure{ global mediump float f} inner}' to 'layout( binding=1 column_major shared) buffer block{layout( column_major shared) buffer structure{ global mediump float f} inner}'
|
||||
ERROR: 0:19: 'assign' : cannot convert from 'layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{ global mediump float f} inner}' to 'layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{ global mediump float f} inner}'
|
||||
ERROR: 0:19: '' : compilation terminated
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
uint inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
uint inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
uint inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
ivec2 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
ivec2 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
ivec2 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
uvec3 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
uvec3 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
uvec3 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
@@ -5,10 +5,10 @@ struct tint_symbol_block {
|
||||
vec4 inner;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer tint_symbol_block_1 {
|
||||
layout(binding = 0, std430) buffer tint_symbol_block_1 {
|
||||
vec4 inner;
|
||||
} tint_symbol;
|
||||
layout(binding = 1) buffer tint_symbol_block_2 {
|
||||
layout(binding = 1, std430) buffer tint_symbol_block_2 {
|
||||
vec4 inner;
|
||||
} tint_symbol_1;
|
||||
void tint_symbol_2() {
|
||||
|
||||
Reference in New Issue
Block a user