mirror of
https://github.com/outbackdingo/UltraGrid.git
synced 2026-03-22 02:40:26 +00:00
[vulkan] Integrate vulkan_sdl2 into the build and installation processes
This commit is contained in:
19
Makefile.in
19
Makefile.in
@@ -260,6 +260,8 @@ TEST_OBJS = $(COMMON_OBJS) \
|
||||
test/test_rtp.o \
|
||||
test/run_tests.o
|
||||
|
||||
VULKAN_SHADERS="render.vert" "render.frag" "RGB10A2_conv.comp" "UYVA16_conv.comp" "UYVY8_conv.comp"
|
||||
|
||||
DEP_FILES_1 = $(OBJS) $(REFLECTOR_OBJS) $(TEST_OBJS) $(ULTRAGRID_OBJS)
|
||||
DEP_FILES = $(patsubst %.lib,%.P,$(DEP_FILES_1:.o=.P)) # replace .o and also .lib (Windows) with .P
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
@@ -585,6 +587,7 @@ clean:
|
||||
$(COND_SILENCE)-rm -rf $(REFLECTOR_TARGET) $(REFLECTOR_OBJS)
|
||||
$(COND_SILENCE)-rm -rf @LIB_OBJS@ @MODULES@ @LIB_GENERATED_HEADERS@
|
||||
$(COND_SILENCE)-rm -rf $(DEP_FILES)
|
||||
$(COND_SILENCE)-rm -rf bin/shaders
|
||||
$(COND_SILENCE)if [ -f "gui/QT/Makefile" ]; then make -C gui/QT/ distclean; fi
|
||||
|
||||
distclean: clean
|
||||
@@ -621,6 +624,7 @@ $(BUNDLE): $(TARGET) $(REFLECTOR_TARGET) hd-rum-multi/hd-rum
|
||||
cp $(REFLECTOR_TARGET) $(BUNDLE)/Contents/MacOS/
|
||||
cp -r data/MacOS-bundle-template/* $(BUNDLE)/
|
||||
cp hd-rum-multi/hd-rum $(BUNDLE)/Contents/MacOS/
|
||||
cp -r $(srcdir)/share/ $(BUNDLE)/Contents/share/
|
||||
touch $@ # mark target as up to date
|
||||
|
||||
# adds libraries to the bundle
|
||||
@@ -701,7 +705,12 @@ install: all
|
||||
$(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
|
||||
$(INSTALL) -m 644 $(srcdir)/data/uv.1 $(srcdir)/data/hd-rum-transcode.1 $(DESTDIR)$(man1dir)
|
||||
if [ -n '@DLL_LIBS@' ]; then $(INSTALL) -m 644 @DLL_LIBS@ $(DESTDIR)$(bindir); fi
|
||||
|
||||
if [ -n "@VULKAN@" ]; then\
|
||||
declare -a SHADERS=($(VULKAN_SHADERS))\
|
||||
for shader in $${SHADERS[@]}; do \
|
||||
$(INSTALL) -D -m 644 "$(srcdir)/share/ultragrid/vulkan_shaders/$$shader" "$(DESTDIR)$(datadir)/ultragrid/vulkan_shaders/$$shader"; \
|
||||
done; \
|
||||
fi
|
||||
uninstall:
|
||||
$(RM) $(DESTDIR)$(bindir)/uv
|
||||
$(RM) $(DESTDIR)$(bindir)/hd-rum-transcode
|
||||
@@ -715,5 +724,13 @@ uninstall:
|
||||
$(RM) $(DESTDIR)$(datadir)/metainfo/cz.cesnet.ultragrid.appdata.xml;\
|
||||
$(RM) $(DESTDIR)$(datadir)/pixmaps/ultragrid.png;\
|
||||
fi
|
||||
if [ -n "@VULKAN@" ]; then\
|
||||
declare -a SHADERS=($(VULKAN_SHADERS))\
|
||||
for shader in $${SHADERS[@]}; do \
|
||||
$(RM) "$(DESTDIR)$(datadir)/ultragrid/vulkan_shaders/$$shader";\
|
||||
done; \
|
||||
rmdir $(DESTDIR)$(datadir)/ultragrid/vulkan_shaders;\
|
||||
rmdir $(DESTDIR)$(datadir)/ultragrid;\
|
||||
fi
|
||||
|
||||
# vim: set noexpandtab
|
||||
|
||||
34
configure.ac
34
configure.ac
@@ -1236,6 +1236,39 @@ if test $sdl_req = yes -a $sdl = no; then
|
||||
AC_MSG_ERROR([SDL requested but found any version]);
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Vulkan
|
||||
# ------------------------------------------------------------------------------
|
||||
vulkan=no
|
||||
|
||||
AC_ARG_ENABLE(vulkan,
|
||||
[ --disable-vulkan disable sdl2_vulkan display (default is auto]
|
||||
[ Requires: sdl2 vulkan],
|
||||
[vulkan_req=$enableval],
|
||||
[vulkan_req=$build_default]
|
||||
)
|
||||
|
||||
PKG_CHECK_MODULES([VULKAN], [vulkan], [found_vulkan=yes], [found_vulkan=no])
|
||||
|
||||
if test $vulkan_req != no; then
|
||||
if test $sdl = no -o $sdl_version != 2; then
|
||||
AC_MSG_ERROR([SDL2 not found]);
|
||||
fi
|
||||
fi
|
||||
|
||||
#echo $vulkan_req $sdl $sdl_version $found_vulkan
|
||||
|
||||
if test $vulkan_req != no -a $sdl = yes -a $sdl_version = 2 -a $found_vulkan = yes
|
||||
then
|
||||
VULKAN_OBJ="src/video_display/vulkan/vulkan_sdl2.o src/video_display/vulkan/vulkan_display.o src/video_display/vulkan/vulkan_context.o src/video_display/vulkan/vulkan_transfer_image.o src/video_display/vulkan/vulkan_pipelines.o"
|
||||
AC_DEFINE([HAVE_VULKAN], [1], [Build with vulkan support])
|
||||
VULKAN_LIBS="$VULKAN_LIBS $SDL_LIB"
|
||||
ADD_MODULE("display_vulkan_sdl2", "$VULKAN_OBJ", "$VULKAN_LIBS")
|
||||
VULKAN=vulkanEnabled
|
||||
AC_SUBST(VULKAN)
|
||||
vulkan=yes
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# GLM (OpenGL math library)
|
||||
# ------------------------------------------------------------------------------
|
||||
@@ -3547,6 +3580,7 @@ RESULT=`add_column "$RESULT" "Screen capture" $screen_cap $?`
|
||||
RESULT=`add_column "$RESULT" "SDL (ver. $sdl_version)" $sdl $?`
|
||||
RESULT=`add_column "$RESULT" "SW video mix" $swmix $?`
|
||||
RESULT=`add_column "$RESULT" "V4L2" $v4l2 $?`
|
||||
RESULT=`add_column "$RESULT" "VULKAN_SDL2" $vulkan $?`
|
||||
RESULT=`add_column "$RESULT" "XIMEA" $ximea $?`
|
||||
RESULT=`end_section "$RESULT"`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user