summaryrefslogtreecommitdiffstats
path: root/video/out/vulkan/ra_vk.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vulkan/ra_vk.c')
-rw-r--r--video/out/vulkan/ra_vk.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/video/out/vulkan/ra_vk.c b/video/out/vulkan/ra_vk.c
index 905fc89596..f0353629e6 100644
--- a/video/out/vulkan/ra_vk.c
+++ b/video/out/vulkan/ra_vk.c
@@ -208,8 +208,13 @@ struct ra *ra_create_vk(struct mpvk_ctx *vk, struct mp_log *log)
ra->max_shmem = vk->limits.maxComputeSharedMemorySize;
ra->max_pushc_size = vk->limits.maxPushConstantsSize;
- if (vk->pool_compute)
+ if (vk->pool_compute) {
ra->caps |= RA_CAP_COMPUTE;
+ // If we have more compute queues than graphics queues, we probably
+ // want to be using them. (This seems mostly relevant for AMD)
+ if (vk->pool_compute->num_queues > vk->pool_graphics->num_queues)
+ ra->caps |= RA_CAP_PARALLEL_COMPUTE;
+ }
if (!vk_setup_formats(ra))
goto error;