summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/vulkan/ra_vk.c4
-rw-r--r--video/out/vulkan/utils.c1
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