mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
[glsl-out] Explicitly set location bindings
This commit is contained in:
committed by
Dzmitry Malyshau
parent
a17ae022c6
commit
6736bcefa6
@@ -811,8 +811,22 @@ impl<'a, W: Write> Writer<'a, W> {
|
||||
}
|
||||
|
||||
// Write the storage class
|
||||
write!(self.out, "{} ", if output { "out" } else { "in" })?;
|
||||
|
||||
if self.options.version >= Version::Embedded(310)
|
||||
|| self.options.version >= Version::Desktop(410)
|
||||
{
|
||||
if let Binding::Location(index, ..) = *binding {
|
||||
write!(
|
||||
self.out,
|
||||
"layout(location = {}) {} ",
|
||||
index,
|
||||
if output { "out" } else { "in" }
|
||||
)?;
|
||||
} else {
|
||||
write!(self.out, "{} ", if output { "out" } else { "in" })?;
|
||||
}
|
||||
} else {
|
||||
write!(self.out, "{} ", if output { "out" } else { "in" })?;
|
||||
}
|
||||
// Write the type
|
||||
// `write_type` adds no leading or trailing spaces
|
||||
self.write_type(ty)?;
|
||||
|
||||
@@ -13,8 +13,8 @@ struct VertexOutput {
|
||||
|
||||
uniform highp sampler2D _group_0_binding_0;
|
||||
|
||||
in vec2 _in_location_0;
|
||||
out vec4 _out_location_0;
|
||||
layout(location = 0) in vec2 _in_location_0;
|
||||
layout(location = 0) out vec4 _out_location_0;
|
||||
|
||||
void main() {
|
||||
vec2 uv2 = _in_location_0;
|
||||
|
||||
@@ -11,9 +11,9 @@ struct VertexOutput {
|
||||
vec4 position;
|
||||
};
|
||||
|
||||
in vec2 _in_location_0;
|
||||
in vec2 _in_location_1;
|
||||
out vec2 _out_location_0;
|
||||
layout(location = 0) in vec2 _in_location_0;
|
||||
layout(location = 1) in vec2 _in_location_1;
|
||||
layout(location = 0) out vec2 _out_location_0;
|
||||
|
||||
void main() {
|
||||
vec2 pos = _in_location_0;
|
||||
|
||||
@@ -22,9 +22,9 @@ readonly buffer Lights_block_1 {
|
||||
|
||||
uniform highp sampler2DArrayShadow _group_0_binding_2;
|
||||
|
||||
in vec3 _in_location_0;
|
||||
in vec4 _in_location_1;
|
||||
out vec4 _out_location_0;
|
||||
layout(location = 0) in vec3 _in_location_0;
|
||||
layout(location = 1) in vec4 _in_location_1;
|
||||
layout(location = 0) out vec4 _out_location_0;
|
||||
|
||||
float fetch_shadow(uint light_id, vec4 homogeneous_coords) {
|
||||
if((homogeneous_coords[3] <= 0.0)) {
|
||||
|
||||
@@ -13,8 +13,8 @@ struct VertexOutput {
|
||||
|
||||
uniform highp samplerCube _group_0_binding_1;
|
||||
|
||||
in vec3 _in_location_0;
|
||||
out vec4 _out_location_0;
|
||||
layout(location = 0) in vec3 _in_location_0;
|
||||
layout(location = 0) out vec4 _out_location_0;
|
||||
|
||||
void main() {
|
||||
vec3 uv1 = _in_location_0;
|
||||
|
||||
@@ -16,7 +16,7 @@ uniform Data_block_0 {
|
||||
mat4x4 view;
|
||||
} _group_0_binding_0;
|
||||
|
||||
out vec3 _out_location_0;
|
||||
layout(location = 0) out vec3 _out_location_0;
|
||||
|
||||
void main() {
|
||||
uint vertex_index = uint(gl_VertexID);
|
||||
|
||||
Reference in New Issue
Block a user