mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +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
@@ -54,19 +54,19 @@ layout(binding = 0) uniform Uniforms_1 {
|
||||
vec3 bbMax;
|
||||
} uniforms;
|
||||
|
||||
layout(binding = 10) buffer U32s_1 {
|
||||
layout(binding = 10, std430) buffer U32s_1 {
|
||||
uint values[];
|
||||
} indices;
|
||||
layout(binding = 11) buffer F32s_1 {
|
||||
layout(binding = 11, std430) buffer F32s_1 {
|
||||
float values[];
|
||||
} positions;
|
||||
layout(binding = 20) buffer AU32s_1 {
|
||||
layout(binding = 20, std430) buffer AU32s_1 {
|
||||
uint values[];
|
||||
} counters;
|
||||
layout(binding = 21) buffer AI32s_1 {
|
||||
layout(binding = 21, std430) buffer AI32s_1 {
|
||||
int values[];
|
||||
} LUT;
|
||||
layout(binding = 50) buffer Dbg_1 {
|
||||
layout(binding = 50, std430) buffer Dbg_1 {
|
||||
uint offsetCounter;
|
||||
uint pad0;
|
||||
uint pad1;
|
||||
|
||||
@@ -7,7 +7,7 @@ struct S {
|
||||
float f;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer arr_block_1 {
|
||||
layout(binding = 0, std430) buffer arr_block_1 {
|
||||
S inner[];
|
||||
} arr;
|
||||
void tint_symbol() {
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
void f() {
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
|
||||
@@ -13,14 +13,14 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 2) buffer Result_1 {
|
||||
layout(binding = 2, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
struct SSBO {
|
||||
int data[4];
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer SSBO_1 {
|
||||
layout(binding = 1, std430) buffer SSBO_1 {
|
||||
int data[4];
|
||||
} ssbo;
|
||||
void f() {
|
||||
|
||||
@@ -15,7 +15,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 2) buffer Result_1 {
|
||||
layout(binding = 2, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
void f() {
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
shared S s;
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
void f() {
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
void x(inout S p) {
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
|
||||
@@ -13,14 +13,14 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 2) buffer Result_1 {
|
||||
layout(binding = 2, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
struct SSBO {
|
||||
int data[4];
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer SSBO_1 {
|
||||
layout(binding = 1, std430) buffer SSBO_1 {
|
||||
int data[4];
|
||||
} ssbo;
|
||||
void f() {
|
||||
|
||||
@@ -17,7 +17,7 @@ struct Result {
|
||||
int tint_symbol;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
int tint_symbol;
|
||||
} result;
|
||||
shared S s;
|
||||
|
||||
@@ -12,7 +12,7 @@ struct Particle {
|
||||
vec3 velocity;
|
||||
};
|
||||
|
||||
layout(binding = 3) buffer Particles_1 {
|
||||
layout(binding = 3, std430) buffer Particles_1 {
|
||||
Particle p[];
|
||||
} particles;
|
||||
layout(binding = 4) uniform Simulation_1 {
|
||||
|
||||
@@ -26,7 +26,7 @@ layout(binding = 0) uniform Uniforms_1 {
|
||||
vec4 color;
|
||||
} uniforms;
|
||||
|
||||
layout(binding = 1) buffer PointLights_1 {
|
||||
layout(binding = 1, std430) buffer PointLights_1 {
|
||||
PointLight values[];
|
||||
} pointLights;
|
||||
struct FragmentInput {
|
||||
|
||||
@@ -34,19 +34,19 @@ layout(binding = 0) uniform Uniforms_1 {
|
||||
vec3 bbMax;
|
||||
} uniforms;
|
||||
|
||||
layout(binding = 10) buffer U32s_1 {
|
||||
layout(binding = 10, std430) buffer U32s_1 {
|
||||
uint values[];
|
||||
} indices;
|
||||
layout(binding = 11) buffer F32s_1 {
|
||||
layout(binding = 11, std430) buffer F32s_1 {
|
||||
float values[];
|
||||
} positions;
|
||||
layout(binding = 20) buffer AU32s_1 {
|
||||
layout(binding = 20, std430) buffer AU32s_1 {
|
||||
uint values[];
|
||||
} counters;
|
||||
layout(binding = 21) buffer AI32s_1 {
|
||||
layout(binding = 21, std430) buffer AI32s_1 {
|
||||
int values[];
|
||||
} LUT;
|
||||
layout(binding = 50) buffer Dbg_1 {
|
||||
layout(binding = 50, std430) buffer Dbg_1 {
|
||||
uint offsetCounter;
|
||||
uint pad0;
|
||||
uint pad1;
|
||||
@@ -156,19 +156,19 @@ layout(binding = 0) uniform Uniforms_1 {
|
||||
vec3 bbMax;
|
||||
} uniforms;
|
||||
|
||||
layout(binding = 10) buffer U32s_1 {
|
||||
layout(binding = 10, std430) buffer U32s_1 {
|
||||
uint values[];
|
||||
} indices;
|
||||
layout(binding = 11) buffer F32s_1 {
|
||||
layout(binding = 11, std430) buffer F32s_1 {
|
||||
float values[];
|
||||
} positions;
|
||||
layout(binding = 20) buffer AU32s_1 {
|
||||
layout(binding = 20, std430) buffer AU32s_1 {
|
||||
uint values[];
|
||||
} counters;
|
||||
layout(binding = 21) buffer AI32s_1 {
|
||||
layout(binding = 21, std430) buffer AI32s_1 {
|
||||
int values[];
|
||||
} LUT;
|
||||
layout(binding = 50) buffer Dbg_1 {
|
||||
layout(binding = 50, std430) buffer Dbg_1 {
|
||||
uint offsetCounter;
|
||||
uint pad0;
|
||||
uint pad1;
|
||||
@@ -247,19 +247,19 @@ layout(binding = 0) uniform Uniforms_1 {
|
||||
vec3 bbMax;
|
||||
} uniforms;
|
||||
|
||||
layout(binding = 10) buffer U32s_1 {
|
||||
layout(binding = 10, std430) buffer U32s_1 {
|
||||
uint values[];
|
||||
} indices;
|
||||
layout(binding = 11) buffer F32s_1 {
|
||||
layout(binding = 11, std430) buffer F32s_1 {
|
||||
float values[];
|
||||
} positions;
|
||||
layout(binding = 20) buffer AU32s_1 {
|
||||
layout(binding = 20, std430) buffer AU32s_1 {
|
||||
uint values[];
|
||||
} counters;
|
||||
layout(binding = 21) buffer AI32s_1 {
|
||||
layout(binding = 21, std430) buffer AI32s_1 {
|
||||
int values[];
|
||||
} LUT;
|
||||
layout(binding = 50) buffer Dbg_1 {
|
||||
layout(binding = 50, std430) buffer Dbg_1 {
|
||||
uint offsetCounter;
|
||||
uint pad0;
|
||||
uint pad1;
|
||||
|
||||
@@ -7,7 +7,7 @@ struct LightData {
|
||||
float radius;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer LightsBuffer_1 {
|
||||
layout(binding = 0, std430) buffer LightsBuffer_1 {
|
||||
LightData lights[];
|
||||
} lightsBuffer;
|
||||
struct TileLightIdData {
|
||||
@@ -19,7 +19,7 @@ struct Tiles {
|
||||
TileLightIdData data[4];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer Tiles_1 {
|
||||
layout(binding = 0, std430) buffer Tiles_1 {
|
||||
TileLightIdData data[4];
|
||||
} tileLightId;
|
||||
struct Config {
|
||||
|
||||
@@ -9,7 +9,7 @@ struct Buffer {
|
||||
uint data;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer Buffer_1 {
|
||||
layout(binding = 0, std430) buffer Buffer_1 {
|
||||
uint data;
|
||||
} tint_symbol;
|
||||
void tint_symbol_1() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
|
||||
layout(binding = 1) buffer data_block_1 {
|
||||
layout(binding = 1, std430) buffer data_block_1 {
|
||||
int inner[];
|
||||
} data;
|
||||
int foo() {
|
||||
|
||||
@@ -6,7 +6,7 @@ struct Buf {
|
||||
uint data[50];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer Buf_1 {
|
||||
layout(binding = 0, std430) buffer Buf_1 {
|
||||
uint count;
|
||||
uint data[50];
|
||||
} b;
|
||||
|
||||
@@ -10,6 +10,6 @@ struct Light {
|
||||
vec3 colour;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Lights_1 {
|
||||
layout(binding = 1, std430) buffer Lights_1 {
|
||||
Light light[];
|
||||
} lights;
|
||||
|
||||
@@ -9,7 +9,7 @@ struct S {
|
||||
mat2 m;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
mat2 m;
|
||||
} SSBO;
|
||||
layout(binding = 0) uniform S_2 {
|
||||
|
||||
@@ -5,7 +5,7 @@ struct S {
|
||||
int a;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
int a;
|
||||
} buf;
|
||||
void tint_symbol() {
|
||||
|
||||
@@ -8,7 +8,7 @@ struct Uniforms {
|
||||
uint channelCount;
|
||||
};
|
||||
|
||||
layout(binding = 2) buffer OutputBuf_1 {
|
||||
layout(binding = 2, std430) buffer OutputBuf_1 {
|
||||
uint result[];
|
||||
} tint_symbol;
|
||||
layout(binding = 3) uniform Uniforms_1 {
|
||||
|
||||
@@ -7,13 +7,13 @@ struct Uniforms {
|
||||
uvec2 outShape;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer Matrix_1 {
|
||||
layout(binding = 0, std430) buffer Matrix_1 {
|
||||
uint numbers[];
|
||||
} firstMatrix;
|
||||
layout(binding = 1) buffer Matrix_2 {
|
||||
layout(binding = 1, std430) buffer Matrix_2 {
|
||||
uint numbers[];
|
||||
} secondMatrix;
|
||||
layout(binding = 2) buffer Matrix_3 {
|
||||
layout(binding = 2, std430) buffer Matrix_3 {
|
||||
uint numbers[];
|
||||
} resultMatrix;
|
||||
layout(binding = 3) uniform Uniforms_1 {
|
||||
|
||||
@@ -5,7 +5,7 @@ struct Constants {
|
||||
int level;
|
||||
};
|
||||
|
||||
layout(binding = 3) buffer Result_1 {
|
||||
layout(binding = 3, std430) buffer Result_1 {
|
||||
float values[];
|
||||
} result;
|
||||
uniform highp sampler2DArray myTexture_1;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
precision mediump float;
|
||||
|
||||
const uint width = 128u;
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
float values[];
|
||||
} result;
|
||||
uniform highp sampler2D tex_1;
|
||||
|
||||
@@ -12,7 +12,7 @@ struct x_B4_BuildInformation {
|
||||
sspp962805860buildInformationS passthru;
|
||||
};
|
||||
|
||||
layout(binding = 2) buffer x_B4_BuildInformation_1 {
|
||||
layout(binding = 2, std430) buffer x_B4_BuildInformation_1 {
|
||||
sspp962805860buildInformationS passthru;
|
||||
} sspp962805860buildInformation;
|
||||
void main_1() {
|
||||
|
||||
@@ -9,7 +9,7 @@ struct Uniforms {
|
||||
uvec2 copySize;
|
||||
};
|
||||
|
||||
layout(binding = 2) buffer OutputBuf_1 {
|
||||
layout(binding = 2, std430) buffer OutputBuf_1 {
|
||||
uint result[];
|
||||
} tint_symbol;
|
||||
layout(binding = 3) uniform Uniforms_1 {
|
||||
|
||||
@@ -7,13 +7,13 @@ struct Uniforms {
|
||||
uint dimBOuter;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer Matrix_1 {
|
||||
layout(binding = 0, std430) buffer Matrix_1 {
|
||||
float numbers[];
|
||||
} firstMatrix;
|
||||
layout(binding = 1) buffer Matrix_2 {
|
||||
layout(binding = 1, std430) buffer Matrix_2 {
|
||||
float numbers[];
|
||||
} secondMatrix;
|
||||
layout(binding = 2) buffer Matrix_3 {
|
||||
layout(binding = 2, std430) buffer Matrix_3 {
|
||||
float numbers[];
|
||||
} resultMatrix;
|
||||
layout(binding = 3) uniform Uniforms_1 {
|
||||
|
||||
@@ -5,7 +5,7 @@ struct DrawIndirectArgs {
|
||||
uint vertexCount;
|
||||
};
|
||||
|
||||
layout(binding = 5) buffer DrawIndirectArgs_1 {
|
||||
layout(binding = 5, std430) buffer DrawIndirectArgs_1 {
|
||||
uint vertexCount;
|
||||
} drawOut;
|
||||
uint cubeVerts = 0u;
|
||||
|
||||
@@ -34,18 +34,18 @@ layout(binding = 3) uniform Uniforms_1 {
|
||||
|
||||
int dimInner_1 = 0;
|
||||
int dimBOuter_1 = 0;
|
||||
layout(binding = 0) buffer ssbOut_1 {
|
||||
layout(binding = 0, std430) buffer ssbOut_1 {
|
||||
float result[];
|
||||
} x_54;
|
||||
uvec3 tint_symbol = uvec3(0u, 0u, 0u);
|
||||
uvec3 tint_symbol_1 = uvec3(0u, 0u, 0u);
|
||||
shared float mm_Asub[64][64];
|
||||
shared float mm_Bsub[64][1];
|
||||
layout(binding = 1) buffer ssbA_1 {
|
||||
layout(binding = 1, std430) buffer ssbA_1 {
|
||||
float A[];
|
||||
} x_165;
|
||||
int batch = 0;
|
||||
layout(binding = 2) buffer ssbB_1 {
|
||||
layout(binding = 2, std430) buffer ssbB_1 {
|
||||
float B[];
|
||||
} x_185;
|
||||
bool coordsInBounds_vi2_vi2_(inout ivec2 coord, inout ivec2 shape) {
|
||||
|
||||
@@ -19,10 +19,10 @@ struct Uniforms {
|
||||
int size;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer ssbOut_1 {
|
||||
layout(binding = 0, std430) buffer ssbOut_1 {
|
||||
float result[];
|
||||
} x_16;
|
||||
layout(binding = 1) buffer ssbA_1 {
|
||||
layout(binding = 1, std430) buffer ssbA_1 {
|
||||
float A[];
|
||||
} x_20;
|
||||
uvec3 tint_symbol = uvec3(0u, 0u, 0u);
|
||||
|
||||
@@ -5,28 +5,28 @@ struct S {
|
||||
float a;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
float a;
|
||||
} b0;
|
||||
layout(binding = 0) buffer S_2 {
|
||||
layout(binding = 0, std430) buffer S_2 {
|
||||
float a;
|
||||
} b1;
|
||||
layout(binding = 0) buffer S_3 {
|
||||
layout(binding = 0, std430) buffer S_3 {
|
||||
float a;
|
||||
} b2;
|
||||
layout(binding = 0) buffer S_4 {
|
||||
layout(binding = 0, std430) buffer S_4 {
|
||||
float a;
|
||||
} b3;
|
||||
layout(binding = 0) buffer S_5 {
|
||||
layout(binding = 0, std430) buffer S_5 {
|
||||
float a;
|
||||
} b4;
|
||||
layout(binding = 0) buffer S_6 {
|
||||
layout(binding = 0, std430) buffer S_6 {
|
||||
float a;
|
||||
} b5;
|
||||
layout(binding = 0) buffer S_7 {
|
||||
layout(binding = 0, std430) buffer S_7 {
|
||||
float a;
|
||||
} b6;
|
||||
layout(binding = 0) buffer S_8 {
|
||||
layout(binding = 0, std430) buffer S_8 {
|
||||
float a;
|
||||
} b7;
|
||||
layout(binding = 1) uniform S_9 {
|
||||
|
||||
@@ -22,7 +22,7 @@ struct Uniforms {
|
||||
};
|
||||
|
||||
uvec3 tint_symbol = uvec3(0u, 0u, 0u);
|
||||
layout(binding = 2) buffer ResultMatrix_1 {
|
||||
layout(binding = 2, std430) buffer ResultMatrix_1 {
|
||||
float numbers[];
|
||||
} resultMatrix;
|
||||
float binaryOperation_f1_f1_(inout float a, inout float b) {
|
||||
|
||||
@@ -12,7 +12,7 @@ struct S {
|
||||
uint i;
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer S_1 {
|
||||
layout(binding = 0, std430) buffer S_1 {
|
||||
vec3 v;
|
||||
uint i;
|
||||
} io;
|
||||
|
||||
@@ -13,14 +13,14 @@ struct Result {
|
||||
uint value;
|
||||
};
|
||||
|
||||
layout(binding = 1) buffer Result_1 {
|
||||
layout(binding = 1, std430) buffer Result_1 {
|
||||
uint value;
|
||||
} result;
|
||||
struct TestData {
|
||||
int data[3];
|
||||
};
|
||||
|
||||
layout(binding = 0) buffer TestData_1 {
|
||||
layout(binding = 0, std430) buffer TestData_1 {
|
||||
int data[3];
|
||||
} s;
|
||||
int runTest() {
|
||||
|
||||
Reference in New Issue
Block a user