Module: vkd3d Branch: master Commit: 70822141b73eaf699d2696f4c7cc9a5b72a22be6 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=70822141b73eaf699d2696f4...
Author: Józef Kucia jkucia@codeweavers.com Date: Thu Feb 14 12:22:34 2019 +0100
vkd3d: Avoid passing invalid viewport to Vulkan.
Needs more tests.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d/command.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 4a9f7c4..7457ae3 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -2953,6 +2953,12 @@ static void STDMETHODCALLTYPE d3d12_command_list_RSSetViewports(ID3D12GraphicsCo vk_viewports[i].height = -viewports[i].Height; vk_viewports[i].minDepth = viewports[i].MinDepth; vk_viewports[i].maxDepth = viewports[i].MaxDepth; + + if (!vk_viewports[i].width || !vk_viewports[i].height) + { + FIXME("Invalid viewport %u, ignoring RSSetViewports().\n", i); + return; + } }
vk_procs = &list->device->vk_procs;