Vulkan: Fix Scissor on Clears
This commit is contained in:
parent
920429fde7
commit
98b5e236d4
1 changed files with 8 additions and 1 deletions
|
@ -247,8 +247,15 @@ void RasterizerVulkan::Clear() {
|
||||||
}
|
}
|
||||||
UpdateViewportsState(regs);
|
UpdateViewportsState(regs);
|
||||||
|
|
||||||
|
VkRect2D default_scissor;
|
||||||
|
default_scissor.offset.x = 0;
|
||||||
|
default_scissor.offset.y = 0;
|
||||||
|
default_scissor.extent.width = std::numeric_limits<s32>::max();
|
||||||
|
default_scissor.extent.height = std::numeric_limits<s32>::max();
|
||||||
|
|
||||||
VkClearRect clear_rect{
|
VkClearRect clear_rect{
|
||||||
.rect = GetScissorState(regs, 0, up_scale, down_shift),
|
.rect = regs.clear_flags.scissor ? GetScissorState(regs, 0, up_scale, down_shift)
|
||||||
|
: default_scissor,
|
||||||
.baseArrayLayer = regs.clear_buffers.layer,
|
.baseArrayLayer = regs.clear_buffers.layer,
|
||||||
.layerCount = 1,
|
.layerCount = 1,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue