[vlc-devel] [PATCH 07/17] vulkan: platform_win32: rework as vulkan platform
Alexandre Janniaux
ajanni at videolabs.io
Wed Apr 14 09:36:34 UTC 2021
Hi, indeed, good catch :)
On Wed, Apr 14, 2021 at 11:26:24AM +0200, Romain Vimont wrote:
> On Mon, Apr 12, 2021 at 03:32:23PM +0200, Alexandre Janniaux wrote:
> > Instead of recompiling surface.c while implementing its public
> > functions, and so as to remove surface.c.
> > ---
> > modules/video_output/vulkan/Makefile.am | 2 +-
> > modules/video_output/vulkan/platform_win32.c | 29 ++++++++++++++++----
> > 2 files changed, 25 insertions(+), 6 deletions(-)
> >
> > diff --git a/modules/video_output/vulkan/Makefile.am b/modules/video_output/vulkan/Makefile.am
> > index 5ab6eb6ee6..c6906bd422 100644
> > --- a/modules/video_output/vulkan/Makefile.am
> > +++ b/modules/video_output/vulkan/Makefile.am
> > @@ -17,7 +17,7 @@ libvk_plugin_la_SOURCES = $(VULKAN_COMMONSOURCES) video_output/vulkan/display.c
> > libvk_plugin_la_CFLAGS = $(AM_CFLAGS) $(VULKAN_COMMONCFLAGS)
> > libvk_plugin_la_LIBADD = $(VULKAN_COMMONLIBS)
> >
> > -libvk_win32_plugin_la_SOURCES = $(VULKAN_COMMONSOURCES) video_output/vulkan/surface.c \
> > +libvk_win32_plugin_la_SOURCES = $(VULKAN_COMMONSOURCES) \
> > video_output/vulkan/platform_win32.c
> > libvk_win32_plugin_la_CFLAGS = $(AM_CFLAGS) $(VULKAN_COMMONCFLAGS) \
> > -DVK_USE_PLATFORM_WIN32_KHR -DPLATFORM_NAME=Win32
> > diff --git a/modules/video_output/vulkan/platform_win32.c b/modules/video_output/vulkan/platform_win32.c
> > index 1b79965db8..c905feb345 100644
> > --- a/modules/video_output/vulkan/platform_win32.c
> > +++ b/modules/video_output/vulkan/platform_win32.c
> > @@ -24,24 +24,33 @@
> > # include "config.h"
> > #endif
> >
> > +#include <vlc_common.h>
> > +#include <vlc_plugin.h>
> > #include "platform.h"
> >
> > -int vlc_vk_InitPlatform(vlc_vk_t *vk)
> > +static void ClosePlatform(vlc_vk_t *vk);
> > +static int CreateSurface(vlc_vk_t *vk);
> > +static const struct vlc_vk_operations platform_ops =
>
> Unused, missing assignment in InitPlatform?
>
> > +{
> > + .close = ClosePlatform,
> > + .create_surface = CreateSurface,
> > +};
> > +
> > +static int InitPlatform(vlc_vk_t *vk)
> > {
> > if (vk->window->type != VOUT_WINDOW_TYPE_HWND)
> > return VLC_EGENERIC;
> >
> > + vk->platform_ext = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
> > return VLC_SUCCESS;
> > }
> >
> > -void vlc_vk_ClosePlatform(vlc_vk_t *vk)
> > +static void ClosePlatform(vlc_vk_t *vk)
> > {
> > VLC_UNUSED(vk);
> > }
> >
> > -const char * const vlc_vk_PlatformExt = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
> > -
> > -int vlc_vk_CreateSurface(vlc_vk_t *vk, VkInstance vkinst)
> > +static int CreateSurface(vlc_vk_t *vk, VkInstance vkinst)
> > {
> > // Get current win32 HINSTANCE
> > HINSTANCE hInst = GetModuleHandle(NULL);
> > @@ -60,3 +69,13 @@ int vlc_vk_CreateSurface(vlc_vk_t *vk, VkInstance vkinst)
> >
> > return VLC_SUCCESS;
> > }
> > +
> > +vlc_module_begin()
> > + set_shortname("Vulkan Win32")
> > + set_description(N_("Win32 platform support for Vulkan"))
> > + set_category(CAT_VIDEO)
> > + set_subcategory(SUBCAT_VIDEO_VOUT)
> > + set_capability("vulkan platform", 50)
> > + set_callback(InitPlatform)
> > + add_shortcut("vk_win32")
> > +vlc_module_end()
> > --
> > 2.31.1
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list