summaryrefslogtreecommitdiffstats
path: root/video/out/vulkan/context.h
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vulkan/context.h')
-rw-r--r--video/out/vulkan/context.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/video/out/vulkan/context.h b/video/out/vulkan/context.h
index 6ae64bb0f5..32f08bf2d8 100644
--- a/video/out/vulkan/context.h
+++ b/video/out/vulkan/context.h
@@ -7,8 +7,9 @@ struct ra_vk_ctx_params {
// See ra_swapchain_fns.get_vsync.
void (*get_vsync)(struct ra_ctx *ctx, struct vo_vsync_info *info);
- // In case something special needs to be done when starting a frame.
- bool (*start_frame)(struct ra_ctx *ctx);
+ // For special contexts (i.e. wayland) that want to check visibility
+ // before drawing a frame.
+ bool (*check_visible)(struct ra_ctx *ctx);
// In case something special needs to be done on the buffer swap.
void (*swap_buffers)(struct ra_ctx *ctx);
@@ -20,8 +21,17 @@ bool ra_vk_ctx_init(struct ra_ctx *ctx, struct mpvk_ctx *vk,
struct ra_vk_ctx_params params,
VkPresentModeKHR preferred_mode);
+// Helper for initializing mpvk_ctx->vulkan
+pl_vulkan mppl_create_vulkan(struct vulkan_opts *opts,
+ pl_vk_inst vkinst,
+ pl_log pllog,
+ VkSurfaceKHR surface);
+
// Handles a resize request, and updates ctx->vo->dwidth/dheight
bool ra_vk_ctx_resize(struct ra_ctx *ctx, int width, int height);
// May be called on a ra_ctx of any type.
struct mpvk_ctx *ra_vk_ctx_get(struct ra_ctx *ctx);
+
+// Get the user requested Vulkan device name.
+char *ra_vk_ctx_get_device_name(struct ra_ctx *ctx);