dawn-cmake/test/tint/shader_io/fragment_input_mixed_f16.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

42 lines
1.2 KiB
GLSL

#version 310 es
#extension GL_OES_sample_variables : require
#extension GL_AMD_gpu_shader_half_float : require
precision highp float;
layout(location = 0) flat in int loc0_1;
layout(location = 1) flat in uint loc1_1;
layout(location = 3) in vec4 loc3_1;
layout(location = 5) in f16vec3 loc5_1;
layout(location = 2) in float loc2_1;
layout(location = 4) in float16_t loc4_1;
struct FragmentInputs0 {
vec4 position;
int loc0;
};
struct FragmentInputs1 {
vec4 loc3;
f16vec3 loc5;
uint sample_mask;
};
void tint_symbol(FragmentInputs0 inputs0, bool front_facing, uint loc1, uint sample_index, FragmentInputs1 inputs1, float loc2, float16_t loc4) {
if (front_facing) {
vec4 foo = inputs0.position;
uint bar = (sample_index + inputs1.sample_mask);
int i = inputs0.loc0;
uint u = loc1;
float f = loc2;
vec4 v = inputs1.loc3;
float16_t x = loc4;
f16vec3 y = inputs1.loc5;
}
}
void main() {
FragmentInputs0 tint_symbol_1 = FragmentInputs0(gl_FragCoord, loc0_1);
FragmentInputs1 tint_symbol_2 = FragmentInputs1(loc3_1, loc5_1, uint(gl_SampleMaskIn[0]));
tint_symbol(tint_symbol_1, gl_FrontFacing, loc1_1, uint(gl_SampleID), tint_symbol_2, loc2_1, loc4_1);
return;
}