diff --git a/src/gallium/frontends/nine/nine_state.c b/src/gallium/frontends/nine/nine_state.c index d3b57862a6d..9cc4ba289e4 100644 --- a/src/gallium/frontends/nine/nine_state.c +++ b/src/gallium/frontends/nine/nine_state.c @@ -1892,6 +1892,9 @@ CSMT_ITEM_NO_WAIT(nine_context_set_viewport, { struct nine_context *context = &device->context; + if (!memcmp(viewport, &context->viewport, sizeof(context->viewport))) + return; + context->viewport = *viewport; context->changed.group |= NINE_STATE_VIEWPORT; } @@ -1901,6 +1904,9 @@ CSMT_ITEM_NO_WAIT(nine_context_set_scissor, { struct nine_context *context = &device->context; + if (!memcmp(scissor, &context->scissor, sizeof(context->scissor))) + return; + context->scissor = *scissor; context->changed.group |= NINE_STATE_SCISSOR; }