@@ -11,6 +11,7 @@
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@ (define-module (gnu packages benchmark)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -46,6 +48,9 @@ (define-module (gnu packages benchmark)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
@@ -60,6 +65,8 @@ (define-module (gnu packages benchmark)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages vulkan)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
@@ -645,3 +652,44 @@ (define-public sysbench
@item
@end itemize")
(license license:gpl2+)))
+
+(define-public vkmark
+ ;; The only ever release is tagged "2017.08" and as its name suggests
+ ;; it was back in the august of 2017. That version no longer compiles
+ ;; due to changes in APIs of its libraries.
+ ;; Latest commit on the other hand seems to be fully working on xcb
+ ;; and wayland backends.
+ (let ((commit "d872846e2e7c47010c11227eb713d00ccfdd35c6")
+ (revision "1"))
+ (package
+ (name "vkmark")
+ (version (git-version "2017.08" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vkmark/vkmark")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0zlryz8i8jvl160bv30ig5nd9h4ahpjfw53ys839i41xi80jjg5d"))))
+ (build-system meson-build-system)
+ (native-inputs (list pkg-config))
+ ;; The kms back-end, as it is, seems to have bitrot
+ ;; and would need maintenance to work with current Mesa:
+ ;; https://gitlab.freedesktop.org/mesa/mesa/-/commit/5e6db1916806
+ (inputs (list vulkan-loader
+ vulkan-headers
+ glm
+ assimp
+ libxcb
+ xcb-util-wm
+ wayland-protocols
+ wayland))
+ (synopsis "Extensible benchmarking suite for Vulkan")
+ (description
+ "vkmark offers a suite of scenes that can be used to measure various
+aspects of Vulkan performance. The way in which each scene is rendered is
+configurable through a set of options.")
+ (home-page "https://github.com/vkmark/vkmark")
+ (license license:lgpl2.1+))))