mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[dxvk] Use dummy viewport if requested viewport size is 0
Fixes a bunch of validation errors in various games, including The Witcher 3.
This commit is contained in:
parent
56c826be85
commit
887e514442
@ -1128,10 +1128,17 @@ namespace dxvk {
|
||||
for (uint32_t i = 0; i < viewportCount; i++) {
|
||||
m_state.vp.viewports[i] = viewports[i];
|
||||
m_state.vp.scissorRects[i] = scissorRects[i];
|
||||
|
||||
// Vulkan viewports are not allowed to have a width or
|
||||
// height of zero, so we fall back to a dummy viewport.
|
||||
if (viewports[i].width == 0.0f || viewports[i].height == 0.0f) {
|
||||
m_state.vp.viewports[i] = VkViewport {
|
||||
0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
|
||||
}
|
||||
}
|
||||
|
||||
m_cmd->cmdSetViewport(0, viewportCount, viewports);
|
||||
m_cmd->cmdSetScissor (0, viewportCount, scissorRects);
|
||||
m_cmd->cmdSetViewport(0, viewportCount, m_state.vp.viewports.data());
|
||||
m_cmd->cmdSetScissor (0, viewportCount, m_state.vp.scissorRects.data());
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user