Skip to content

Commit

Permalink
0618 GPUOpen-LibrariesAndSDKs#19 gi10 bugfixes + split channel denoising
Browse files Browse the repository at this point in the history
  • Loading branch information
Hineven committed Jun 18, 2024
1 parent e7e3630 commit d049611
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/core/src/render_techniques/migi/migi.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,11 @@ class MIGI : public RenderTechnique
// fp16x2
GfxTexture update_error_splat [2] {};

// Global illumination denoising
GfxTexture irradiance[2];
GfxTexture glossy_specular[2];
// History sample count / MAX_COUNT R16ufloat
GfxTexture history_accumulation[2] {};

GfxTexture previous_global_illumination {};

// Hierarchical z-buffer
Expand Down
2 changes: 1 addition & 1 deletion src/core/src/render_techniques/migi/migi_common.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ struct MIGI_Constants {
uint NoDenoiser;
uint DisableSG; //

uint BaseUpdateRayWaves;
uint BaseUpdateRayWaves;
};


Expand Down
6 changes: 5 additions & 1 deletion src/core/src/render_techniques/migi/migi_inc.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,11 @@ Texture2D<float> g_UpdateErrorSplatTexture;
// Used for reprojection
Texture2D<float> g_PreviousUpdateErrorSplatTexture;

// Denoiser sample counts
// GI Denoising
RWTexture2D<float4> g_RWIrradianceTexture;
Texture2D<float4> g_PreviousIrradianceTexture;
RWTexture2D<float4> g_RWGlossySpecularTexture;
Texture2D<float4> g_PreviousGlossySpecularTexture;
Texture2D<unorm float> g_PreviousHistoryAccumulationTexture;
RWTexture2D<unorm float> g_RWHistoryAccumulationTexture;
// Global illumination history without skybox
Expand Down
8 changes: 8 additions & 0 deletions src/core/src/render_techniques/migi/migi_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,14 @@ bool MIGI::initResources (const CapsaicinInternal & capsaicin) {
tex_.update_error_splat[1] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16G16_FLOAT, SSRC_TILE_SIZE_L2 + 1);
tex_.update_error_splat[1].setName("UpdateErrorSplat1");

tex_.irradiance[0] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16G16B16A16_FLOAT);
tex_.irradiance[0].setName("Irradiance0");
tex_.irradiance[1] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16G16B16A16_FLOAT);
tex_.irradiance[1].setName("Irradiance1");
tex_.glossy_specular[0] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16G16B16A16_FLOAT);
tex_.glossy_specular[0].setName("GlossySpecular0");
tex_.glossy_specular[1] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16G16B16A16_FLOAT);
tex_.glossy_specular[1].setName("GlossySpecular1");
tex_.history_accumulation[0] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16_UNORM);
tex_.history_accumulation[0].setName("HistoryAccumulation0");
tex_.history_accumulation[1] = gfxCreateTexture2D(gfx_, capsaicin.getWidth(), capsaicin.getHeight(), DXGI_FORMAT_R16_UNORM);
Expand Down

0 comments on commit d049611

Please sign in to comment.