summaryrefslogtreecommitdiffstats
path: root/tools/gfx/open-gl/render-gl.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-10-13 14:07:26 -0700
committerGitHub <noreply@github.com>2022-10-13 14:07:26 -0700
commit09054f7ae00aad0458de465a7f0b780a91c694dd (patch)
tree776f50b5ebe51ae7088d6990eaa5f6d84d8a6c2a /tools/gfx/open-gl/render-gl.cpp
parentafa9f4b2786c92e72a563f316e074f62770630cb (diff)
Make `optimalClearValue` optional in `ITextureResource::Desc` (#2450)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tools/gfx/open-gl/render-gl.cpp')
-rw-r--r--tools/gfx/open-gl/render-gl.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/tools/gfx/open-gl/render-gl.cpp b/tools/gfx/open-gl/render-gl.cpp
index fdec875f0..f6fe5c9af 100644
--- a/tools/gfx/open-gl/render-gl.cpp
+++ b/tools/gfx/open-gl/render-gl.cpp
@@ -400,7 +400,14 @@ public:
renderer->glFramebufferTexture2D(
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + (uint32_t)i, GL_TEXTURE_2D, rtv->m_textureID, 0);
m_drawBuffers.add((GLenum)(GL_COLOR_ATTACHMENT0 + i));
- m_colorClearValues.add(rtv->m_resource->getDesc()->optimalClearValue.color);
+ if (rtv->m_resource->getDesc()->optimalClearValue)
+ {
+ m_colorClearValues.add(rtv->m_resource->getDesc()->optimalClearValue->color);
+ }
+ else
+ {
+ m_colorClearValues.add(ColorClearValue());
+ }
}
m_sameClearValues = true;
for (Index i = 1; i < m_colorClearValues.getCount() && m_sameClearValues; i++)
@@ -423,8 +430,11 @@ public:
GL_TEXTURE_2D,
depthStencilView->m_textureID,
0);
- m_depthStencilClearValue =
- depthStencilView->m_resource->getDesc()->optimalClearValue.depthStencil;
+ if (depthStencilView->m_resource->getDesc()->optimalClearValue)
+ {
+ m_depthStencilClearValue =
+ depthStencilView->m_resource->getDesc()->optimalClearValue->depthStencil;
+ }
}
auto error = renderer->glCheckFramebufferStatus(GL_FRAMEBUFFER);
if (error != GL_FRAMEBUFFER_COMPLETE)