From fcb19fc4ecbe0cbb8ea8853e00d02b966112e52c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Wed, 24 Apr 2024 20:20:22 +0200 Subject: [PATCH] Cleanup: EEVEE-Next: Use define for volume probe atlas format --- source/blender/draw/engines/eevee_next/eevee_defines.hh | 3 +++ .../draw/engines/eevee_next/eevee_irradiance_cache.cc | 2 +- .../eevee_next/shaders/infos/eevee_irradiance_cache_info.hh | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/source/blender/draw/engines/eevee_next/eevee_defines.hh b/source/blender/draw/engines/eevee_next/eevee_defines.hh index 72727af3fa7..776147549d4 100644 --- a/source/blender/draw/engines/eevee_next/eevee_defines.hh +++ b/source/blender/draw/engines/eevee_next/eevee_defines.hh @@ -55,6 +55,9 @@ */ #define SPHERE_PROBE_MAX 128 +/** NOTE: Runtime format only. */ +#define VOLUME_PROBE_FORMAT GPU_RGBA16F + /** * Limited by the performance impact it can cause. * Limited by the max layer count supported by a hardware (256). diff --git a/source/blender/draw/engines/eevee_next/eevee_irradiance_cache.cc b/source/blender/draw/engines/eevee_next/eevee_irradiance_cache.cc index 98e90dd52cd..576898dedc6 100644 --- a/source/blender/draw/engines/eevee_next/eevee_irradiance_cache.cc +++ b/source/blender/draw/engines/eevee_next/eevee_irradiance_cache.cc @@ -44,7 +44,7 @@ void VolumeProbeModule::init() eGPUTextureUsage usage = GPU_TEXTURE_USAGE_SHADER_WRITE | GPU_TEXTURE_USAGE_SHADER_READ | GPU_TEXTURE_USAGE_ATTACHMENT; - do_full_update_ = irradiance_atlas_tx_.ensure_3d(GPU_RGBA16F, atlas_extent, usage); + do_full_update_ = irradiance_atlas_tx_.ensure_3d(VOLUME_PROBE_FORMAT, atlas_extent, usage); if (do_full_update_) { /* Delete all references to existing bricks. */ diff --git a/source/blender/draw/engines/eevee_next/shaders/infos/eevee_irradiance_cache_info.hh b/source/blender/draw/engines/eevee_next/shaders/infos/eevee_irradiance_cache_info.hh index e40e43382c7..f61672dff57 100644 --- a/source/blender/draw/engines/eevee_next/shaders/infos/eevee_irradiance_cache_info.hh +++ b/source/blender/draw/engines/eevee_next/shaders/infos/eevee_irradiance_cache_info.hh @@ -179,7 +179,8 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_irradiance_world) .storage_buf(0, Qualifier::READ, "uint", "bricks_infos_buf[]") .storage_buf(1, Qualifier::READ, "SphereProbeHarmonic", "harmonic_buf") .uniform_buf(0, "VolumeProbeData", "grids_infos_buf[IRRADIANCE_GRID_MAX]") - .image(0, GPU_RGBA16F, Qualifier::READ_WRITE, ImageType::FLOAT_3D, "irradiance_atlas_img") + .image( + 0, VOLUME_PROBE_FORMAT, Qualifier::READ_WRITE, ImageType::FLOAT_3D, "irradiance_atlas_img") .compute_source("eevee_lightprobe_irradiance_world_comp.glsl") .do_static_compilation(true); @@ -208,7 +209,8 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_irradiance_load) .sampler(7, ImageType::FLOAT_3D, "visibility_d_tx") .sampler(8, ImageType::FLOAT_3D, "irradiance_atlas_tx") .sampler(9, ImageType::FLOAT_3D, "validity_tx") - .image(0, GPU_RGBA16F, Qualifier::READ_WRITE, ImageType::FLOAT_3D, "irradiance_atlas_img") + .image( + 0, VOLUME_PROBE_FORMAT, Qualifier::READ_WRITE, ImageType::FLOAT_3D, "irradiance_atlas_img") .compute_source("eevee_lightprobe_irradiance_load_comp.glsl") .do_static_compilation(true);