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:
Stephen White
2022-02-04 23:09:23 +00:00
committed by Tint LUCI CQ
parent c6d967b4dd
commit 46647f1c13
199 changed files with 539 additions and 536 deletions

View File

@@ -11,7 +11,7 @@ struct S {
vec4 v;
};
layout(binding = 0) buffer S_1 {
layout(binding = 0, std430) buffer S_1 {
float f;
uint u;
vec4 v;
@@ -29,7 +29,7 @@ void main() {
return;
}
Error parsing GLSL shader:
ERROR: 0:21: 'assign' : cannot convert from ' in structure{ global mediump float f, global mediump uint u, global mediump 4-component vector of float v}' to 'layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer mediump float f, layout( column_major shared) buffer mediump uint u, layout( column_major shared) buffer mediump 4-component vector of float v}'
ERROR: 0:21: 'assign' : cannot convert from ' in structure{ global mediump float f, global mediump uint u, global mediump 4-component vector of float v}' to 'layout( binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer mediump float f, layout( column_major std430 offset=4) buffer mediump uint u, layout( column_major std430 offset=16) buffer mediump 4-component vector of float v}'
ERROR: 0:21: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.