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);