GLSL: fix storage texture binding.
The binding number simply wasn't being emitted in Tint's GLSL backend.
Also change all the Emit*Variable() functions in GLSL's ASTPrinter
to take a sem::GlobalVariable, rather than taking a sem::Variable and
casting it back.
Bug: dawn:1692
Change-Id: Iab7742732b62be5b2714f9c31e1b2073117fb4b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/197975
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl b/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl
index ecbd64a..8de85f8 100644
--- a/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/var/textureDimensions/15aa17.wgsl.expected.glsl
@@ -7,7 +7,7 @@
uint pad;
} prevent_dce;
-layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, rgba32i) uniform highp writeonly iimage3D arg_0;
uvec3 textureDimensions_15aa17() {
uvec3 res = uvec3(imageSize(arg_0));
return res;
@@ -28,7 +28,7 @@
uint pad;
} prevent_dce;
-layout(rgba32i) uniform highp writeonly iimage3D arg_0;
+layout(binding = 0, rgba32i) uniform highp writeonly iimage3D arg_0;
uvec3 textureDimensions_15aa17() {
uvec3 res = uvec3(imageSize(arg_0));
return res;