From 6f1c97966c61e4d7940bbbbcf8335ff28bd96a07 Mon Sep 17 00:00:00 2001 From: Chip Davis Date: Tue, 25 Sep 2018 14:01:32 -0500 Subject: [PATCH] Use the passed render area to set the render target extent. Use the smaller of the render area and the framebuffer area. --- MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm index edcf6d1d..6812ceb7 100644 --- a/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm +++ b/MoltenVK/MoltenVK/Commands/MVKCommandBuffer.mm @@ -257,8 +257,8 @@ void MVKCommandEncoder::beginMetalRenderPass() { getSubpass()->populateMTLRenderPassDescriptor(mtlRPDesc, _framebuffer, _clearValues, _isRenderingEntireAttachment); mtlRPDesc.visibilityResultBuffer = _occlusionQueryState.getVisibilityResultMTLBuffer(); mtlRPDesc.renderTargetArrayLengthMVK = _framebuffer->getLayerCount(); - mtlRPDesc.renderTargetWidthMVK = _framebuffer->getExtent2D().width; - mtlRPDesc.renderTargetHeightMVK = _framebuffer->getExtent2D().height; + mtlRPDesc.renderTargetWidthMVK = min(_framebuffer->getExtent2D().width, _renderArea.extent.width); + mtlRPDesc.renderTargetHeightMVK = min(_framebuffer->getExtent2D().height, _renderArea.extent.height); _mtlRenderEncoder = [_mtlCmdBuffer renderCommandEncoderWithDescriptor: mtlRPDesc]; // not retained _mtlRenderEncoder.label = getMTLRenderCommandEncoderName();