A Vulkan sibling to the glmark2 benchmark.

Signed-off-by: Philipp Zabel <[email protected]>
---
v2: Select XCB_UTIL_WM to fix XCB enabled build.
---
 rules/vkmark.in   | 31 +++++++++++++++++++++
 rules/vkmark.make | 69 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)
 create mode 100644 rules/vkmark.in
 create mode 100644 rules/vkmark.make

diff --git a/rules/vkmark.in b/rules/vkmark.in
new file mode 100644
index 000000000000..b6adaf7f4185
--- /dev/null
+++ b/rules/vkmark.in
@@ -0,0 +1,31 @@
+## SECTION=multimedia_libs
+
+config VKMARK
+       bool
+       prompt "vkmark"
+       select HOST_MESON
+       select ASSIMP
+       select GLM
+       select LIBDRM
+       select MESALIB
+       select MESALIB_GBM
+       select VULKAN_LOADER
+       select LIBXCB                   if VKMARK_XCB
+       select XCB_UTIL_WM              if VKMARK_XCB
+       select WAYLAND                  if VKMARK_WAYLAND
+       select WAYLAND_PROTOCOLS        if VKMARK_WAYLAND
+       help
+         vkmark is an extensible Vulkan benchmarking suite with targeted,
+         configurable scenes.
+
+if VKMARK
+
+config VKMARK_XCB
+       bool
+       default y if VULKAN_LOADER_XCB
+
+config VKMARK_WAYLAND
+       bool
+       default y if VULKAN_LOADER_WAYLAND
+
+endif
diff --git a/rules/vkmark.make b/rules/vkmark.make
new file mode 100644
index 000000000000..d0dac43ffd8b
--- /dev/null
+++ b/rules/vkmark.make
@@ -0,0 +1,69 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2025 by Philipp Zabel <[email protected]>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_VKMARK) += vkmark
+
+#
+# Paths and names
+#
+VKMARK_VERSION         := 2025.01
+VKMARK_MD5             := c36c2953f99004e72aca985c0a6507d3
+VKMARK                 := vkmark-$(VKMARK_VERSION)
+VKMARK_SUFFIX          := tar.gz
+VKMARK_URL             := 
https://github.com/vkmark/vkmark/archive/refs/tags/$(VKMARK_VERSION).$(VKMARK_SUFFIX)
+VKMARK_SOURCE          := $(SRCDIR)/$(VKMARK).$(VKMARK_SUFFIX)
+VKMARK_DIR             := $(BUILDDIR)/$(VKMARK)
+VKMARK_LICENSE         := LGPL-2.1-or-later
+VKMARK_LICENSE_FILES   := 
file://COPYING-LGPL2.1;md5=4fbd65380cdd255951079008b364516c
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+VKMARK_CONF_TOOL       := meson
+VKMARK_CONF_OPT                := \
+       $(CROSS_MESON_USR) \
+       -Dkms=true \
+       -Dwayland=$(call ptx/truefalse,PTXCONF_VKMARK_WAYLAND) \
+       -Dxcb=$(call ptx/truefalse,PTXCONF_VKMARK_XCB)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vkmark.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, vkmark)
+       @$(call install_fixup, vkmark, PRIORITY, optional)
+       @$(call install_fixup, vkmark, SECTION, base)
+       @$(call install_fixup, vkmark, AUTHOR, "Philipp Zabel 
<[email protected]>")
+       @$(call install_fixup, vkmark, DESCRIPTION, missing)
+
+       $(call install_copy, vkmark, 0, 0, 0755, -, /usr/bin/vkmark)
+
+       $(call install_copy, vkmark, 0, 0, 0755, -, /usr/lib/vkmark/display.so)
+       $(call install_copy, vkmark, 0, 0, 0755, -, /usr/lib/vkmark/headless.so)
+       $(call install_copy, vkmark, 0, 0, 0755, -, /usr/lib/vkmark/kms.so)
+ifdef PTXCONF_VKMARK_WAYLAND
+       $(call install_copy, vkmark, 0, 0, 0755, -, /usr/lib/vkmark/wayland.so)
+endif
+ifdef PTXCONF_VKMARK_XCB
+       $(call install_copy, vkmark, 0, 0, 0755, -, /usr/lib/vkmark/xcb.so)
+endif
+
+       $(call install_tree, vkmark, 0, 0, -, /usr/share/vkmark)
+
+       @$(call install_finish, vkmark)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.39.5


Reply via email to