[Mesa-dev] [PATCH] radv: always do tess ring size calculations.

Dave Airlie airlied at gmail.com
Fri Mar 31 01:33:54 UTC 2017


From: Dave Airlie <airlied at redhat.com>

We could store these in the device, but it's probably
not that much overhead to recalculate them, this is needed
because we will emit the rings if the queue has them created
so we need to emit the register values correctly as well.

This fixes some tess tests failing when run after other tests
inside CTS.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/vulkan/radv_device.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index af82926..5c48be1 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -1393,15 +1393,11 @@ radv_get_preamble_cs(struct radv_queue *queue,
 		if (needs_tess_rings)
 			add_tess_rings = true;
 	}
-
-	if (add_tess_rings) {
-		tess_factor_ring_size = 32768 * queue->device->physical_device->rad_info.max_se;
-		hs_offchip_param = radv_get_hs_offchip_param(queue->device,
-							     &max_offchip_buffers);
-		tess_offchip_ring_size = max_offchip_buffers *
-			queue->device->tess_offchip_block_dw_size * 4;
-
-	}
+	tess_factor_ring_size = 32768 * queue->device->physical_device->rad_info.max_se;
+	hs_offchip_param = radv_get_hs_offchip_param(queue->device,
+						     &max_offchip_buffers);
+	tess_offchip_ring_size = max_offchip_buffers *
+		queue->device->tess_offchip_block_dw_size * 4;
 
 	if (scratch_size <= queue->scratch_size &&
 	    compute_scratch_size <= queue->compute_scratch_size &&
-- 
2.7.4



More information about the mesa-dev mailing list