radv: Avoid VEGA/RAVEN scissor bug in binning.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 8 Aug 2019 00:28:12 +0000 (02:28 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 8 Aug 2019 12:08:21 +0000 (14:08 +0200)
CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_pipeline.c

index e82c9b3cc50ab58bfcc22cb07191ffe8241486e2..885805d6c128bbae8c29cf36084b90582ad4cadc 100644 (file)
@@ -3177,7 +3177,8 @@ radv_pipeline_generate_binning_state(struct radeon_cmdbuf *ctx_cs,
                        persistent_states_per_bin = 1;
                        fpovs_per_batch = 63;
                } else {
-                       context_states_per_bin = 6;
+                       /* The context states are affected by the scissor bug. */
+                       context_states_per_bin = pipeline->device->physical_device->has_scissor_bug ? 1 : 6;
                        /* 32 causes hangs for RAVEN. */
                        persistent_states_per_bin = 16;
                        fpovs_per_batch = 63;