dawn-cmake/test/shader_io/interpolate_integers.wgsl.e...

126 lines
2.4 KiB
GLSL

#version 310 es
precision mediump float;
struct Interface {
int i;
uint u;
ivec4 vi;
uvec4 vu;
vec4 pos;
};
struct tint_symbol {
int i;
uint u;
ivec4 vi;
uvec4 vu;
vec4 pos;
};
Interface vert_main_inner() {
Interface tint_symbol_4 = Interface(0, 0u, ivec4(0, 0, 0, 0), uvec4(0u, 0u, 0u, 0u), vec4(0.0f, 0.0f, 0.0f, 0.0f));
return tint_symbol_4;
}
struct tint_symbol_2 {
int i;
uint u;
ivec4 vi;
uvec4 vu;
vec4 pos;
};
struct tint_symbol_3 {
int value;
};
tint_symbol vert_main() {
Interface inner_result = vert_main_inner();
tint_symbol wrapper_result = tint_symbol(0, 0u, ivec4(0, 0, 0, 0), uvec4(0u, 0u, 0u, 0u), vec4(0.0f, 0.0f, 0.0f, 0.0f));
wrapper_result.i = inner_result.i;
wrapper_result.u = inner_result.u;
wrapper_result.vi = inner_result.vi;
wrapper_result.vu = inner_result.vu;
wrapper_result.pos = inner_result.pos;
return wrapper_result;
}
layout(location = 0) flat out int i;
layout(location = 1) flat out uint u;
layout(location = 2) flat out ivec4 vi;
layout(location = 3) flat out uvec4 vu;
void main() {
tint_symbol outputs;
outputs = vert_main();
i = outputs.i;
u = outputs.u;
vi = outputs.vi;
vu = outputs.vu;
gl_Position = outputs.pos;
gl_Position.z = 2.0 * gl_Position.z - gl_Position.w;
gl_Position.y = -gl_Position.y;
}
#version 310 es
precision mediump float;
struct Interface {
int i;
uint u;
ivec4 vi;
uvec4 vu;
vec4 pos;
};
struct tint_symbol {
int i;
uint u;
ivec4 vi;
uvec4 vu;
vec4 pos;
};
struct tint_symbol_2 {
int i;
uint u;
ivec4 vi;
uvec4 vu;
vec4 pos;
};
struct tint_symbol_3 {
int value;
};
int frag_main_inner(Interface inputs) {
return inputs.i;
}
tint_symbol_3 frag_main(tint_symbol_2 tint_symbol_1) {
Interface tint_symbol_4 = Interface(tint_symbol_1.i, tint_symbol_1.u, tint_symbol_1.vi, tint_symbol_1.vu, tint_symbol_1.pos);
int inner_result_1 = frag_main_inner(tint_symbol_4);
tint_symbol_3 wrapper_result_1 = tint_symbol_3(0);
wrapper_result_1.value = inner_result_1;
return wrapper_result_1;
}
layout(location = 0) flat in int i;
layout(location = 1) flat in uint u;
layout(location = 2) flat in ivec4 vi;
layout(location = 3) flat in uvec4 vu;
layout(location = 0) out int value;
void main() {
tint_symbol_2 inputs;
inputs.i = i;
inputs.u = u;
inputs.vi = vi;
inputs.vu = vu;
inputs.pos = gl_FragCoord;
tint_symbol_3 outputs;
outputs = frag_main(inputs);
value = outputs.value;
}