mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-03 04:24:11 +01:00
[d3d11] Optimize viewport updates if there is only one single viewport
This commit is contained in:
parent
160b684d5a
commit
c852b6de34
@ -3219,16 +3219,27 @@ namespace dxvk {
|
||||
}
|
||||
}
|
||||
|
||||
EmitCs([
|
||||
cViewportCount = viewportCount,
|
||||
cViewports = viewports,
|
||||
cScissors = scissors
|
||||
] (DxvkContext* ctx) {
|
||||
ctx->setViewports(
|
||||
cViewportCount,
|
||||
cViewports.data(),
|
||||
cScissors.data());
|
||||
});
|
||||
if (likely(viewportCount == 1)) {
|
||||
EmitCs([
|
||||
cViewport = viewports[0],
|
||||
cScissor = scissors[0]
|
||||
] (DxvkContext* ctx) {
|
||||
ctx->setViewports(1,
|
||||
&cViewport,
|
||||
&cScissor);
|
||||
});
|
||||
} else {
|
||||
EmitCs([
|
||||
cViewportCount = viewportCount,
|
||||
cViewports = viewports,
|
||||
cScissors = scissors
|
||||
] (DxvkContext* ctx) {
|
||||
ctx->setViewports(
|
||||
cViewportCount,
|
||||
cViewports.data(),
|
||||
cScissors.data());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user