mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Skip rendering when scissor is zero area.
This commit is contained in:
@@ -5744,6 +5744,11 @@ BX_PRAGMA_DIAGNOSTIC_POP();
|
||||
{
|
||||
Rect scissorRect;
|
||||
scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]);
|
||||
if (scissorRect.isZeroArea() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
scissorEnabled = true;
|
||||
D3D11_RECT rc;
|
||||
rc.left = scissorRect.m_x;
|
||||
|
||||
@@ -5371,6 +5371,11 @@ data.NumQualityLevels = 0;
|
||||
restoreScissor = true;
|
||||
Rect scissorRect;
|
||||
scissorRect.intersect(viewScissorRect,_render->m_rectCache.m_cache[scissor]);
|
||||
if (scissorRect.isZeroArea() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
D3D12_RECT rc;
|
||||
rc.left = scissorRect.m_x;
|
||||
rc.top = scissorRect.m_y;
|
||||
|
||||
@@ -3795,6 +3795,11 @@ namespace bgfx { namespace d3d9
|
||||
{
|
||||
Rect scissorRect;
|
||||
scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]);
|
||||
if (scissorRect.isZeroArea() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
DX_CHECK(device->SetRenderState(D3DRS_SCISSORTESTENABLE, true) );
|
||||
RECT rc;
|
||||
rc.left = scissorRect.m_x;
|
||||
|
||||
@@ -6601,6 +6601,11 @@ namespace bgfx { namespace gl
|
||||
{
|
||||
Rect scissorRect;
|
||||
scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]);
|
||||
if (scissorRect.isZeroArea() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
GL_CHECK(glEnable(GL_SCISSOR_TEST) );
|
||||
GL_CHECK(glScissor(scissorRect.m_x
|
||||
, resolutionHeight-scissorRect.m_height-scissorRect.m_y
|
||||
|
||||
@@ -3406,14 +3406,17 @@ namespace bgfx { namespace mtl
|
||||
{
|
||||
Rect scissorRect;
|
||||
scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]);
|
||||
rc.x = scissorRect.m_x;
|
||||
rc.y = scissorRect.m_y;
|
||||
if (scissorRect.isZeroArea() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
rc.x = scissorRect.m_x;
|
||||
rc.y = scissorRect.m_y;
|
||||
rc.width = scissorRect.m_width;
|
||||
rc.height = scissorRect.m_height;
|
||||
|
||||
if ( rc.width == 0 || rc.height == 0 )
|
||||
continue;
|
||||
}
|
||||
|
||||
rce.setScissorRect(rc);
|
||||
}
|
||||
|
||||
|
||||
@@ -4262,6 +4262,11 @@ BX_UNUSED(currentSamplerStateIdx);
|
||||
restoreScissor = true;
|
||||
Rect scissorRect;
|
||||
scissorRect.intersect(viewScissorRect,_render->m_rectCache.m_cache[scissor]);
|
||||
if (scissorRect.isZeroArea() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
VkRect2D rc;
|
||||
rc.offset.x = scissorRect.m_x;
|
||||
rc.offset.x = scissorRect.m_y;
|
||||
|
||||
Reference in New Issue
Block a user