|
|
@@ -3696,6 +3696,19 @@ radv_draw(struct radv_cmd_buffer *cmd_buffer, |
|
|
|
radeon_check_space(cmd_buffer->device->ws, |
|
|
|
cmd_buffer->cs, 4096); |
|
|
|
|
|
|
|
if (likely(!info->indirect)) { |
|
|
|
/* SI-CI treat instance_count==0 as instance_count==1. There is |
|
|
|
* no workaround for indirect draws, but we can at least skip |
|
|
|
* direct draws. |
|
|
|
*/ |
|
|
|
if (unlikely(!info->instance_count)) |
|
|
|
return; |
|
|
|
|
|
|
|
/* Handle count == 0. */ |
|
|
|
if (unlikely(!info->count && !info->strmout_buffer)) |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
/* Use optimal packet order based on whether we need to sync the |
|
|
|
* pipeline. |
|
|
|
*/ |