GLSL: Change Add[Spirv]BlockAttribute to support GLSL

Modify the AddSpirvBlockAttribute transform to fix top-level structure
access of uniform, storage and push-constant buffers for use in the
GLSL backend. The small change to the transform makes the transform
wrap host-sharable buffers, if they're also used as a
non-host-sharable structure. Also rename the transform to
AddBlockAttrbibute in order to reflect its wider applicability.

Change-Id: Ib2bf4ebf6bce72790791dbae9387032be765e4b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/101061
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This commit is contained in:
Stephen White
2022-09-02 19:19:10 +00:00
committed by Dawn LUCI CQ
parent 822de46c74
commit 863d9edf59
362 changed files with 2316 additions and 3876 deletions

View File

@@ -75,21 +75,7 @@ struct Particle {
vec2 vel;
};
struct SimParams {
float deltaT;
float rule1Distance;
float rule2Distance;
float rule3Distance;
float rule1Scale;
float rule2Scale;
float rule3Scale;
};
struct Particles {
Particle particles[5];
};
layout(binding = 0) uniform SimParams_1 {
layout(binding = 0) uniform SimParams_ubo {
float deltaT;
float rule1Distance;
float rule2Distance;
@@ -99,12 +85,14 @@ layout(binding = 0) uniform SimParams_1 {
float rule3Scale;
} params;
layout(binding = 1, std430) buffer Particles_1 {
layout(binding = 1, std430) buffer Particles_ssbo {
Particle particles[5];
} particlesA;
layout(binding = 2, std430) buffer Particles_2 {
layout(binding = 2, std430) buffer Particles_ssbo_1 {
Particle particles[5];
} particlesB;
void comp_main(uvec3 tint_symbol) {
uint index = tint_symbol.x;
if ((index >= 5u)) {

View File

@@ -3,11 +3,7 @@
layout(location = 0) in vec4 cur_position_1;
layout(location = 1) in vec4 color_1;
layout(location = 0) out vec4 vtxFragColor_1;
struct Uniforms {
mat4 modelViewProjectionMatrix;
};
layout(binding = 0) uniform Uniforms_1 {
layout(binding = 0) uniform Uniforms_ubo {
mat4 modelViewProjectionMatrix;
} uniforms;