[packages/vulkan-sdk] Version: 1.0.39.1

jajcus jajcus at pld-linux.org
Mon Apr 3 11:30:48 CEST 2017


commit 1cbb9acba195a91216245ddafc77ec2151b5c1a0
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date:   Mon Apr 3 11:30:14 2017 +0200

    Version: 1.0.39.1

 system_jsoncpp.patch  | 40 +++++++++++++++++++++++++
 vktrace_wayland.patch | 83 ---------------------------------------------------
 vulkan-sdk.spec       | 65 ++++++++++++++++++++++++++--------------
 3 files changed, 83 insertions(+), 105 deletions(-)
---
diff --git a/vulkan-sdk.spec b/vulkan-sdk.spec
index 7d640bb..781562b 100644
--- a/vulkan-sdk.spec
+++ b/vulkan-sdk.spec
@@ -1,43 +1,51 @@
 #
+# TODO:
+#	- investigate why vktrace does not work
+
+
 # Conditional build:
 %bcond_with	tests		# build with tests (require a working Vulkan
 				# driver (ICD))
 %bcond_without	wayland		# enable Wayland support in loader
 %bcond_without	xlib		# enable XLib support in loader
 
-%define	api_version 1.0.32
+%define	api_version 1.0.39
 
 Summary:	LunarG Vulkan SDK
 Name:		vulkan-sdk
-Version:	1.0.32.0
+Version:	1.0.39.1
 Release:	1
 License:	MIT-like
 Group:		Development
 Source0:	https://github.com/LunarG/VulkanTools/archive/sdk-%{version}/VulkanTools-%{version}.tar.gz
-# Source0-md5:	83679b56e7782b1f61b4b86de98fb81b
+# Source0-md5:	62446dfd61208771d39109218cb29152
 Patch0:		system_glslang_and_spirv-tools.patch
 Patch1:		demos_out_of_src.patch
 Patch2:		rpath.patch
 Patch3:		always_xcb.patch
-Patch4:		vktrace_wayland.patch
-Patch5:		x32.patch
+Patch4:		x32.patch
+Patch5:		system_jsoncpp.patch
 URL:		http://lunarg.com/vulkan-sdk/
 BuildRequires:	bison
 BuildRequires:	cmake
 BuildRequires:	GLM
-BuildRequires:	glslang >= 3.0.s20161029
-BuildRequires:	glslang-devel >= 3.0.s20161029
+BuildRequires:	glslang >= 3.0.s20161222
+BuildRequires:	glslang-devel >= 3.0.s20161222
 BuildRequires:	graphviz
 BuildRequires:	ImageMagick-devel
+BuildRequires:	jsoncpp-devel
 BuildRequires:	libpng
 BuildRequires:	libxcb-devel
 BuildRequires:	python3
 BuildRequires:	python3-lxml
 BuildRequires:	python3-modules
-BuildRequires:	spirv-tools-devel >= v2016.6.s20161027
+BuildRequires:	Qt5Core-devel
+BuildRequires:	Qt5Svg-devel
+BuildRequires:	Qt5Widgets-devel
+BuildRequires:	spirv-tools-devel >= v2016.7
 BuildRequires:	udev-devel
-Requires:	glslang >= 3.0.s20161029
-Requires:	spirv-tools >= v2016.6.s20161027
+Requires:	glslang >= 3.0.s20161222
+Requires:	spirv-tools >= v2016.7
 Requires:	%{name}-debug-layers = %{version}-%{release}
 Requires:	vulkan-devel = %{version}-%{release}
 Requires:	vulkan-loader = %{version}-%{release}
@@ -103,6 +111,14 @@ Requires:	vulkan-loader = %{version}-%{release}
 %description tools
 Vulkan tools.
 
+%package tools-vktraceviewer
+Summary:	Vulkan trace viewer
+Group:		Development
+Requires:	%{name}-tools = %{version}-%{release}
+
+%description tools-vktraceviewer
+Vulkan trace viewer.
+
 %prep
 %setup -qn VulkanTools-sdk-%{version}
 
@@ -118,11 +134,14 @@ install -d build
 cd build
 
 %cmake \
+	-DJSONCPP_INCLUDE_DIR=/usr/include/jsoncpp \
+	-DJSONCPP_SOURCE_DIR=/usr/include/jsoncpp \
 	-DCMAKE_INSTALL_DATADIR=share \
 	-DCMAKE_INSTALL_SYSCONFDIR=etc \
 	-DBUILD_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
 	-DBUILD_WSI_WAYLAND_SUPPORT=%{?with_wayland:ON}%{!?with_wayland:OFF} \
 	-DBUILD_WSI_XLIB_SUPPORT=%{?with_xlib:ON}%{!?with_xlib:OFF} \
+	-DBUILD_WSI_MIR_SUPPORT=OFF \
 	-DBUILD_ICD=OFF \
 		../
 %{__make}
@@ -139,7 +158,7 @@ cd ..
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/icd.d \
 $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/{explicit,implicit}_layer.d \
-	$RPM_BUILD_ROOT{%{_bindir},%{_libdir}/vulkan/layer} \
+	$RPM_BUILD_ROOT%{_bindir} \
 	$RPM_BUILD_ROOT%{_includedir}/vulkan \
 	$RPM_BUILD_ROOT%{_datadir}/%{name}-demos \
 	$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
@@ -169,7 +188,7 @@ cp -p ../libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir}
 
 cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir}
 for f in layersvt/*.json ; do
-sed -e's@"library_path": "./@"library_path": "%{_libdir}/@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
+sed -e's@"library_path": "./@"library_path": "@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
 done
 
 cp -pr ../demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
@@ -182,18 +201,21 @@ rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*.orig 2>/dev/null || :
 cp -p vktrace/libVkLayer_vktrace_layer.so $RPM_BUILD_ROOT%{_libdir}
 cp -p vktrace/vkreplay $RPM_BUILD_ROOT%{_bindir}
 cp -p vktrace/vktrace $RPM_BUILD_ROOT%{_bindir}
-sed -e's@"library_path": "../vktrace/@"library_path": "%{_libdir}/@' \
+sed -e's@"library_path": "../vktrace/@"library_path": "@' \
 	layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
 %else
 cp -p vktrace/libVkLayer_vktrace_layer32.so $RPM_BUILD_ROOT%{_libdir}
 cp -p vktrace/vkreplay32 $RPM_BUILD_ROOT%{_bindir}
 cp -p vktrace/vktrace32 $RPM_BUILD_ROOT%{_bindir}
 rm $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
-sed -e's@"library_path": "../vktrace/@"library_path": "%{_libdir}/@' \
+sed -e's@"library_path": "../vktrace/@"library_path": "@' \
     -e's at libVkLayer_vktrace_layer.so@libVkLayer_vktrace_layer32.so@' \
 	layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer32.json
 %endif
 
+install via/via $RPM_BUILD_ROOT%{_bindir}
+install vktrace/vktraceviewer $RPM_BUILD_ROOT%{_bindir}
+
 cd ..
 
 cp -p vktrace/README.md vktrace-README.md
@@ -222,8 +244,6 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/vulkan/implicit_layer.d
 %{_libdir}/libvulkan.so.1.*.*
 %ghost %{_libdir}/libvulkan.so.1
-%dir %{_libdir}/vulkan
-%dir %{_libdir}/vulkan/layer
 
 %files demos
 %defattr(644,root,root,755)
@@ -236,6 +256,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc COPYRIGHT.txt LICENSE.txt
 %doc vktrace-README.md vktrace-TODO.md
+%attr(755,root,root) %{_bindir}/via
 %attr(755,root,root) %{_bindir}/vkjson_info
 %attr(755,root,root) %{_bindir}/vkjson_unittest
 %attr(755,root,root) %{_bindir}/vulkaninfo
@@ -251,6 +272,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer32.json
 %endif
 
+%files tools-vktraceviewer
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vktraceviewer
+
 %files validation-layers
 %defattr(644,root,root,755)
 %doc COPYRIGHT.txt LICENSE.txt
@@ -276,15 +301,11 @@ rm -rf $RPM_BUILD_ROOT
 %doc COPYRIGHT.txt LICENSE.txt
 %doc layersvt/{README.md,vk_layer_settings.txt}
 %attr(755,root,root) %{_libdir}/libVkLayer_api_dump.so
-%attr(755,root,root) %{_libdir}/libVkLayer_basic.so
-%attr(755,root,root) %{_libdir}/libVkLayer_generic.so
-%attr(755,root,root) %{_libdir}/libVkLayer_multi.so
+%attr(755,root,root) %{_libdir}/libVkLayer_monitor.so
 %attr(755,root,root) %{_libdir}/libVkLayer_screenshot.so
 %attr(755,root,root) %{_libdir}/libVkLayer_utilsvt.so
 %{_datadir}/vulkan/explicit_layer.d/VkLayer_api_dump.json
-%{_datadir}/vulkan/explicit_layer.d/VkLayer_basic.json
-%{_datadir}/vulkan/explicit_layer.d/VkLayer_generic.json
-%{_datadir}/vulkan/explicit_layer.d/VkLayer_multi.json
+%{_datadir}/vulkan/explicit_layer.d/VkLayer_monitor.json
 %{_datadir}/vulkan/explicit_layer.d/VkLayer_screenshot.json
 
 %files -n vulkan-devel
diff --git a/system_jsoncpp.patch b/system_jsoncpp.patch
new file mode 100644
index 0000000..9ca1764
--- /dev/null
+++ b/system_jsoncpp.patch
@@ -0,0 +1,40 @@
+diff -dur -x '*~' -x '*.orig' -x '*.rej' VulkanTools-sdk-1.0.39.1.orig/CMakeLists.txt VulkanTools-sdk-1.0.39.1/CMakeLists.txt
+--- VulkanTools-sdk-1.0.39.1.orig/CMakeLists.txt	2017-04-03 10:45:27.000000000 +0200
++++ VulkanTools-sdk-1.0.39.1/CMakeLists.txt	2017-04-03 10:49:00.000000000 +0200
+@@ -200,20 +200,9 @@
+                                                    "${EXTERNAL_SOURCE_ROOT}/source/spirv-tools/external/include"
+                                              DOC "Path to spirv-tools/libspirv.h")
+ 
+-find_path(JSONCPP_INCLUDE_DIR json/json.h HINTS "${EXTERNAL_SOURCE_ROOT}/jsoncpp/dist"
+-                                                   "${EXTERNAL_SOURCE_ROOT}/JsonCpp/dist"
+-                                                   "${EXTERNAL_SOURCE_ROOT}/JsonCPP/dist"
+-                                                   "${EXTERNAL_SOURCE_ROOT}/JSONCPP/dist"
+-                                                   "${CMAKE_SOURCE_DIR}/../jsoncpp/dist"
++find_path(JSONCPP_INCLUDE_DIR json/json.h HINTS "/usr/include/jsoncpp"
+                                              DOC "Path to jsoncpp/dist/json/json.h")
+ 
+-find_path(JSONCPP_SOURCE_DIR jsoncpp.cpp HINTS "${EXTERNAL_SOURCE_ROOT}/jsoncpp/dist"
+-                                                   "${EXTERNAL_SOURCE_ROOT}/JsonCpp/dist"
+-                                                   "${EXTERNAL_SOURCE_ROOT}/JsonCPP/dist"
+-                                                   "${EXTERNAL_SOURCE_ROOT}/JSONCPP/dist"
+-                                                   "${CMAKE_SOURCE_DIR}/../jsoncpp/dist"
+-                                             DOC "Path to jsoncpp/dist/json.cpp")
+-
+     find_library(GLSLANG_LIB NAMES glslang
+         HINTS ${GLSLANG_SEARCH_PATH} )
+ 
+diff -dur -x '*~' -x '*.orig' -x '*.rej' VulkanTools-sdk-1.0.39.1.orig/via/CMakeLists.txt VulkanTools-sdk-1.0.39.1/via/CMakeLists.txt
+--- VulkanTools-sdk-1.0.39.1.orig/via/CMakeLists.txt	2017-02-03 00:57:55.000000000 +0100
++++ VulkanTools-sdk-1.0.39.1/via/CMakeLists.txt	2017-04-03 10:47:42.000000000 +0200
+@@ -60,9 +60,9 @@
+ 
+ endif()
+ 
+-add_executable(via via.cpp ${JSONCPP_SOURCE_DIR}/jsoncpp.cpp)
++add_executable(via via.cpp)
+ target_include_directories(via PUBLIC ${JSONCPP_INCLUDE_DIR})
+-target_link_libraries(via ${LIBRARIES})
++target_link_libraries(via ${LIBRARIES} ${JSONCPP_LIB})
+ if(WIN32)
+     target_link_libraries(via version)
+ endif()
diff --git a/vktrace_wayland.patch b/vktrace_wayland.patch
deleted file mode 100644
index e74acb4..0000000
--- a/vktrace_wayland.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/api_dump_generator.py VulkanTools-sdk-1.0.32.0/api_dump_generator.py
---- VulkanTools-sdk-1.0.32.0.orig/api_dump_generator.py	2016-11-10 18:52:27.000000000 +0100
-+++ VulkanTools-sdk-1.0.32.0/api_dump_generator.py	2016-11-23 14:38:41.000000000 +0100
-@@ -676,7 +676,7 @@
- }}
- """
- 
--POINTER_TYPES = ['void', 'xcb_connection_t', 'Display', 'SECURITY_ATTRIBUTES', 'ANativeWindow']
-+POINTER_TYPES = ['void', 'xcb_connection_t', 'Display', 'SECURITY_ATTRIBUTES', 'ANativeWindow', 'wl_surface', 'wl_display']
- VALIDITY_CHECKS = {
-     'VkBufferCreateInfo': {
-         'pQueueFamilyIndices': 'object.sharingMode == VK_SHARING_MODE_CONCURRENT',
-@@ -1433,4 +1433,4 @@
-         return {
-             'unName': self.name,
-         }
--            
-\ No newline at end of file
-+            
-diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/vk_helper_api_dump.py VulkanTools-sdk-1.0.32.0/vk_helper_api_dump.py
---- VulkanTools-sdk-1.0.32.0.orig/vk_helper_api_dump.py	2016-11-10 18:52:27.000000000 +0100
-+++ VulkanTools-sdk-1.0.32.0/vk_helper_api_dump.py	2016-11-23 14:45:42.000000000 +0100
-@@ -1468,7 +1468,7 @@
-                     elif is_type(self.struct_dict[s][m]['type'], 'struct'):
-                         sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name']))
-                     elif 'void' not in self.struct_dict[s][m]['type'].lower():
--                        if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'):
-+                        if (self.struct_dict[s][m]['type'] not in ('xcb_connection_t', 'struct wl_display', 'struct wl_surface')):
-                             sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type']))
-                 elif 'size_t' == self.struct_dict[s][m]['type'].lower():
-                     sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name']))
-diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/vk_helper.py VulkanTools-sdk-1.0.32.0/vk_helper.py
---- VulkanTools-sdk-1.0.32.0.orig/vk_helper.py	2016-11-10 18:52:27.000000000 +0100
-+++ VulkanTools-sdk-1.0.32.0/vk_helper.py	2016-11-23 14:45:42.000000000 +0100
-@@ -1424,7 +1424,7 @@
-                     elif is_type(self.struct_dict[s][m]['type'], 'struct'):
-                         sh_funcs.append('%sstructSize += %s(pStruct->%s);' % (indent, self._get_size_helper_func_name(self.struct_dict[s][m]['type']), self.struct_dict[s][m]['name']))
-                     elif 'void' not in self.struct_dict[s][m]['type'].lower():
--                        if (self.struct_dict[s][m]['type'] != 'xcb_connection_t'):
-+                        if (self.struct_dict[s][m]['type'] not in ('xcb_connection_t', 'struct wl_display', 'struct wl_surface')):
-                             sh_funcs.append('%sstructSize += sizeof(%s);' % (indent, self.struct_dict[s][m]['type']))
-                 elif 'size_t' == self.struct_dict[s][m]['type'].lower():
-                     sh_funcs.append('%sstructSize += pStruct->%s;' % (indent, self.struct_dict[s][m]['name']))
-diff -dur -x '*.orig' -x '*.rej' -x '*~' VulkanTools-sdk-1.0.32.0.orig/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp VulkanTools-sdk-1.0.32.0/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
---- VulkanTools-sdk-1.0.32.0.orig/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp	2016-11-10 18:52:27.000000000 +0100
-+++ VulkanTools-sdk-1.0.32.0/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp	2016-11-23 14:45:42.000000000 +0100
-@@ -1885,6 +1885,36 @@
- #endif
- 
- //TODO Wayland and Mir support
-+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-+VKTRACER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL __HOOKED_vkCreateWaylandSurfaceKHR(
-+    VkInstance                                  instance,
-+    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,
-+    const VkAllocationCallbacks*                pAllocator,
-+    VkSurfaceKHR*                               pSurface)
-+{
-+    VkResult result;
-+
-+    // TODO: Implement.
-+
-+    result = mid(instance)->instTable.CreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
-+
-+    return result;
-+}
-+
-+VKTRACER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL __HOOKED_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
-+    VkPhysicalDevice                            physicalDevice,
-+    uint32_t                                    queueFamilyIndex,
-+    struct wl_display*                          display)
-+{
-+    VkBool32 result;
-+
-+    // TODO: Implement.
-+
-+    result = mid(physicalDevice)->instTable.GetPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display);
-+
-+    return result;
-+}
-+#endif
- 
- /* TODO: Probably want to make this manual to get the result of the boolean and then check it on replay
- VKTRACER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL __HOOKED_vkGetPhysicalDeviceSurfaceSupportKHR(
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/vulkan-sdk.git/commitdiff/1cbb9acba195a91216245ddafc77ec2151b5c1a0



More information about the pld-cvs-commit mailing list