summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_device.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-03-18 16:32:46 -0700
committerJason Ekstrand <[email protected]>2016-03-21 15:29:30 -0700
commit869e393eb36e6912ca16fcfd060892c0de07bb49 (patch)
tree51d101c3cd83fe50a8b87be14011708ad94e6c29 /src/intel/vulkan/anv_device.c
parentecfb07427632b99a9f424ad06f0967fa8a7fe2a2 (diff)
anv/batch_chain: Fall back to growing batches when chaining isn't available
Diffstat (limited to 'src/intel/vulkan/anv_device.c')
-rw-r--r--src/intel/vulkan/anv_device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 068626d1c1f..ce2045ecf7b 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -826,6 +826,13 @@ VkResult anv_CreateDevice(
device->info = *physical_device->info;
device->isl_dev = physical_device->isl_dev;
+ /* On Broadwell and later, we can use batch chaining to more efficiently
+ * implement growing command buffers. Prior to Haswell, the kernel
+ * command parser gets in the way and we have to fall back to growing
+ * the batch.
+ */
+ device->can_chain_batches = device->info.gen >= 8;
+
pthread_mutex_init(&device->mutex, NULL);
anv_bo_pool_init(&device->batch_bo_pool, device);