Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Sep 2018 17:43:50 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r478883 - in head: devel devel/glslang devel/spirv-tools devel/vulkan-headers devel/vulkan-tools devel/vulkan-tools/files devel/vulkan-validation-layers devel/vulkan-validation-layers/f...
Message-ID:  <201809031743.w83HhoY4080375@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon Sep  3 17:43:50 2018
New Revision: 478883
URL: https://svnweb.freebsd.org/changeset/ports/478883

Log:
  Add Vulkan SDK ports
  
  https://www.khronos.org/vulkan/
  
  PR:		222175
  Tested by:	Johannes Lundberg <johalun0@gmail.com>
  Submitted by:	Greg V <greg@unrelenting.technology>

Added:
  head/devel/glslang/
  head/devel/glslang/Makefile   (contents, props changed)
  head/devel/glslang/distinfo   (contents, props changed)
  head/devel/glslang/pkg-descr   (contents, props changed)
  head/devel/glslang/pkg-plist   (contents, props changed)
  head/devel/spirv-tools/
  head/devel/spirv-tools/Makefile   (contents, props changed)
  head/devel/spirv-tools/distinfo   (contents, props changed)
  head/devel/spirv-tools/pkg-descr   (contents, props changed)
  head/devel/spirv-tools/pkg-plist   (contents, props changed)
  head/devel/vulkan-headers/
  head/devel/vulkan-headers/Makefile   (contents, props changed)
  head/devel/vulkan-headers/distinfo   (contents, props changed)
  head/devel/vulkan-headers/pkg-descr   (contents, props changed)
  head/devel/vulkan-headers/pkg-plist   (contents, props changed)
  head/devel/vulkan-tools/
  head/devel/vulkan-tools/Makefile   (contents, props changed)
  head/devel/vulkan-tools/distinfo   (contents, props changed)
  head/devel/vulkan-tools/files/
  head/devel/vulkan-tools/files/patch-cube_CMakeLists.txt   (contents, props changed)
  head/devel/vulkan-tools/files/patch-cube_cube.cpp   (contents, props changed)
  head/devel/vulkan-tools/files/patch-vulkaninfo_CMakeLists.txt   (contents, props changed)
  head/devel/vulkan-tools/pkg-descr   (contents, props changed)
  head/devel/vulkan-tools/pkg-plist   (contents, props changed)
  head/devel/vulkan-validation-layers/
  head/devel/vulkan-validation-layers/Makefile   (contents, props changed)
  head/devel/vulkan-validation-layers/distinfo   (contents, props changed)
  head/devel/vulkan-validation-layers/files/
  head/devel/vulkan-validation-layers/files/patch-CMakeLists.txt   (contents, props changed)
  head/devel/vulkan-validation-layers/files/patch-layers_CMakeLists.txt   (contents, props changed)
  head/devel/vulkan-validation-layers/files/patch-layers_vk__loader__platform.h   (contents, props changed)
  head/devel/vulkan-validation-layers/pkg-descr   (contents, props changed)
  head/devel/vulkan-validation-layers/pkg-plist   (contents, props changed)
  head/graphics/vulkan-loader/
  head/graphics/vulkan-loader/Makefile   (contents, props changed)
  head/graphics/vulkan-loader/distinfo   (contents, props changed)
  head/graphics/vulkan-loader/files/
  head/graphics/vulkan-loader/files/patch-CMakeLists.txt   (contents, props changed)
  head/graphics/vulkan-loader/files/patch-loader_CMakeLists.txt   (contents, props changed)
  head/graphics/vulkan-loader/files/patch-loader_loader.c   (contents, props changed)
  head/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h   (contents, props changed)
  head/graphics/vulkan-loader/pkg-descr   (contents, props changed)
  head/graphics/vulkan-loader/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile   (contents, props changed)
  head/emulators/rpcs3/Makefile   (contents, props changed)
  head/graphics/Makefile   (contents, props changed)

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Mon Sep  3 16:21:21 2018	(r478882)
+++ head/devel/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -801,6 +801,7 @@
     SUBDIR += global
     SUBDIR += glog
     SUBDIR += glrparser
+    SUBDIR += glslang
     SUBDIR += glui
     SUBDIR += gmake
     SUBDIR += gnatcoll
@@ -6163,6 +6164,7 @@
     SUBDIR += spdlog
     SUBDIR += spice-protocol
     SUBDIR += spin
+    SUBDIR += spirv-tools
     SUBDIR += splint
     SUBDIR += srecord
     SUBDIR += st
@@ -6286,6 +6288,9 @@
     SUBDIR += violet
     SUBDIR += visualparadigm
     SUBDIR += vstr
+    SUBDIR += vulkan-headers
+    SUBDIR += vulkan-tools
+    SUBDIR += vulkan-validation-layers
     SUBDIR += vxlog
     SUBDIR += wand-libconfig
     SUBDIR += wandio

Added: head/devel/glslang/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/glslang/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,23 @@
+# $FreeBSD$
+
+PORTNAME=	glslang
+DISTVERSION=	6.2.2596-248
+DISTVERSIONSUFFIX=	-ge0bc65b
+CATEGORIES=	devel graphics
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	OpenGL and OpenGL ES shader front end and validator
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKDIR}/LICENSE
+
+USES=		cmake:outsource compiler:c++11-lib
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+
+post-extract:
+	${SED} '/^$$/,$$d' ${WRKSRC}/${PORTNAME}/Include/Types.h \
+			>${WRKDIR}/LICENSE
+
+.include <bsd.port.mk>

Added: head/devel/glslang/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/glslang/distinfo	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533666570
+SHA256 (KhronosGroup-glslang-6.2.2596-248-ge0bc65b_GH0.tar.gz) = 497a18bfe7e102cda61377ca4fd7dbd84478a89b80e4d53420cf94c9a380f2f0
+SIZE (KhronosGroup-glslang-6.2.2596-248-ge0bc65b_GH0.tar.gz) = 2353165

Added: head/devel/glslang/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/glslang/pkg-descr	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,5 @@
+Glslang is the official reference compiler front end for the OpenGL ES and
+OpenGL shading languages. It implements a strict interpretation of the
+specifications for these languages.
+
+WWW: https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/

Added: head/devel/glslang/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/glslang/pkg-plist	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,54 @@
+bin/glslangValidator
+bin/spirv-remap
+include/SPIRV/GLSL.ext.AMD.h
+include/SPIRV/GLSL.ext.EXT.h
+include/SPIRV/GLSL.ext.KHR.h
+include/SPIRV/GLSL.ext.NV.h
+include/SPIRV/GLSL.std.450.h
+include/SPIRV/GlslangToSpv.h
+include/SPIRV/Logger.h
+include/SPIRV/SPVRemapper.h
+include/SPIRV/SpvBuilder.h
+include/SPIRV/bitutils.h
+include/SPIRV/disassemble.h
+include/SPIRV/doc.h
+include/SPIRV/hex_float.h
+include/SPIRV/spirv.hpp
+include/SPIRV/spvIR.h
+include/glslang/Include/BaseTypes.h
+include/glslang/Include/Common.h
+include/glslang/Include/ConstantUnion.h
+include/glslang/Include/InfoSink.h
+include/glslang/Include/InitializeGlobals.h
+include/glslang/Include/PoolAlloc.h
+include/glslang/Include/ResourceLimits.h
+include/glslang/Include/ShHandle.h
+include/glslang/Include/Types.h
+include/glslang/Include/arrays.h
+include/glslang/Include/intermediate.h
+include/glslang/Include/revision.h
+include/glslang/MachineIndependent/Initialize.h
+include/glslang/MachineIndependent/LiveTraverser.h
+include/glslang/MachineIndependent/ParseHelper.h
+include/glslang/MachineIndependent/RemoveTree.h
+include/glslang/MachineIndependent/Scan.h
+include/glslang/MachineIndependent/ScanContext.h
+include/glslang/MachineIndependent/SymbolTable.h
+include/glslang/MachineIndependent/Versions.h
+include/glslang/MachineIndependent/attribute.h
+include/glslang/MachineIndependent/gl_types.h
+include/glslang/MachineIndependent/glslang_tab.cpp.h
+include/glslang/MachineIndependent/iomapper.h
+include/glslang/MachineIndependent/localintermediate.h
+include/glslang/MachineIndependent/parseVersions.h
+include/glslang/MachineIndependent/preprocessor/PpContext.h
+include/glslang/MachineIndependent/preprocessor/PpTokens.h
+include/glslang/MachineIndependent/propagateNoContraction.h
+include/glslang/MachineIndependent/reflection.h
+include/glslang/Public/ShaderLang.h
+lib/libHLSL.a
+lib/libOGLCompiler.a
+lib/libOSDependent.a
+lib/libSPIRV.a
+lib/libSPVRemapper.a
+lib/libglslang.a

Added: head/devel/spirv-tools/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/spirv-tools/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,25 @@
+# $FreeBSD$
+
+PORTNAME=	spirv-tools
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2018.4
+CATEGORIES=	devel graphics
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	Tools for processing SPIR-V intermediate shader language modules
+
+LICENSE=	APACHE20
+
+USES=		cmake:outsource compiler:c++11-lib python:build shebangfix
+USE_LDCONFIG=	yes
+SHEBANG_FILES=	tools/lesspipe/spirv-lesspipe.sh
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+GH_PROJECT=	SPIRV-Tools
+GH_TUPLE=	KhronosGroup:SPIRV-Headers:ff684ff:headers/external/spirv-headers
+
+CMAKE_ON=	SPIRV_SKIP_TESTS
+CMAKE_OFF=	SPIRV_WERROR
+
+.include <bsd.port.mk>

Added: head/devel/spirv-tools/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/spirv-tools/distinfo	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,5 @@
+TIMESTAMP = 1533666224
+SHA256 (KhronosGroup-SPIRV-Tools-v2018.4_GH0.tar.gz) = e09749d3b9d767cf1cf62ba3cf7d7f992f19681477c434fea214227f3665d8d1
+SIZE (KhronosGroup-SPIRV-Tools-v2018.4_GH0.tar.gz) = 1327904
+SHA256 (KhronosGroup-SPIRV-Headers-ff684ff_GH0.tar.gz) = dbeb5b65b290519b026f3eb280107929901d671a7f29ae536885bb72e6c38ebd
+SIZE (KhronosGroup-SPIRV-Headers-ff684ff_GH0.tar.gz) = 280884

Added: head/devel/spirv-tools/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/spirv-tools/pkg-descr	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,11 @@
+The SPIR-V Tools project provides an API and commands for processing SPIR-V
+modules.
+
+The project includes an assembler, binary module parser, disassembler,
+validator, and optimizer for SPIR-V.  Except for the optimizer, all are based
+on a common static library.  The library contains all of the implementation
+details, and is used in the standalone tools whilst also enabling integration
+into other code bases directly.  The optimizer implementation resides in its own
+library, which depends on the core library.
+
+WWW: https://github.com/KhronosGroup/SPIRV-Tools

Added: head/devel/spirv-tools/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/spirv-tools/pkg-plist	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,18 @@
+bin/spirv-as
+bin/spirv-cfg
+bin/spirv-dis
+bin/spirv-lesspipe.sh
+bin/spirv-link
+bin/spirv-opt
+bin/spirv-stats
+bin/spirv-val
+include/spirv-tools/libspirv.h
+include/spirv-tools/libspirv.hpp
+include/spirv-tools/linker.hpp
+include/spirv-tools/optimizer.hpp
+lib/libSPIRV-Tools-link.a
+lib/libSPIRV-Tools-opt.a
+lib/libSPIRV-Tools-shared.so
+lib/libSPIRV-Tools.a
+libdata/pkgconfig/SPIRV-Tools-shared.pc
+libdata/pkgconfig/SPIRV-Tools.pc

Added: head/devel/vulkan-headers/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-headers/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,20 @@
+# $FreeBSD$
+
+PORTNAME=	vulkan-headers
+DISTVERSIONPREFIX=sdk-
+DISTVERSION=	1.1.82.0
+CATEGORIES=	devel graphics
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	Headers for the Vulkan graphics API
+
+LICENSE=	APACHE20
+
+USES=		cmake:outsource
+STRIP=		# nothing to strip
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+GH_PROJECT=	Vulkan-Headers
+
+.include <bsd.port.mk>

Added: head/devel/vulkan-headers/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-headers/distinfo	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533661644
+SHA256 (KhronosGroup-Vulkan-Headers-sdk-1.1.82.0_GH0.tar.gz) = df73da07d547cfbe88a797802401ea8225e4844e13d4fde52a7cb6e00e5179e5
+SIZE (KhronosGroup-Vulkan-Headers-sdk-1.1.82.0_GH0.tar.gz) = 472646

Added: head/devel/vulkan-headers/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-headers/pkg-descr	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,5 @@
+Vulkan is a low-level cross-platform 3D graphics and compute API.
+
+This port provides the development headers for Vulkan applications.
+
+WWW: https://github.com/KhronosGroup/Vulkan-Headers

Added: head/devel/vulkan-headers/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-headers/pkg-plist	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,23 @@
+include/vulkan/vk_icd.h
+include/vulkan/vk_layer.h
+include/vulkan/vk_platform.h
+include/vulkan/vk_sdk_platform.h
+include/vulkan/vulkan.h
+include/vulkan/vulkan.hpp
+include/vulkan/vulkan_android.h
+include/vulkan/vulkan_core.h
+include/vulkan/vulkan_ios.h
+include/vulkan/vulkan_macos.h
+include/vulkan/vulkan_mir.h
+include/vulkan/vulkan_vi.h
+include/vulkan/vulkan_wayland.h
+include/vulkan/vulkan_win32.h
+include/vulkan/vulkan_xcb.h
+include/vulkan/vulkan_xlib.h
+include/vulkan/vulkan_xlib_xrandr.h
+share/vulkan/registry/cgenerator.py
+share/vulkan/registry/generator.py
+share/vulkan/registry/genvk.py
+share/vulkan/registry/reg.py
+share/vulkan/registry/validusage.json
+share/vulkan/registry/vk.xml

Added: head/devel/vulkan-tools/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,30 @@
+# $FreeBSD$
+
+PORTNAME=	vulkan-tools
+DISTVERSIONPREFIX=	sdk-
+DISTVERSION=	1.1.82.0
+CATEGORIES=	devel graphics
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	Tools and demos for the Vulkan graphics API
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers \
+		glslangValidator:devel/glslang
+LIB_DEPENDS=	libvulkan.so:graphics/vulkan-loader \
+		libX11-xcb.so:x11/libX11 \
+		libXrandr.so:x11/libXrandr \
+		libxcb.so:x11/libxcb
+
+USES=		cmake:outsource compiler:c++11-lib pkgconfig python:3.4+,build
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+GH_PROJECT=	Vulkan-Tools
+
+CMAKE_OFF=	BUILD_TESTS BUILD_ICD \
+		BUILD_WSI_WAYLAND_SUPPORT BUILD_WSI_MIR_SUPPORT
+CMAKE_ARGS=	-DGLSLANG_INSTALL_DIR=${LOCALBASE}
+
+.include <bsd.port.mk>

Added: head/devel/vulkan-tools/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/distinfo	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533667375
+SHA256 (KhronosGroup-Vulkan-Tools-sdk-1.1.82.0_GH0.tar.gz) = 22e5e5dfd47535e1664458ee59706abcaace96575d1a3d7fa9ae779a9e83b89c
+SIZE (KhronosGroup-Vulkan-Tools-sdk-1.1.82.0_GH0.tar.gz) = 342057

Added: head/devel/vulkan-tools/files/patch-cube_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/files/patch-cube_CMakeLists.txt	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,33 @@
+--- cube/CMakeLists.txt.orig	2018-08-07 18:44:03 UTC
++++ cube/CMakeLists.txt
+@@ -48,7 +48,7 @@ else()
+     find_program(GLSLANG_VALIDATOR NAMES ${GLSLANG_VALIDATOR_NAME} HINTS "${PROJECT_SOURCE_DIR}/glslang/bin")
+ endif()
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++if(UNIX AND NOT APPLE)
+     include(FindPkgConfig)
+     option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
+     option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON)
+@@ -58,10 +58,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ 
+     if(BUILD_WSI_XCB_SUPPORT)
+         find_package(XCB REQUIRED)
++        include_directories(SYSTEM ${XCB_INCLUDE_DIR})
+     endif()
+ 
+     if(BUILD_WSI_XLIB_SUPPORT)
+         find_package(X11 REQUIRED)
++        include_directories(SYSTEM ${X11_Xlib_INCLUDE_PATH})
+     endif()
+ 
+     if(BUILD_WSI_WAYLAND_SUPPORT)
+@@ -87,7 +89,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+     endif()
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
+     add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR)
+-elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++elseif(UNIX AND NOT APPLE)
+     if(NOT CUBE_WSI_SELECTION)
+         set(CUBE_WSI_SELECTION "XCB")
+     endif()

Added: head/devel/vulkan-tools/files/patch-cube_cube.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/files/patch-cube_cube.cpp	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,11 @@
+--- cube/cube.cpp.orig	2018-08-07 18:51:55 UTC
++++ cube/cube.cpp
+@@ -2922,7 +2922,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPre
+     return (int)msg.wParam;
+ }
+ 
+-#elif __linux__
++#elif __unix__
+ 
+ int main(int argc, char **argv) {
+     Demo demo;

Added: head/devel/vulkan-tools/files/patch-vulkaninfo_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/files/patch-vulkaninfo_CMakeLists.txt	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,24 @@
+--- vulkaninfo/CMakeLists.txt.orig	2018-08-07 18:45:41 UTC
++++ vulkaninfo/CMakeLists.txt
+@@ -28,7 +28,7 @@ else()
+     add_executable(vulkaninfo vulkaninfo.c)
+ endif()
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++if(UNIX AND NOT APPLE)
+     include(FindPkgConfig)
+     option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
+     option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON)
+@@ -36,10 +36,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ 
+     if(BUILD_WSI_XCB_SUPPORT)
+         find_package(XCB REQUIRED)
++        include_directories(SYSTEM ${XCB_INCLUDE_DIR})
+     endif()
+ 
+     if(BUILD_WSI_XLIB_SUPPORT)
+         find_package(X11 REQUIRED)
++        include_directories(SYSTEM ${X11_Xlib_INCLUDE_PATH})
+     endif()
+ 
+     if(VULKANINFO_WSI_SELECTION STREQUAL "XCB")

Added: head/devel/vulkan-tools/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/pkg-descr	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,5 @@
+Vulkan is a low-level cross-platform 3D graphics and compute API.
+
+This port provides various tools and demos for Vulkan, e.g. vulkaninfo.
+
+WWW: https://github.com/KhronosGroup/Vulkan-Tools

Added: head/devel/vulkan-tools/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-tools/pkg-plist	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,3 @@
+bin/cube
+bin/cubepp
+bin/vulkaninfo

Added: head/devel/vulkan-validation-layers/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,30 @@
+# $FreeBSD$
+
+PORTNAME=	vulkan-validation-layers
+DISTVERSIONPREFIX=	sdk-
+DISTVERSION=	1.1.82.0
+CATEGORIES=	devel graphics
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	Validation layers for the Vulkan graphics API
+
+LICENSE=	APACHE20
+
+# NOTE: keep spirv-tools and glslang up to date when updating Vulkan
+BUILD_DEPENDS=	${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers \
+		${LOCALBASE}/include/spirv-tools/libspirv.h:devel/spirv-tools \
+		${LOCALBASE}/include/SPIRV/spirv.hpp:devel/glslang
+
+USES=		cmake:outsource compiler:c++11-lib pkgconfig python:3.4+,build
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+GH_PROJECT=	Vulkan-ValidationLayers
+
+# WSI_* in here are leftover from when all of Vulkan SDK was in one repo
+CMAKE_OFF=	BUILD_TESTS BUILD_WSI_XCB_SUPPORT BUILD_WSI_XLIB_SUPPORT \
+		BUILD_WSI_WAYLAND_SUPPORT BUILD_WSI_MIR_SUPPORT
+CMAKE_ARGS=	-DGLSLANG_INSTALL_DIR=${LOCALBASE}
+
+.include <bsd.port.mk>

Added: head/devel/vulkan-validation-layers/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/distinfo	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533665599
+SHA256 (KhronosGroup-Vulkan-ValidationLayers-sdk-1.1.82.0_GH0.tar.gz) = 6d83d1f7085bcfe67a791fce0bfb500dfb5d4833f062db1fc272bdc86e87eded
+SIZE (KhronosGroup-Vulkan-ValidationLayers-sdk-1.1.82.0_GH0.tar.gz) = 962154

Added: head/devel/vulkan-validation-layers/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/files/patch-CMakeLists.txt	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,23 @@
+--- CMakeLists.txt.orig	2018-07-30 17:53:08 UTC
++++ CMakeLists.txt
+@@ -63,9 +63,9 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ # "Helper" targets that don't have interesting source code should set their FOLDER property to this
+ set(LAYERS_HELPER_FOLDER "Helper Targets")
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++if(UNIX)
+     set(
+-        FALLBACK_CONFIG_DIRS "/etc/xdg"
++        FALLBACK_CONFIG_DIRS "${CMAKE_INSTALL_PREFIX}/etc/xdg:/etc/xdg"
+         CACHE
+             STRING
+             "Search path to use when XDG_CONFIG_DIRS is unset or empty or the current process is SUID/SGID. Default is freedesktop compliant."
+@@ -78,7 +78,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_
+         )
+ endif()
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++if(UNIX AND NOT APPLE)
+     include(FindPkgConfig)
+     option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
+     option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON)

Added: head/devel/vulkan-validation-layers/files/patch-layers_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/files/patch-layers_CMakeLists.txt	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,20 @@
+--- layers/CMakeLists.txt.orig	2018-07-30 17:53:08 UTC
++++ layers/CMakeLists.txt
+@@ -23,7 +23,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+     set(DisplayServer Win32)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
+     add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR -DVK_USE_PLATFORM_ANDROID_KHX)
+-elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++elseif(UNIX AND NOT APPLE)
+     if(BUILD_WSI_XCB_SUPPORT)
+         add_definitions(-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX)
+     endif()
+@@ -131,7 +131,7 @@ if(WIN32)
+         add_custom_target(vk_validation_error_messages ALL COMMAND copy ${src_val_msgs} ${dst_val_msgs} VERBATIM)
+         set_target_properties(vk_validation_error_messages PROPERTIES FOLDER ${LAYERS_HELPER_FOLDER})
+     endif()
+-elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
++ elseif(UNIX AND NOT APPLE)
+     # extra setup for out-of-tree builds
+     if(NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR))
+         foreach(config_file ${LAYER_JSON_FILES})

Added: head/devel/vulkan-validation-layers/files/patch-layers_vk__loader__platform.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/files/patch-layers_vk__loader__platform.h	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,11 @@
+--- layers/vk_loader_platform.h.orig	2018-08-07 18:19:43 UTC
++++ layers/vk_loader_platform.h
+@@ -31,7 +31,7 @@
+ #include "vulkan/vk_platform.h"
+ #include "vulkan/vk_sdk_platform.h"
+ 
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__unix__)
+ /* Linux-specific common code: */
+ 
+ // Headers:

Added: head/devel/vulkan-validation-layers/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/pkg-descr	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,6 @@
+Vulkan is a low-level cross-platform 3D graphics and compute API.
+
+This port provides the official validation layers for Vulkan applications,
+which are useful for development and debugging.
+
+WWW: https://github.com/KhronosGroup/Vulkan-ValidationLayers

Added: head/devel/vulkan-validation-layers/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/vulkan-validation-layers/pkg-plist	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,35 @@
+include/hash_util.h
+include/hash_vk_types.h
+include/vk_dispatch_table_helper.h
+include/vk_enum_string_helper.h
+include/vk_extension_helper.h
+include/vk_format_utils.cpp
+include/vk_format_utils.h
+include/vk_layer_config.cpp
+include/vk_layer_config.h
+include/vk_layer_data.h
+include/vk_layer_dispatch_table.h
+include/vk_layer_extension_utils.cpp
+include/vk_layer_extension_utils.h
+include/vk_layer_logging.h
+include/vk_layer_utils.cpp
+include/vk_layer_utils.h
+include/vk_loader_layer.h
+include/vk_loader_platform.h
+include/vk_object_types.h
+include/vk_safe_struct.cpp
+include/vk_safe_struct.h
+include/vk_typemap_helper.h
+include/vk_validation_error_messages.h
+lib/libVkLayer_core_validation.so
+lib/libVkLayer_object_tracker.so
+lib/libVkLayer_parameter_validation.so
+lib/libVkLayer_threading.so
+lib/libVkLayer_unique_objects.so
+lib/libVkLayer_utils.a
+share/vulkan/explicit_layer.d/VkLayer_core_validation.json
+share/vulkan/explicit_layer.d/VkLayer_object_tracker.json
+share/vulkan/explicit_layer.d/VkLayer_parameter_validation.json
+share/vulkan/explicit_layer.d/VkLayer_standard_validation.json
+share/vulkan/explicit_layer.d/VkLayer_threading.json
+share/vulkan/explicit_layer.d/VkLayer_unique_objects.json

Modified: head/emulators/rpcs3/Makefile
==============================================================================
--- head/emulators/rpcs3/Makefile	Mon Sep  3 16:21:21 2018	(r478882)
+++ head/emulators/rpcs3/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -47,9 +47,6 @@ LDFLAGS+=	-Wl,--as-needed # GLU
 
 OPTIONS_DEFINE=	ALSA EVDEV GDB LLVM PULSEAUDIO VULKAN
 OPTIONS_DEFAULT=ALSA LLVM VULKAN
-.if !exists(${.CURDIR:H:H}/graphics/vulkan-loader)
-OPTIONS_EXCLUDE=VULKAN # XXX ports/222175
-.endif
 
 ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
 ALSA_RUN_DEPENDS=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Mon Sep  3 16:21:21 2018	(r478882)
+++ head/graphics/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -1124,6 +1124,7 @@
     SUBDIR += visprint
     SUBDIR += volpack
     SUBDIR += vp
+    SUBDIR += vulkan-loader
     SUBDIR += waffle
     SUBDIR += waifu2x-converter-cpp
     SUBDIR += wayland

Added: head/graphics/vulkan-loader/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/Makefile	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,47 @@
+# $FreeBSD$
+
+PORTNAME=	vulkan-loader
+DISTVERSIONPREFIX=sdk-
+DISTVERSION=	1.1.82.0
+CATEGORIES=	graphics devel
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	Driver loader for the Vulkan graphics API
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers
+
+USES=		cmake:outsource compiler:c++11-lib pkgconfig python:3.4+,build
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	KhronosGroup
+GH_PROJECT=	Vulkan-Loader
+
+CMAKE_ON=	CMAKE_SKIP_RPATH
+CMAKE_OFF=	BUILD_TESTS BUILD_WSI_MIR_SUPPORT
+
+OPTIONS_DEFINE=	XLIB XCB WAYLAND
+OPTIONS_DEFAULT=XLIB XCB
+
+XLIB_DESC=	Build Xlib WSI (Window System Integration) support
+XCB_DESC=	Build XCB WSI (Window System Integration) support
+WAYLAND_DESC=	Build Wayland WSI (Window System Integration) support
+
+XLIB_CMAKE_BOOL=	BUILD_WSI_XLIB_SUPPORT
+XLIB_LIB_DEPENDS=	libX11.so:x11/libX11 \
+			libXrandr.so:x11/libXrandr
+XCB_CMAKE_BOOL=		BUILD_WSI_XCB_SUPPORT
+XCB_LIB_DEPENDS=	libX11-xcb.so:x11/libX11 \
+			libxcb.so:x11/libxcb
+WAYLAND_CMAKE_BOOL=	BUILD_WSI_WAYLAND_SUPPORT
+WAYLAND_LIB_DEPENDS=	libwayland-egl.so:graphics/mesa-libs
+
+post-patch:
+# Non-x86 targets use C code, so don't abort without GNU as (e.g., on aarch64)
+.if !exists(/usr/bin/as) && ${MACHINE_ARCH} != i386 && ${MACHINE_ARCH} != amd64
+	@${REINPLACE_CMD} 's/-ATT//' ${WRKSRC}/loader/CMakeLists.txt
+.endif
+
+.include <bsd.port.mk>

Added: head/graphics/vulkan-loader/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/distinfo	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533664679
+SHA256 (KhronosGroup-Vulkan-Loader-sdk-1.1.82.0_GH0.tar.gz) = 86cd3e93d99cbfbb8550e7f2137cacfdaf9aa6611b814e054b2156b4b4775b0c
+SIZE (KhronosGroup-Vulkan-Loader-sdk-1.1.82.0_GH0.tar.gz) = 1341774

Added: head/graphics/vulkan-loader/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/files/patch-CMakeLists.txt	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,36 @@
+--- CMakeLists.txt.orig	2018-08-03 22:10:42 UTC
++++ CMakeLists.txt
+@@ -57,9 +57,9 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ # "Helper" targets that don't have interesting source code should set their FOLDER property to this
+ set(LOADER_HELPER_FOLDER "Helper Targets")
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++if(UNIX AND NOT APPLE)
+     set(
+-        FALLBACK_CONFIG_DIRS "/etc/xdg"
++        FALLBACK_CONFIG_DIRS "${CMAKE_INSTALL_PREFIX}/etc/xdg:/etc/xdg"
+         CACHE
+             STRING
+             "Search path to use when XDG_CONFIG_DIRS is unset or empty or the current process is SUID/SGID. Default is freedesktop compliant."
+@@ -72,7 +72,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_
+         )
+ endif()
+ 
+-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++if(UNIX AND NOT APPLE)
+     include(FindPkgConfig)
+     option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
+     option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON)
+@@ -81,10 +81,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ 
+     if(BUILD_WSI_XCB_SUPPORT)
+         find_package(XCB REQUIRED)
++        include_directories(SYSTEM ${XCB_INCLUDE_DIR})
+     endif()
+ 
+     if(BUILD_WSI_XLIB_SUPPORT)
+         find_package(X11 REQUIRED)
++        include_directories(SYSTEM ${X11_Xlib_INCLUDE_PATH})
+     endif()
+ 
+     if(BUILD_WSI_WAYLAND_SUPPORT)

Added: head/graphics/vulkan-loader/files/patch-loader_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/files/patch-loader_CMakeLists.txt	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,20 @@
+--- loader/CMakeLists.txt.orig	2018-08-03 22:10:42 UTC
++++ loader/CMakeLists.txt
+@@ -40,7 +40,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+     endif()
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
+     add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR)
+-elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++elseif(UNIX AND NOT APPLE)
+     if(BUILD_WSI_XCB_SUPPORT)
+         add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+     endif()
+@@ -223,7 +223,7 @@ else()
+     add_dependencies(vulkan generate_helper_files loader_gen_files loader_asm_gen_files)
+     target_compile_definitions(vulkan PUBLIC -DLOADER_DYNAMIC_LIB)
+     set_target_properties(vulkan PROPERTIES SOVERSION "1" VERSION "${VulkanHeaders_VERSION_MAJOR}.${VulkanHeaders_VERSION_MINOR}.${VulkanHeaders_VERSION_PATCH}")
+-    target_link_libraries(vulkan -ldl -lpthread -lm)
++    target_link_libraries(vulkan ${CMAKE_DL_LIBS} -lpthread -lm)
+ 
+     if(APPLE)
+         find_library(COREFOUNDATION_LIBRARY NAMES CoreFoundation)

Added: head/graphics/vulkan-loader/files/patch-loader_loader.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/files/patch-loader_loader.c	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,20 @@
+--- loader/loader.c.orig	2018-08-03 22:10:42 UTC
++++ loader/loader.c
+@@ -215,7 +215,7 @@ void *loader_device_heap_realloc(const struct loader_d
+ }
+ 
+ // Environment variables
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__unix__)
+ 
+ static inline char *loader_getenv(const char *name, const struct loader_instance *inst) {
+     // No allocation of memory necessary for Linux, but we should at least touch
+@@ -225,7 +225,7 @@ static inline char *loader_getenv(const char *name, co
+ }
+ 
+ static inline char *loader_secure_getenv(const char *name, const struct loader_instance *inst) {
+-#if defined(__APPLE__)
++#if !defined(__linux__)
+     // Apple does not appear to have a secure getenv implementation.
+     // The main difference between secure getenv and getenv is that secure getenv
+     // returns NULL if the process is being run with elevated privileges by a normal user.

Added: head/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/files/patch-loader_vk__loader__platform.h	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,11 @@
+--- loader/vk_loader_platform.h.orig	2018-08-03 22:10:42 UTC
++++ loader/vk_loader_platform.h
+@@ -31,7 +31,7 @@
+ #include "vulkan/vk_platform.h"
+ #include "vulkan/vk_sdk_platform.h"
+ 
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__unix__)
+ /* Linux-specific common code: */
+ 
+ // Headers:

Added: head/graphics/vulkan-loader/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/pkg-descr	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,6 @@
+Vulkan is a low-level cross-platform 3D graphics and compute API.
+
+This port provides the Khronos official ICD (Installable Client Driver) loader,
+which is necessary for loading Vulkan drivers in a running application.
+
+WWW: https://github.com/KhronosGroup/Vulkan-Loader

Added: head/graphics/vulkan-loader/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vulkan-loader/pkg-plist	Mon Sep  3 17:43:50 2018	(r478883)
@@ -0,0 +1,4 @@
+lib/libvulkan.so
+lib/libvulkan.so.1
+lib/libvulkan.so.1.1.82
+libdata/pkgconfig/vulkan.pc



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809031743.w83HhoY4080375>