dawn-cmake/test/tint/bug/tint/1046.wgsl.expected.glsl
Ben Clayton f1f56b2d3c tint/writer/glsl: Set default precision to highp
WGSL states that `f32` is a IEEE-754 binary32. mediump precision guarantees are much smaller than highp, and using mediump can break code generated by tint.

Change-Id: I8a129c4c8ac078c785e0d5d7d21f19ed6b3620b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123400
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2023-03-09 19:58:23 +00:00

55 lines
1.2 KiB
GLSL

#version 310 es
precision highp float;
layout(location = 0) in vec4 view_position_1;
layout(location = 1) in vec4 normal_1;
layout(location = 2) in vec2 uv_1;
layout(location = 3) in vec4 color_1;
layout(location = 0) out vec4 color_2;
struct PointLight {
vec4 position;
};
struct Uniforms {
mat4 worldView;
mat4 proj;
uint numPointLights;
uint color_source;
uint pad;
uint pad_1;
vec4 color;
};
layout(binding = 0, std140) uniform uniforms_block_ubo {
Uniforms inner;
} uniforms;
layout(binding = 1, std430) buffer PointLights_ssbo {
PointLight values[];
} pointLights;
struct FragmentInput {
vec4 position;
vec4 view_position;
vec4 normal;
vec2 uv;
vec4 color;
};
struct FragmentOutput {
vec4 color;
};
FragmentOutput tint_symbol(FragmentInput fragment) {
FragmentOutput tint_symbol_1 = FragmentOutput(vec4(0.0f, 0.0f, 0.0f, 0.0f));
tint_symbol_1.color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
return tint_symbol_1;
}
void main() {
FragmentInput tint_symbol_2 = FragmentInput(gl_FragCoord, view_position_1, normal_1, uv_1, color_1);
FragmentOutput inner_result = tint_symbol(tint_symbol_2);
color_2 = inner_result.color;
return;
}