1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-16 14:00:40 +00:00

Optimize Mobile renderer by using FP16 explicitly.

This commit is contained in:
Dario
2025-05-28 11:58:07 -03:00
parent 8f87e60307
commit 46277836a6
23 changed files with 938 additions and 786 deletions

View File

@@ -13,60 +13,60 @@
#define SCENE_DATA_FLAGS_IN_SHADOW_PASS (1 << 7)
struct SceneData {
highp mat4 projection_matrix;
highp mat4 inv_projection_matrix;
highp mat4 inv_view_matrix;
highp mat4 view_matrix;
mat4 projection_matrix;
mat4 inv_projection_matrix;
mat4 inv_view_matrix;
mat4 view_matrix;
// only used for multiview
highp mat4 projection_matrix_view[MAX_VIEWS];
highp mat4 inv_projection_matrix_view[MAX_VIEWS];
highp vec4 eye_offset[MAX_VIEWS];
mat4 projection_matrix_view[MAX_VIEWS];
mat4 inv_projection_matrix_view[MAX_VIEWS];
vec4 eye_offset[MAX_VIEWS];
// Used for billboards to cast correct shadows.
highp mat4 main_cam_inv_view_matrix;
mat4 main_cam_inv_view_matrix;
highp vec2 viewport_size;
highp vec2 screen_pixel_size;
vec2 viewport_size;
vec2 screen_pixel_size;
// Use vec4s because std140 doesn't play nice with vec2s, z and w are wasted.
highp vec4 directional_penumbra_shadow_kernel[32];
highp vec4 directional_soft_shadow_kernel[32];
highp vec4 penumbra_shadow_kernel[32];
highp vec4 soft_shadow_kernel[32];
vec4 directional_penumbra_shadow_kernel[32];
vec4 directional_soft_shadow_kernel[32];
vec4 penumbra_shadow_kernel[32];
vec4 soft_shadow_kernel[32];
highp vec2 shadow_atlas_pixel_size;
highp vec2 directional_shadow_pixel_size;
vec2 shadow_atlas_pixel_size;
vec2 directional_shadow_pixel_size;
uint directional_light_count;
mediump float dual_paraboloid_side;
highp float z_far;
highp float z_near;
float dual_paraboloid_side;
float z_far;
float z_near;
mediump float roughness_limiter_amount;
mediump float roughness_limiter_limit;
mediump float opaque_prepass_threshold;
highp uint flags;
float roughness_limiter_amount;
float roughness_limiter_limit;
float opaque_prepass_threshold;
uint flags;
mediump mat3 radiance_inverse_xform;
mat3 radiance_inverse_xform;
mediump vec4 ambient_light_color_energy;
vec4 ambient_light_color_energy;
mediump float ambient_color_sky_mix;
highp float fog_density;
highp float fog_height;
highp float fog_height_density;
float ambient_color_sky_mix;
float fog_density;
float fog_height;
float fog_height_density;
highp float fog_depth_curve;
highp float fog_depth_begin;
highp float fog_depth_end;
mediump float fog_sun_scatter;
float fog_depth_curve;
float fog_depth_begin;
float fog_depth_end;
float fog_sun_scatter;
mediump vec3 fog_light_color;
mediump float fog_aerial_perspective;
vec3 fog_light_color;
float fog_aerial_perspective;
highp float time;
highp float taa_frame_count;
float time;
float taa_frame_count;
vec2 taa_jitter;
float emissive_exposure_normalization;