diff --git a/src/back/glsl/mod.rs b/src/back/glsl/mod.rs index c87095d2d7..cccf959ecf 100644 --- a/src/back/glsl/mod.rs +++ b/src/back/glsl/mod.rs @@ -66,9 +66,6 @@ pub const SUPPORTED_CORE_VERSIONS: &[u16] = &[330, 400, 410, 420, 430, 440, 450] /// List of supported es glsl versions pub const SUPPORTED_ES_VERSIONS: &[u16] = &[300, 310, 320]; -//TODO: use `super::BAKE_PREFIX` instead -const BAKE_PREFIX: &str = "_expr"; - pub type BindingMap = std::collections::BTreeMap; impl crate::AtomicFunction { @@ -1345,7 +1342,7 @@ impl<'a, W: Write> Writer<'a, W> { } else { let min_ref_count = ctx.expressions[handle].bake_ref_count(); if min_ref_count <= ctx.info[handle].ref_count { - Some(format!("{}{}", BAKE_PREFIX, handle.index())) + Some(format!("{}{}", super::BAKE_PREFIX, handle.index())) } else { None } @@ -1677,7 +1674,7 @@ impl<'a, W: Write> Writer<'a, W> { } => { write!(self.out, "{}", INDENT.repeat(indent))?; if let Some(expr) = result { - let name = format!("{}{}", BAKE_PREFIX, expr.index()); + let name = format!("{}{}", super::BAKE_PREFIX, expr.index()); let result = self.module.functions[function].result.as_ref().unwrap(); self.write_type(result.ty)?; write!(self.out, " {} = ", name)?; @@ -1705,7 +1702,7 @@ impl<'a, W: Write> Writer<'a, W> { result, } => { write!(self.out, "{}", INDENT.repeat(indent))?; - let res_name = format!("{}{}", BAKE_PREFIX, result.index()); + let res_name = format!("{}{}", super::BAKE_PREFIX, result.index()); let res_ty = ctx.info[result].ty.inner_with(&self.module.types); self.write_value_type(res_ty)?; write!(self.out, " {} = ", res_name)?; diff --git a/tests/out/glsl/access.atomics.Compute.glsl b/tests/out/glsl/access.atomics.Compute.glsl index b4254c36d7..f0a982862d 100644 --- a/tests/out/glsl/access.atomics.Compute.glsl +++ b/tests/out/glsl/access.atomics.Compute.glsl @@ -16,20 +16,20 @@ buffer Bar_block_0Cs { void main() { int tmp = 0; int value = _group_0_binding_0.atom; - int _expr6 = atomicAdd(_group_0_binding_0.atom, 5); - tmp = _expr6; - int _expr9 = atomicAnd(_group_0_binding_0.atom, 5); - tmp = _expr9; - int _expr12 = atomicOr(_group_0_binding_0.atom, 5); - tmp = _expr12; - int _expr15 = atomicXor(_group_0_binding_0.atom, 5); - tmp = _expr15; - int _expr18 = atomicMin(_group_0_binding_0.atom, 5); - tmp = _expr18; - int _expr21 = atomicMax(_group_0_binding_0.atom, 5); - tmp = _expr21; - int _expr24 = atomicExchange(_group_0_binding_0.atom, 5); - tmp = _expr24; + int _e6 = atomicAdd(_group_0_binding_0.atom, 5); + tmp = _e6; + int _e9 = atomicAnd(_group_0_binding_0.atom, 5); + tmp = _e9; + int _e12 = atomicOr(_group_0_binding_0.atom, 5); + tmp = _e12; + int _e15 = atomicXor(_group_0_binding_0.atom, 5); + tmp = _e15; + int _e18 = atomicMin(_group_0_binding_0.atom, 5); + tmp = _e18; + int _e21 = atomicMax(_group_0_binding_0.atom, 5); + tmp = _e21; + int _e24 = atomicExchange(_group_0_binding_0.atom, 5); + tmp = _e24; _group_0_binding_0.atom = value; return; } diff --git a/tests/out/glsl/access.foo.Vertex.glsl b/tests/out/glsl/access.foo.Vertex.glsl index 6bd5436779..c128dff78b 100644 --- a/tests/out/glsl/access.foo.Vertex.glsl +++ b/tests/out/glsl/access.foo.Vertex.glsl @@ -19,8 +19,8 @@ void main() { foo1 = 1.0; mat4x4 matrix = _group_0_binding_0.matrix; uvec2 arr[2] = _group_0_binding_0.arr; - vec4 _expr13 = _group_0_binding_0.matrix[3]; - float b = _expr13.x; + vec4 _e13 = _group_0_binding_0.matrix[3]; + float b = _e13.x; int a = _group_0_binding_0.data[(uint(_group_0_binding_0.data.length()) - 2u)]; _group_0_binding_0.matrix[1][2] = 1.0; _group_0_binding_0.matrix = mat4x4(vec4(0.0), vec4(1.0), vec4(2.0), vec4(3.0)); diff --git a/tests/out/glsl/boids.main.Compute.glsl b/tests/out/glsl/boids.main.Compute.glsl index add4e0f9de..7a925d554e 100644 --- a/tests/out/glsl/boids.main.Compute.glsl +++ b/tests/out/glsl/boids.main.Compute.glsl @@ -45,112 +45,112 @@ void main() { if ((index >= 1500u)) { return; } - vec2 _expr10 = _group_0_binding_1.particles[index].pos; - vPos = _expr10; - vec2 _expr15 = _group_0_binding_1.particles[index].vel; - vVel = _expr15; + vec2 _e10 = _group_0_binding_1.particles[index].pos; + vPos = _e10; + vec2 _e15 = _group_0_binding_1.particles[index].vel; + vVel = _e15; cMass = vec2(0.0, 0.0); cVel = vec2(0.0, 0.0); colVel = vec2(0.0, 0.0); bool loop_init = true; while(true) { if (!loop_init) { - uint _expr86 = i; - i = (_expr86 + 1u); + uint _e86 = i; + i = (_e86 + 1u); } loop_init = false; - uint _expr37 = i; - if ((_expr37 >= 1500u)) { + uint _e37 = i; + if ((_e37 >= 1500u)) { break; } - uint _expr39 = i; - if ((_expr39 == index)) { + uint _e39 = i; + if ((_e39 == index)) { continue; } - uint _expr42 = i; - vec2 _expr45 = _group_0_binding_1.particles[_expr42].pos; - pos = _expr45; - uint _expr47 = i; - vec2 _expr50 = _group_0_binding_1.particles[_expr47].vel; - vel = _expr50; - vec2 _expr51 = pos; - vec2 _expr52 = vPos; - float _expr55 = _group_0_binding_0.rule1Distance; - if ((distance(_expr51, _expr52) < _expr55)) { - vec2 _expr57 = cMass; - vec2 _expr58 = pos; - cMass = (_expr57 + _expr58); - int _expr60 = cMassCount; - cMassCount = (_expr60 + 1); + uint _e42 = i; + vec2 _e45 = _group_0_binding_1.particles[_e42].pos; + pos = _e45; + uint _e47 = i; + vec2 _e50 = _group_0_binding_1.particles[_e47].vel; + vel = _e50; + vec2 _e51 = pos; + vec2 _e52 = vPos; + float _e55 = _group_0_binding_0.rule1Distance; + if ((distance(_e51, _e52) < _e55)) { + vec2 _e57 = cMass; + vec2 _e58 = pos; + cMass = (_e57 + _e58); + int _e60 = cMassCount; + cMassCount = (_e60 + 1); } - vec2 _expr63 = pos; - vec2 _expr64 = vPos; - float _expr67 = _group_0_binding_0.rule2Distance; - if ((distance(_expr63, _expr64) < _expr67)) { - vec2 _expr69 = colVel; - vec2 _expr70 = pos; - vec2 _expr71 = vPos; - colVel = (_expr69 - (_expr70 - _expr71)); + vec2 _e63 = pos; + vec2 _e64 = vPos; + float _e67 = _group_0_binding_0.rule2Distance; + if ((distance(_e63, _e64) < _e67)) { + vec2 _e69 = colVel; + vec2 _e70 = pos; + vec2 _e71 = vPos; + colVel = (_e69 - (_e70 - _e71)); } - vec2 _expr74 = pos; - vec2 _expr75 = vPos; - float _expr78 = _group_0_binding_0.rule3Distance; - if ((distance(_expr74, _expr75) < _expr78)) { - vec2 _expr80 = cVel; - vec2 _expr81 = vel; - cVel = (_expr80 + _expr81); - int _expr83 = cVelCount; - cVelCount = (_expr83 + 1); + vec2 _e74 = pos; + vec2 _e75 = vPos; + float _e78 = _group_0_binding_0.rule3Distance; + if ((distance(_e74, _e75) < _e78)) { + vec2 _e80 = cVel; + vec2 _e81 = vel; + cVel = (_e80 + _e81); + int _e83 = cVelCount; + cVelCount = (_e83 + 1); } } - int _expr89 = cMassCount; - if ((_expr89 > 0)) { - vec2 _expr92 = cMass; - int _expr93 = cMassCount; - vec2 _expr97 = vPos; - cMass = ((_expr92 / vec2(float(_expr93))) - _expr97); + int _e89 = cMassCount; + if ((_e89 > 0)) { + vec2 _e92 = cMass; + int _e93 = cMassCount; + vec2 _e97 = vPos; + cMass = ((_e92 / vec2(float(_e93))) - _e97); } - int _expr99 = cVelCount; - if ((_expr99 > 0)) { - vec2 _expr102 = cVel; - int _expr103 = cVelCount; - cVel = (_expr102 / vec2(float(_expr103))); + int _e99 = cVelCount; + if ((_e99 > 0)) { + vec2 _e102 = cVel; + int _e103 = cVelCount; + cVel = (_e102 / vec2(float(_e103))); } - vec2 _expr107 = vVel; - vec2 _expr108 = cMass; - float _expr110 = _group_0_binding_0.rule1Scale; - vec2 _expr113 = colVel; - float _expr115 = _group_0_binding_0.rule2Scale; - vec2 _expr118 = cVel; - float _expr120 = _group_0_binding_0.rule3Scale; - vVel = (((_expr107 + (_expr108 * _expr110)) + (_expr113 * _expr115)) + (_expr118 * _expr120)); - vec2 _expr123 = vVel; - vec2 _expr125 = vVel; - vVel = (normalize(_expr123) * clamp(length(_expr125), 0.0, 0.1)); - vec2 _expr131 = vPos; - vec2 _expr132 = vVel; - float _expr134 = _group_0_binding_0.deltaT; - vPos = (_expr131 + (_expr132 * _expr134)); - vec2 _expr137 = vPos; - if ((_expr137.x < -1.0)) { + vec2 _e107 = vVel; + vec2 _e108 = cMass; + float _e110 = _group_0_binding_0.rule1Scale; + vec2 _e113 = colVel; + float _e115 = _group_0_binding_0.rule2Scale; + vec2 _e118 = cVel; + float _e120 = _group_0_binding_0.rule3Scale; + vVel = (((_e107 + (_e108 * _e110)) + (_e113 * _e115)) + (_e118 * _e120)); + vec2 _e123 = vVel; + vec2 _e125 = vVel; + vVel = (normalize(_e123) * clamp(length(_e125), 0.0, 0.1)); + vec2 _e131 = vPos; + vec2 _e132 = vVel; + float _e134 = _group_0_binding_0.deltaT; + vPos = (_e131 + (_e132 * _e134)); + vec2 _e137 = vPos; + if ((_e137.x < -1.0)) { vPos.x = 1.0; } - vec2 _expr143 = vPos; - if ((_expr143.x > 1.0)) { + vec2 _e143 = vPos; + if ((_e143.x > 1.0)) { vPos.x = -1.0; } - vec2 _expr149 = vPos; - if ((_expr149.y < -1.0)) { + vec2 _e149 = vPos; + if ((_e149.y < -1.0)) { vPos.y = 1.0; } - vec2 _expr155 = vPos; - if ((_expr155.y > 1.0)) { + vec2 _e155 = vPos; + if ((_e155.y > 1.0)) { vPos.y = -1.0; } - vec2 _expr164 = vPos; - _group_0_binding_2.particles[index].pos = _expr164; - vec2 _expr168 = vVel; - _group_0_binding_2.particles[index].vel = _expr168; + vec2 _e164 = vPos; + _group_0_binding_2.particles[index].pos = _e164; + vec2 _e168 = vVel; + _group_0_binding_2.particles[index].vel = _e168; return; } diff --git a/tests/out/glsl/interpolate.main.Vertex.glsl b/tests/out/glsl/interpolate.main.Vertex.glsl index 5aefc78ede..76cdd0ac02 100644 --- a/tests/out/glsl/interpolate.main.Vertex.glsl +++ b/tests/out/glsl/interpolate.main.Vertex.glsl @@ -28,15 +28,15 @@ void main() { out1.perspective = vec4(729.0, 1000.0, 1331.0, 1728.0); out1.perspective_centroid = 2197.0; out1.perspective_sample = 2744.0; - FragmentInput _expr30 = out1; - gl_Position = _expr30.position; - _vs2fs_location0 = _expr30.flat1; - _vs2fs_location1 = _expr30.linear; - _vs2fs_location2 = _expr30.linear_centroid; - _vs2fs_location3 = _expr30.linear_sample; - _vs2fs_location4 = _expr30.perspective; - _vs2fs_location5 = _expr30.perspective_centroid; - _vs2fs_location6 = _expr30.perspective_sample; + FragmentInput _e30 = out1; + gl_Position = _e30.position; + _vs2fs_location0 = _e30.flat1; + _vs2fs_location1 = _e30.linear; + _vs2fs_location2 = _e30.linear_centroid; + _vs2fs_location3 = _e30.linear_sample; + _vs2fs_location4 = _e30.perspective; + _vs2fs_location5 = _e30.perspective_centroid; + _vs2fs_location6 = _e30.perspective_sample; return; } diff --git a/tests/out/glsl/operators.main.Compute.glsl b/tests/out/glsl/operators.main.Compute.glsl index 332e991c8b..a146d42bb9 100644 --- a/tests/out/glsl/operators.main.Compute.glsl +++ b/tests/out/glsl/operators.main.Compute.glsl @@ -30,9 +30,9 @@ int unary() { } void main() { - vec4 _expr3 = builtins(); - vec4 _expr4 = splat(); - int _expr5 = unary(); + vec4 _e3 = builtins(); + vec4 _e4 = splat(); + int _e5 = unary(); return; } diff --git a/tests/out/glsl/quad-vert.main.Vertex.glsl b/tests/out/glsl/quad-vert.main.Vertex.glsl index 60f74cd94b..e42681b2e7 100644 --- a/tests/out/glsl/quad-vert.main.Vertex.glsl +++ b/tests/out/glsl/quad-vert.main.Vertex.glsl @@ -29,10 +29,10 @@ layout(location = 0) in vec2 _p2vs_location0; layout(location = 0) smooth out vec2 _vs2fs_location0; void main2() { - vec2 _expr12 = a_uv1; - v_uv = _expr12; - vec2 _expr13 = a_pos1; - perVertexStruct.gen_gl_Position = vec4(_expr13.x, _expr13.y, 0.0, 1.0); + vec2 _e12 = a_uv1; + v_uv = _e12; + vec2 _e13 = a_pos1; + perVertexStruct.gen_gl_Position = vec4(_e13.x, _e13.y, 0.0, 1.0); return; } @@ -42,12 +42,12 @@ void main() { a_uv1 = a_uv; a_pos1 = a_pos; main2(); - vec2 _expr10 = v_uv; - vec4 _expr11 = perVertexStruct.gen_gl_Position; - float _expr12 = perVertexStruct.gen_gl_PointSize; - float _expr13[1] = perVertexStruct.gen_gl_ClipDistance; - float _expr14[1] = perVertexStruct.gen_gl_CullDistance; - type10 _tmp_return = type10(_expr10, _expr11, _expr12, _expr13, _expr14); + vec2 _e10 = v_uv; + vec4 _e11 = perVertexStruct.gen_gl_Position; + float _e12 = perVertexStruct.gen_gl_PointSize; + float _e13[1] = perVertexStruct.gen_gl_ClipDistance; + float _e14[1] = perVertexStruct.gen_gl_CullDistance; + type10 _tmp_return = type10(_e10, _e11, _e12, _e13, _e14); _vs2fs_location0 = _tmp_return.member; gl_Position = _tmp_return.gen_gl_Position; gl_Position.yz = vec2(-gl_Position.y, gl_Position.z * 2.0 - gl_Position.w); diff --git a/tests/out/glsl/shadow.fs_main.Fragment.glsl b/tests/out/glsl/shadow.fs_main.Fragment.glsl index 95466dc3a3..e3502e2bcc 100644 --- a/tests/out/glsl/shadow.fs_main.Fragment.glsl +++ b/tests/out/glsl/shadow.fs_main.Fragment.glsl @@ -29,8 +29,8 @@ float fetch_shadow(uint light_id, vec4 homogeneous_coords) { } vec2 flip_correction = vec2(0.5, -0.5); vec2 light_local = (((homogeneous_coords.xy * flip_correction) / vec2(homogeneous_coords.w)) + vec2(0.5, 0.5)); - float _expr26 = textureGrad(_group_0_binding_2, vec4(light_local, int(light_id), (homogeneous_coords.z / homogeneous_coords.w)), vec2(0,0), vec2(0,0)); - return _expr26; + float _e26 = textureGrad(_group_0_binding_2, vec4(light_local, int(light_id), (homogeneous_coords.z / homogeneous_coords.w)), vec2(0,0), vec2(0,0)); + return _e26; } void main() { @@ -42,26 +42,26 @@ void main() { bool loop_init = true; while(true) { if (!loop_init) { - uint _expr40 = i; - i = (_expr40 + 1u); + uint _e40 = i; + i = (_e40 + 1u); } loop_init = false; - uint _expr12 = i; - uvec4 _expr14 = _group_0_binding_0.num_lights; - if ((_expr12 >= min(_expr14.x, 10u))) { + uint _e12 = i; + uvec4 _e14 = _group_0_binding_0.num_lights; + if ((_e12 >= min(_e14.x, 10u))) { break; } - uint _expr19 = i; - Light light = _group_0_binding_1.data[_expr19]; - uint _expr22 = i; - float _expr25 = fetch_shadow(_expr22, (light.proj * position)); + uint _e19 = i; + Light light = _group_0_binding_1.data[_e19]; + uint _e22 = i; + float _e25 = fetch_shadow(_e22, (light.proj * position)); vec3 light_dir = normalize((light.pos.xyz - position.xyz)); float diffuse = max(0.0, dot(normal, light_dir)); - vec3 _expr34 = color; - color = (_expr34 + ((_expr25 * diffuse) * light.color.xyz)); + vec3 _e34 = color; + color = (_e34 + ((_e25 * diffuse) * light.color.xyz)); } - vec3 _expr43 = color; - _fs2p_location0 = vec4(_expr43, 1.0); + vec3 _e43 = color; + _fs2p_location0 = vec4(_e43, 1.0); return; } diff --git a/tests/out/glsl/skybox.fs_main.Fragment.glsl b/tests/out/glsl/skybox.fs_main.Fragment.glsl index 9cf8256351..fa0b46f024 100644 --- a/tests/out/glsl/skybox.fs_main.Fragment.glsl +++ b/tests/out/glsl/skybox.fs_main.Fragment.glsl @@ -15,8 +15,8 @@ layout(location = 0) out vec4 _fs2p_location0; void main() { VertexOutput in1 = VertexOutput(gl_FragCoord, _vs2fs_location0); - vec4 _expr5 = texture(_group_0_binding_1, vec3(in1.uv)); - _fs2p_location0 = _expr5; + vec4 _e5 = texture(_group_0_binding_1, vec3(in1.uv)); + _fs2p_location0 = _e5; return; } diff --git a/tests/out/glsl/skybox.vs_main.Vertex.glsl b/tests/out/glsl/skybox.vs_main.Vertex.glsl index bae80935e3..5f66bc1c6a 100644 --- a/tests/out/glsl/skybox.vs_main.Vertex.glsl +++ b/tests/out/glsl/skybox.vs_main.Vertex.glsl @@ -21,15 +21,15 @@ void main() { int tmp2_ = 0; tmp1_ = (int(vertex_index) / 2); tmp2_ = (int(vertex_index) & 1); - int _expr10 = tmp1_; - int _expr16 = tmp2_; - vec4 pos = vec4(((float(_expr10) * 4.0) - 1.0), ((float(_expr16) * 4.0) - 1.0), 0.0, 1.0); - vec4 _expr27 = _group_0_binding_0.view[0]; - vec4 _expr31 = _group_0_binding_0.view[1]; - vec4 _expr35 = _group_0_binding_0.view[2]; - mat3x3 inv_model_view = transpose(mat3x3(_expr27.xyz, _expr31.xyz, _expr35.xyz)); - mat4x4 _expr40 = _group_0_binding_0.proj_inv; - vec4 unprojected = (_expr40 * pos); + int _e10 = tmp1_; + int _e16 = tmp2_; + vec4 pos = vec4(((float(_e10) * 4.0) - 1.0), ((float(_e16) * 4.0) - 1.0), 0.0, 1.0); + vec4 _e27 = _group_0_binding_0.view[0]; + vec4 _e31 = _group_0_binding_0.view[1]; + vec4 _e35 = _group_0_binding_0.view[2]; + mat3x3 inv_model_view = transpose(mat3x3(_e27.xyz, _e31.xyz, _e35.xyz)); + mat4x4 _e40 = _group_0_binding_0.proj_inv; + vec4 unprojected = (_e40 * pos); VertexOutput _tmp_return = VertexOutput(pos, (inv_model_view * unprojected.xyz)); gl_Position = _tmp_return.position; _vs2fs_location0 = _tmp_return.uv; diff --git a/tests/out/glsl/texture-arg.main.Fragment.glsl b/tests/out/glsl/texture-arg.main.Fragment.glsl index 2c71caf43c..3d46d1cd84 100644 --- a/tests/out/glsl/texture-arg.main.Fragment.glsl +++ b/tests/out/glsl/texture-arg.main.Fragment.glsl @@ -8,13 +8,13 @@ uniform highp sampler2D _group_0_binding_0; layout(location = 0) out vec4 _fs2p_location0; vec4 test(highp sampler2D Passed_Texture) { - vec4 _expr7 = texture(Passed_Texture, vec2(vec2(0.0, 0.0))); - return _expr7; + vec4 _e7 = texture(Passed_Texture, vec2(vec2(0.0, 0.0))); + return _e7; } void main() { - vec4 _expr2 = test(_group_0_binding_0); - _fs2p_location0 = _expr2; + vec4 _e2 = test(_group_0_binding_0); + _fs2p_location0 = _e2; return; }