EEVEE: Reduce binary size on Mesa caused by fixed size arrays

For some reasons this reduce the binary size from 11MB for
the 3 shaders to less than 1MB.
This commit is contained in:
Clément Foucault 2024-06-24 19:31:23 +02:00
parent d88150ce1f
commit 0b7ae0c75a

@ -26,8 +26,8 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_remap)
.push_constant(Type::IVEC4, "world_coord_packed")
.sampler(0, ImageType::FLOAT_CUBE, "cubemap_tx")
.sampler(1, ImageType::FLOAT_2D_ARRAY, "atlas_tx")
.storage_buf(0, Qualifier::WRITE, "SphereProbeHarmonic", "out_sh[SPHERE_PROBE_MAX_HARMONIC]")
.storage_buf(1, Qualifier::WRITE, "SphereProbeSunLight", "out_sun[SPHERE_PROBE_MAX_HARMONIC]")
.storage_buf(0, Qualifier::WRITE, "SphereProbeHarmonic", "out_sh[]")
.storage_buf(1, Qualifier::WRITE, "SphereProbeSunLight", "out_sun[]")
.image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "atlas_img")
.compute_source("eevee_lightprobe_sphere_remap_comp.glsl")
.additional_info("eevee_shared", "eevee_global_ubo")
@ -36,7 +36,7 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_remap)
GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_irradiance)
.local_group_size(SPHERE_PROBE_SH_GROUP_SIZE)
.push_constant(Type::IVEC3, "probe_remap_dispatch_size")
.storage_buf(0, Qualifier::READ, "SphereProbeHarmonic", "in_sh[SPHERE_PROBE_MAX_HARMONIC]")
.storage_buf(0, Qualifier::READ, "SphereProbeHarmonic", "in_sh[]")
.storage_buf(1, Qualifier::WRITE, "SphereProbeHarmonic", "out_sh")
.additional_info("eevee_shared")
.do_static_compilation(true)
@ -45,7 +45,7 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_irradiance)
GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_sunlight)
.local_group_size(SPHERE_PROBE_SH_GROUP_SIZE)
.push_constant(Type::IVEC3, "probe_remap_dispatch_size")
.storage_buf(0, Qualifier::READ, "SphereProbeSunLight", "in_sun[SPHERE_PROBE_MAX_HARMONIC]")
.storage_buf(0, Qualifier::READ, "SphereProbeSunLight", "in_sun[]")
.storage_buf(1, Qualifier::WRITE, "LightData", "sunlight_buf")
.additional_info("eevee_shared")
.do_static_compilation(true)