asahi: Fix scissor_culls_everything check

Account for the possibility that the scissor is outside the render area. Fixes
the usual assertion fail:

   glcts: ../src/gallium/drivers/asahi/agx_state.c:1015:
   agx_upload_viewport_scissor: Assertion `maxx > minx && maxy > miny' failed.

on the following dEQP tests with my conformance build:

  dEQP-GLES3.functional.fragment_ops.scissor.outside_render_line
  dEQP-GLES3.functional.fragment_ops.scissor.outside_render_point
  dEQP-GLES3.functional.fragment_ops.scissor.outside_render_tri

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23998>
This commit is contained in:
Alyssa Rosenzweig
2023-06-28 12:38:48 -04:00
committed by Marge Bot
parent 98de1b1b95
commit 56461bc0a2
+1 -1
View File
@@ -2636,7 +2636,7 @@ agx_scissor_culls_everything(struct agx_context *ctx)
ctx->rast->base.scissor ? &ctx->scissor : NULL,
&ctx->framebuffer, &minx, &miny, &maxx, &maxy);
return (minx == maxx) || (miny == maxy);
return (minx >= maxx) || (miny >= maxy);
}
static void