summaryrefslogtreecommitdiffstats
path: root/tools/gfx/open-gl/render-gl.cpp
diff options
context:
space:
mode:
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)