1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-12 04:08:52 +01:00

[d3d11] Optimize viewport updates if there is only one single viewport

This commit is contained in:
Philip Rebohle 2019-09-13 14:38:51 +02:00
parent 160b684d5a
commit c852b6de34
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -3219,16 +3219,27 @@ namespace dxvk {
} }
} }
EmitCs([ if (likely(viewportCount == 1)) {
cViewportCount = viewportCount, EmitCs([
cViewports = viewports, cViewport = viewports[0],
cScissors = scissors cScissor = scissors[0]
] (DxvkContext* ctx) { ] (DxvkContext* ctx) {
ctx->setViewports( ctx->setViewports(1,
cViewportCount, &cViewport,
cViewports.data(), &cScissor);
cScissors.data()); });
}); } else {
EmitCs([
cViewportCount = viewportCount,
cViewports = viewports,
cScissors = scissors
] (DxvkContext* ctx) {
ctx->setViewports(
cViewportCount,
cViewports.data(),
cScissors.data());
});
}
} }