mesa/st: Passthrough scissor when clearing by quad
The scissor state -is- setup, but the scissor test is not enabled. This can prevent certain optimizations from occurring on tilers where unaffected tiles are thrown out entirely. v2: Only enable scissor test if the scissor test is actually set by the app, to avoid regressing quad-based clears used for other reasons (like a color mask). Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
8845a23698
commit
0a88aa3025
|
@ -323,6 +323,9 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
|
|||
cso_set_stream_outputs(cso, 0, NULL, NULL);
|
||||
cso_set_sample_mask(cso, ~0);
|
||||
cso_set_min_samples(cso, 1);
|
||||
|
||||
/* set scissor if necessary to allow optimization */
|
||||
st->clear.raster.scissor = ctx->Scissor.EnableFlags & 1;
|
||||
cso_set_rasterizer(cso, &st->clear.raster);
|
||||
|
||||
/* viewport state: viewport matching window dims */
|
||||
|
|
Loading…
Reference in New Issue