diff options
Diffstat (limited to 'video/out/vulkan/ra_vk.c')
-rw-r--r-- | video/out/vulkan/ra_vk.c | 7 |
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; |