diff --git a/src/back/glsl/mod.rs b/src/back/glsl/mod.rs index b3b139af30..c0d1a6b30c 100644 --- a/src/back/glsl/mod.rs +++ b/src/back/glsl/mod.rs @@ -1200,7 +1200,12 @@ impl<'a, W: Write> Writer<'a, W> { // generated number so it's unique and `members` are the same as in a struct if block { // Write the block name, it's just the struct name appended with `_block_ID` - let block_name = format!("{}_block_{}", name, self.block_id.generate()); + let stage_postfix = match self.entry_point.stage { + ShaderStage::Vertex => "Vs", + ShaderStage::Fragment => "Fs", + ShaderStage::Compute => "Cs", + }; + let block_name = format!("{}_block_{}{}", name, self.block_id.generate(), stage_postfix); writeln!(self.out, "{} {{", block_name)?; self.reflection_names.insert(handle, block_name); diff --git a/tests/out/glsl/boids.main.Compute.glsl b/tests/out/glsl/boids.main.Compute.glsl index 0893dc8103..4c4cec0a3d 100644 --- a/tests/out/glsl/boids.main.Compute.glsl +++ b/tests/out/glsl/boids.main.Compute.glsl @@ -10,7 +10,7 @@ struct Particle { vec2 vel; }; -uniform SimParams_block_0 { +uniform SimParams_block_0Cs { float deltaT; float rule1Distance; float rule2Distance; @@ -20,11 +20,11 @@ uniform SimParams_block_0 { float rule3Scale; } _group_0_binding_0; -readonly buffer Particles_block_1 { +readonly buffer Particles_block_1Cs { Particle particles[]; } _group_0_binding_1; -buffer Particles_block_2 { +buffer Particles_block_2Cs { Particle particles[]; } _group_0_binding_2; diff --git a/tests/out/glsl/quad-vert.main.Vertex.glsl b/tests/out/glsl/quad-vert.main.Vertex.glsl index 970c268409..029373548a 100644 --- a/tests/out/glsl/quad-vert.main.Vertex.glsl +++ b/tests/out/glsl/quad-vert.main.Vertex.glsl @@ -15,7 +15,7 @@ vec2 v_uv = vec2(0, 0); vec2 a_uv1 = vec2(0, 0); -struct gen_gl_PerVertex_block_0 { +struct gen_gl_PerVertex_block_0Vs { vec4 gen_gl_Position; float gen_gl_PointSize; float gen_gl_ClipDistance[1]; diff --git a/tests/out/glsl/shadow.fs_main.Fragment.glsl b/tests/out/glsl/shadow.fs_main.Fragment.glsl index af217b631e..95466dc3a3 100644 --- a/tests/out/glsl/shadow.fs_main.Fragment.glsl +++ b/tests/out/glsl/shadow.fs_main.Fragment.glsl @@ -9,11 +9,11 @@ struct Light { vec4 color; }; -uniform Globals_block_0 { +uniform Globals_block_0Fs { uvec4 num_lights; } _group_0_binding_0; -readonly buffer Lights_block_1 { +readonly buffer Lights_block_1Fs { Light data[]; } _group_0_binding_1; diff --git a/tests/out/glsl/skybox.vs_main.Vertex.glsl b/tests/out/glsl/skybox.vs_main.Vertex.glsl index 6d3795565a..a49f78a930 100644 --- a/tests/out/glsl/skybox.vs_main.Vertex.glsl +++ b/tests/out/glsl/skybox.vs_main.Vertex.glsl @@ -8,7 +8,7 @@ struct VertexOutput { vec3 uv; }; -layout(binding = 0) uniform Data_block_0 { +layout(binding = 0) uniform Data_block_0Vs { mat4x4 proj_inv; mat4x4 view; } _group_0_binding_0;