Device pixel ratio send as define instead of UBO field (#1936)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Alex Cristici
2023-12-09 07:48:57 +02:00
committed by GitHub
parent 1c2faae52e
commit ea73a57a09
44 changed files with 114 additions and 107 deletions

View File

@@ -9,8 +9,8 @@ layout (std140) uniform CircleDrawableUBO {
layout (std140) uniform CirclePaintParamsUBO {
highp float u_camera_to_center_distance;
lowp float u_device_pixel_ratio;
lowp vec2 pad3_;
lowp float pad3_;
lowp vec2 pad4_;
};
layout (std140) uniform CircleEvaluatedPropsUBO {
@@ -86,7 +86,7 @@ void main(void) {
// This is a minimum blur distance that serves as a faux-antialiasing for
// the circle. since blur is a ratio of the circle's size and the intent is
// to keep the blur at roughly 1px, the two are inversely related.
lowp float antialiasblur = 1.0 / u_device_pixel_ratio / (radius + stroke_width);
lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);
v_data = vec3(extrude.x, extrude.y, antialiasblur);
}

View File

@@ -2,7 +2,7 @@ layout (std140) uniform LineUBO {
highp mat4 u_matrix;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
lowp float pad0;
};
layout (std140) uniform LinePropertiesUBO {
@@ -47,7 +47,7 @@ void main() {
// Calculate the antialiasing fade factor. This is either when fading in
// the line in case of an offset line (v_width2.t) or when fading out
// (v_width2.s)
float blur2 = (blur + 1.0 / u_device_pixel_ratio) * v_gamma_scale;
float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;
float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);
fragColor = color * (alpha * opacity);

View File

@@ -13,7 +13,7 @@ layout (std140) uniform LineUBO {
highp mat4 u_matrix;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
lowp float pad0;
};
layout (std140) uniform LinePropertiesUBO {
@@ -61,7 +61,7 @@ void main() {
// the distance over which the line edge fades out.
// Retina devices need a smaller distance to avoid aliasing.
float ANTIALIASING = 1.0 / u_device_pixel_ratio / 2.0;
float ANTIALIASING = 1.0 / DEVICE_PIXEL_RATIO / 2.0;
vec2 a_extrude = a_data.xy - 128.0;
float a_direction = mod(a_data.z, 4.0) - 1.0;

View File

@@ -2,7 +2,7 @@ layout (std140) uniform LineBasicUBO {
highp mat4 u_matrix;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
lowp float pad0;
};
layout (std140) uniform LineBasicPropertiesUBO {
@@ -24,7 +24,7 @@ void main() {
// Calculate the antialiasing fade factor. This is either when fading in
// the line in case of an offset line (v_width2.t) or when fading out
// (v_width2.s)
float blur2 = (1.0 / u_device_pixel_ratio) * v_gamma_scale;
float blur2 = (1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;
float alpha = clamp(min(dist + blur2, v_width - dist) / blur2, 0.0, 1.0);
fragColor = u_color * (alpha * u_opacity);

View File

@@ -13,7 +13,7 @@ layout (std140) uniform LineBasicUBO {
highp mat4 u_matrix;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
lowp float pad0;
};
layout (std140) uniform LineBasicPropertiesUBO {
@@ -32,7 +32,7 @@ out highp float v_linesofar;
void main() {
// the distance over which the line edge fades out.
// Retina devices need a smaller distance to avoid aliasing.
float ANTIALIASING = 1.0 / u_device_pixel_ratio / 2.0;
float ANTIALIASING = 1.0 / DEVICE_PIXEL_RATIO / 2.0;
vec2 a_extrude = a_data.xy - 128.0;

View File

@@ -2,7 +2,7 @@ layout (std140) uniform LineGradientUBO {
highp mat4 u_matrix;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
lowp float pad0;
};
layout (std140) uniform LineGradientPropertiesUBO {
@@ -47,7 +47,7 @@ void main() {
// Calculate the antialiasing fade factor. This is either when fading in
// the line in case of an offset line (v_width2.t) or when fading out
// (v_width2.s)
float blur2 = (blur + 1.0 / u_device_pixel_ratio) * v_gamma_scale;
float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;
float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);
// For gradient lines, v_lineprogress is the ratio along the entire line,

View File

@@ -17,7 +17,7 @@ layout (std140) uniform LineGradientUBO {
highp mat4 u_matrix;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
lowp float pad0;
};
layout (std140) uniform LineGradientPropertiesUBO {
@@ -62,7 +62,7 @@ void main() {
// the distance over which the line edge fades out.
// Retina devices need a smaller distance to avoid aliasing.
float ANTIALIASING = 1.0 / u_device_pixel_ratio / 2.0;
float ANTIALIASING = 1.0 / DEVICE_PIXEL_RATIO / 2.0;
vec2 a_extrude = a_data.xy - 128.0;
float a_direction = mod(a_data.z, 4.0) - 1.0;

View File

@@ -4,9 +4,9 @@ layout (std140) uniform LinePatternUBO {
highp vec2 u_texsize;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
highp float u_fade;
lowp float pad0;
highp float pad1;
};
@@ -79,7 +79,7 @@ void main() {
// Calculate the antialiasing fade factor. This is either when fading in
// the line in case of an offset line (v_width2.t) or when fading out
// (v_width2.s)
float blur2 = (blur + 1.0 / u_device_pixel_ratio) * v_gamma_scale;
float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;
float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);
float x_a = mod(v_linesofar / pattern_size_a.x, 1.0);

View File

@@ -19,9 +19,9 @@ layout (std140) uniform LinePatternUBO {
highp vec2 u_texsize;
highp vec2 u_units_to_pixels;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
highp float u_fade;
lowp float pad0;
highp float pad1;
};
@@ -77,7 +77,7 @@ void main() {
// the distance over which the line edge fades out.
// Retina devices need a smaller distance to avoid aliasing.
float ANTIALIASING = 1.0 / u_device_pixel_ratio / 2.0;
float ANTIALIASING = 1.0 / DEVICE_PIXEL_RATIO / 2.0;
vec2 a_extrude = a_data.xy - 128.0;
float a_direction = mod(a_data.z, 4.0) - 1.0;

View File

@@ -5,11 +5,12 @@ layout (std140) uniform LineSDFUBO {
highp vec2 u_patternscale_a;
highp vec2 u_patternscale_b;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
highp float u_tex_y_a;
highp float u_tex_y_b;
highp float u_sdfgamma;
highp float u_mix;
lowp float pad0;
};
layout (std140) uniform LineSDFPropertiesUBO {
@@ -63,7 +64,7 @@ void main() {
// Calculate the antialiasing fade factor. This is either when fading in
// the line in case of an offset line (v_width2.t) or when fading out
// (v_width2.s)
float blur2 = (blur + 1.0 / u_device_pixel_ratio) * v_gamma_scale;
float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;
float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);
float sdfdist_a = texture(u_image, v_tex_a).a;

View File

@@ -19,11 +19,12 @@ layout (std140) uniform LineSDFUBO {
highp vec2 u_patternscale_a;
highp vec2 u_patternscale_b;
mediump float u_ratio;
lowp float u_device_pixel_ratio;
highp float u_tex_y_a;
highp float u_tex_y_b;
highp float u_sdfgamma;
highp float u_mix;
lowp float pad0;
};
layout (std140) uniform LineSDFPropertiesUBO {
@@ -75,7 +76,7 @@ void main() {
// the distance over which the line edge fades out.
// Retina devices need a smaller distance to avoid aliasing.
float ANTIALIASING = 1.0 / u_device_pixel_ratio / 2.0;
float ANTIALIASING = 1.0 / DEVICE_PIXEL_RATIO / 2.0;
vec2 a_extrude = a_data.xy - 128.0;
float a_direction = mod(a_data.z, 4.0) - 1.0;

View File

@@ -20,8 +20,8 @@ layout (std140) uniform SymbolDrawableUBO {
layout (std140) uniform SymbolDynamicUBO {
highp float u_fade_change;
highp float u_camera_to_center_distance;
highp float u_device_pixel_ratio;
highp float u_aspect_ratio;
highp float pad0;
};
layout (std140) uniform SymbolDrawablePaintUBO {

View File

@@ -16,8 +16,8 @@ layout (std140) uniform SymbolDrawableUBO {
layout (std140) uniform SymbolDynamicUBO {
highp float u_fade_change;
highp float u_camera_to_center_distance;
highp float u_device_pixel_ratio;
highp float u_aspect_ratio;
highp float pad0;
};
layout (std140) uniform SymbolDrawablePaintUBO {
@@ -67,7 +67,7 @@ void main() {
#pragma mapbox: initialize lowp float halo_width
#pragma mapbox: initialize lowp float halo_blur
float EDGE_GAMMA = 0.105 / u_device_pixel_ratio;
float EDGE_GAMMA = 0.105 / DEVICE_PIXEL_RATIO;
vec2 tex = v_data0.xy;
float gamma_scale = v_data1.x;

View File

@@ -28,8 +28,8 @@ layout (std140) uniform SymbolDrawableUBO {
layout (std140) uniform SymbolDynamicUBO {
highp float u_fade_change;
highp float u_camera_to_center_distance;
highp float u_device_pixel_ratio;
highp float u_aspect_ratio;
highp float pad0;
};
layout (std140) uniform SymbolDrawablePaintUBO {

View File

@@ -19,8 +19,8 @@ layout (std140) uniform SymbolDrawableUBO {
layout (std140) uniform SymbolDynamicUBO {
highp float u_fade_change;
highp float u_camera_to_center_distance;
highp float u_device_pixel_ratio;
highp float u_aspect_ratio;
highp float pad0;
};
layout (std140) uniform SymbolDrawablePaintUBO {
@@ -86,7 +86,7 @@ void main() {
vec2 tex = v_data0.xy;
float EDGE_GAMMA = 0.105 / u_device_pixel_ratio;
float EDGE_GAMMA = 0.105 / DEVICE_PIXEL_RATIO;
float gamma_scale = v_data1.x;
float size = v_data1.y;

View File

@@ -27,8 +27,8 @@ layout (std140) uniform SymbolDrawableUBO {
layout (std140) uniform SymbolDynamicUBO {
highp float u_fade_change;
highp float u_camera_to_center_distance;
highp float u_device_pixel_ratio;
highp float u_aspect_ratio;
highp float pad0;
};
layout (std140) uniform SymbolDrawablePaintUBO {