diff options
Diffstat (limited to 'video/out/vulkan')
-rw-r--r-- | video/out/vulkan/ra_vk.c | 4 | ||||
-rw-r--r-- | video/out/vulkan/utils.c | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/video/out/vulkan/ra_vk.c b/video/out/vulkan/ra_vk.c index a4b6f3e6ad..5e6fae74ed 100644 --- a/video/out/vulkan/ra_vk.c +++ b/video/out/vulkan/ra_vk.c @@ -222,8 +222,8 @@ struct ra *ra_create_vk(struct mpvk_ctx *vk, struct mp_log *log) // UBO support is required ra->caps |= RA_CAP_BUF_RO | RA_CAP_FRAGCOORD; - // textureGather is only supported in GLSL 400+ - if (ra->glsl_version >= 400) + // textureGather requires the ImageGatherExtended capability + if (vk->features.shaderImageGatherExtended) ra->caps |= RA_CAP_GATHER; // Try creating a shader storage buffer diff --git a/video/out/vulkan/utils.c b/video/out/vulkan/utils.c index b32ae4968b..cfe97377c0 100644 --- a/video/out/vulkan/utils.c +++ b/video/out/vulkan/utils.c @@ -502,6 +502,7 @@ bool mpvk_device_init(struct mpvk_ctx *vk, struct mpvk_device_opts opts) // Enable all features we optionally use #define FEATURE(name) .name = vk->features.name VkPhysicalDeviceFeatures feats = { + FEATURE(shaderImageGatherExtended), FEATURE(shaderStorageImageExtendedFormats), }; #undef FEATURE |