summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2021-01-20 21:26:30 +0100
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>2021-03-31 20:48:38 -0400
commit6dc07a173ea6d9960227bc477691ce6b4474da15 (patch)
tree0d2f4db2c43a9e997194b96e9370d7395e5fdab0
parentbde229153133172d182e7ff1192564d29e6a8294 (diff)
zink: Only set the needed number of scissors.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9968>
-rw-r--r--src/gallium/drivers/zink/zink_draw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c
index aedcb7631c7..1e36779a889 100644
--- a/src/gallium/drivers/zink/zink_draw.c
+++ b/src/gallium/drivers/zink/zink_draw.c
@@ -430,7 +430,7 @@ zink_draw_vbo(struct pipe_context *pctx,
screen->vk_CmdSetViewportWithCountEXT(batch->state->cmdbuf, ctx->vp_state.num_viewports, viewports);
else
vkCmdSetViewport(batch->state->cmdbuf, 0, ctx->vp_state.num_viewports, viewports);
- VkRect2D scissors[PIPE_MAX_VIEWPORTS] = {};
+ VkRect2D scissors[PIPE_MAX_VIEWPORTS];
if (ctx->rast_state->base.scissor) {
for (unsigned i = 0; i < ctx->vp_state.num_viewports; i++) {
scissors[i].offset.x = ctx->vp_state.scissor_states[i].minx;
@@ -438,8 +438,10 @@ zink_draw_vbo(struct pipe_context *pctx,
scissors[i].extent.width = ctx->vp_state.scissor_states[i].maxx - ctx->vp_state.scissor_states[i].minx;
scissors[i].extent.height = ctx->vp_state.scissor_states[i].maxy - ctx->vp_state.scissor_states[i].miny;
}
- } else if (ctx->fb_state.width && ctx->fb_state.height) {
+ } else {
for (unsigned i = 0; i < ctx->vp_state.num_viewports; i++) {
+ scissors[i].offset.x = 0;
+ scissors[i].offset.y = 0;
scissors[i].extent.width = ctx->fb_state.width;
scissors[i].extent.height = ctx->fb_state.height;
}