summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-05-23 21:52:11 +0200
committerEmil Velikov <[email protected]>2017-06-14 10:40:22 +0100
commit7b10ed6a123cd6c30929649944c58e920cf01e12 (patch)
treed48376704d4042772431609ff8a21493344c871f /src/gallium/drivers/radeonsi
parent5a8d7ef65a0a5c6f095803941469102cdc30457b (diff)
radeonsi: fix a GPU hang with tessellation on 2-CU configs
Only harvested Stoney has 2 CUs. Tested on 2-CU Stoney and Fiji forced to 2 CUs. Cc: 17.0 17.1 <[email protected]> Tested-by: Edmondo Tommasina <[email protected]> Tested-by: Dieter Nützel <[email protected]> (cherry picked from commit 6c655cfeb49a8142c44782c5164619a5860c7706)
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 212991d6ae0..0fb90bedf1a 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -155,8 +155,12 @@ static void si_emit_derived_tess_state(struct si_context *sctx,
/* Make sure that the data fits in LDS. This assumes the shaders only
* use LDS for the inputs and outputs.
+ *
+ * While CIK can use 64K per threadgroup, there is a hang on Stoney
+ * with 2 CUs if we use more than 32K. The closed Vulkan driver also
+ * uses 32K at most on all GCN chips.
*/
- hardware_lds_size = sctx->b.chip_class >= CIK ? 65536 : 32768;
+ hardware_lds_size = 32768;
*num_patches = MIN2(*num_patches, hardware_lds_size / (input_patch_size +
output_patch_size));