OSDN Git Service

radeonsi: fix assertion failure by using the correct type
authorMarek Olšák <marek.olsak@amd.com>
Wed, 27 Feb 2019 23:31:54 +0000 (18:31 -0500)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 5 Apr 2019 10:31:05 +0000 (11:31 +0100)
src/gallium/drivers/radeonsi/si_state_viewport.c:196: si_emit_guardband:
Assertion `vp_as_scissor.maxx <= max_viewport_size[vp_as_scissor.quant_mode]
&& vp_as_scissor.maxy <= max_viewport_size[vp_as_scissor.quant_mode]' failed.

The comparison was unsigned, so negative maxx or maxy would fail.

Fixes: 3c540e0a7488 "radeonsi: Fix guardband computation for large render targets"
(cherry picked from commit 3ad2a9b3faa19e29fe1c2a28c712f265ee29423b)

src/gallium/drivers/radeonsi/si_state_viewport.c

index 64bb956..a9a1be7 100644 (file)
@@ -186,7 +186,7 @@ static void si_emit_guardband(struct si_context *ctx)
                ctx->chip_class >= VI ? 16 : MAX2(ctx->screen->se_tile_repeat, 16);
 
        /* Indexed by quantization modes */
-       static unsigned max_viewport_size[] = {65535, 16383, 4095};
+       static int max_viewport_size[] = {65535, 16383, 4095};
 
        /* Ensure that the whole viewport stays representable in
         * absolute coordinates.