Skip to content

Commit ed02d3e

Browse files
SSR and SSAO: a couple of minor fixes
1 parent 66cfd30 commit ed02d3e

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

PostProcess/ScreenSpaceAmbientOcclusion/src/ScreenSpaceAmbientOcclusion.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,6 @@ void ScreenSpaceAmbientOcclusion::PrepareResources(IRenderDevice* pDevice, IDevi
7272
const bool UseReverseDepth = (PostFXFeatureFlags & PostFXContext::FEATURE_FLAG_REVERSED_DEPTH) != 0;
7373
if (m_FeatureFlags != FeatureFlags || m_UseReverseDepth != UseReverseDepth)
7474
{
75-
for (auto& Iter : m_RenderTech)
76-
Iter.second.SRB.Release();
77-
7875
if ((m_FeatureFlags & (FEATURE_FLAG_HALF_PRECISION_DEPTH | FEATURE_FLAG_HALF_RESOLUTION)) !=
7976
(FeatureFlags & (FEATURE_FLAG_HALF_PRECISION_DEPTH | FEATURE_FLAG_HALF_RESOLUTION)))
8077
{
@@ -89,6 +86,9 @@ void ScreenSpaceAmbientOcclusion::PrepareResources(IRenderDevice* pDevice, IDevi
8986
if (m_BackBufferWidth == FrameDesc.Width && m_BackBufferHeight == FrameDesc.Height)
9087
return;
9188

89+
for (auto& Iter : m_RenderTech)
90+
Iter.second.SRB.Release();
91+
9292
m_BackBufferWidth = FrameDesc.Width;
9393
m_BackBufferHeight = FrameDesc.Height;
9494

@@ -388,9 +388,9 @@ bool ScreenSpaceAmbientOcclusion::UpdateUI(HLSL::ScreenSpaceAmbientOcclusionAttr
388388
{
389389
const char* AlgorithmTypeNames[] = {"GTAO", "HBAO"};
390390

391-
Int32 AlgorithmType = FeatureFlags & FEATURE_FLAG_UNIFORM_WEIGHTING;
392-
bool FeatureHalfResolution = FeatureFlags & FEATURE_FLAG_HALF_RESOLUTION;
393-
bool FeatureHalfPrecisionDepth = FeatureFlags & FEATURE_FLAG_HALF_PRECISION_DEPTH;
391+
int AlgorithmType = (FeatureFlags & FEATURE_FLAG_UNIFORM_WEIGHTING) != 0 ? 1 : 0;
392+
bool FeatureHalfResolution = (FeatureFlags & FEATURE_FLAG_HALF_RESOLUTION) != 0;
393+
bool FeatureHalfPrecisionDepth = (FeatureFlags & FEATURE_FLAG_HALF_PRECISION_DEPTH) != 0;
394394

395395
bool AttribsChanged = false;
396396

@@ -438,7 +438,7 @@ bool ScreenSpaceAmbientOcclusion::UpdateUI(HLSL::ScreenSpaceAmbientOcclusionAttr
438438
FeatureFlags &= ~Flag;
439439
};
440440

441-
ResetStateFeatureMask(FeatureFlags, FEATURE_FLAG_UNIFORM_WEIGHTING, static_cast<bool>(AlgorithmType));
441+
ResetStateFeatureMask(FeatureFlags, FEATURE_FLAG_UNIFORM_WEIGHTING, AlgorithmType == 1);
442442
ResetStateFeatureMask(FeatureFlags, FEATURE_FLAG_HALF_RESOLUTION, FeatureHalfResolution);
443443
ResetStateFeatureMask(FeatureFlags, FEATURE_FLAG_HALF_PRECISION_DEPTH, FeatureHalfPrecisionDepth);
444444

PostProcess/ScreenSpaceReflection/src/ScreenSpaceReflection.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,6 @@ void ScreenSpaceReflection::PrepareResources(IRenderDevice* pDevice, IDeviceCont
9797
const bool UseReverseDepth = (PostFXFeatureFlags & PostFXContext::FEATURE_FLAG_REVERSED_DEPTH) != 0;
9898
if (m_FeatureFlags != FeatureFlags || m_UseReverseDepth != UseReverseDepth)
9999
{
100-
for (auto& Iter : m_RenderTech)
101-
Iter.second.SRB.Release();
102-
103100
if ((m_FeatureFlags & FEATURE_FLAG_HALF_RESOLUTION) != (FeatureFlags & FEATURE_FLAG_HALF_RESOLUTION))
104101
{
105102
m_BackBufferWidth = 0;
@@ -113,6 +110,9 @@ void ScreenSpaceReflection::PrepareResources(IRenderDevice* pDevice, IDeviceCont
113110
if (m_BackBufferWidth == FrameDesc.Width && m_BackBufferHeight == FrameDesc.Height)
114111
return;
115112

113+
for (auto& Iter : m_RenderTech)
114+
Iter.second.SRB.Release();
115+
116116
m_BackBufferWidth = FrameDesc.Width;
117117
m_BackBufferHeight = FrameDesc.Height;
118118

0 commit comments

Comments
 (0)