vulkan: Changes to 'debian-unstable'
.gitignore | 6
BUILD.md | 127
CMakeLists.txt | 130
CONTRIBUTING.md | 47
COPYRIGHT.txt | 131
LICENSE.txt | 302
README.md | 95
build_windows_targets.bat | 151
common/vulkan_wrapper.cpp | 408
common/vulkan_wrapper.h | 239
debian/changelog | 8
debian/copyright | 2
debian/patches/layers-dont-set-an-rpath.diff | 18
debian/patches/layers-install-to-cmake-install-libdir.diff | 26
debian/patches/loader-add-install-rule.diff | 4
debian/patches/series | 1
debian/patches/trim-build.diff | 6
demos/CMakeLists.txt | 13
demos/android/AndroidManifest.xml.cube | 22
demos/android/AndroidManifest.xml.tri | 22
demos/android/include/cube.frag.h | 97
demos/android/include/cube.vert.h | 208
demos/android/include/lunarg.ppm.h |16389 +++++++++++++
demos/android/include/tri.frag.h | 95
demos/android/include/tri.vert.h | 128
demos/android/jni/Android.mk | 46
demos/android/jni/Application.mk | 22
demos/android/res/values/strings.xml | 24
demos/cube.c | 740
demos/cube.frag | 25
demos/cube.vert | 25
demos/linmath.h | 25
demos/smoke/CMakeLists.txt | 2
demos/smoke/Game.h | 24
demos/smoke/Helpers.h | 24
demos/smoke/Main.cpp | 24
demos/smoke/Meshes.cpp | 28
demos/smoke/Meshes.h | 24
demos/smoke/Shell.cpp | 24
demos/smoke/Shell.h | 24
demos/smoke/ShellAndroid.cpp | 24
demos/smoke/ShellAndroid.h | 24
demos/smoke/ShellWin32.cpp | 27
demos/smoke/ShellWin32.h | 24
demos/smoke/ShellXcb.cpp | 24
demos/smoke/ShellXcb.h | 24
demos/smoke/Simulation.cpp | 31
demos/smoke/Simulation.h | 24
demos/smoke/Smoke.cpp | 72
demos/smoke/Smoke.frag | 2
demos/smoke/Smoke.h | 24
demos/smoke/Smoke.push_constant.vert | 2
demos/smoke/Smoke.vert | 2
demos/smoke/android/build.gradle | 4
demos/smoke/generate-dispatch-table | 25
demos/smoke/glsl-to-spirv | 24
demos/tri.c | 482
demos/tri.frag | 25
demos/tri.vert | 28
demos/vulkaninfo.c | 863
determine_vs_version.py | 148
dev/null |binary
generator.py | 764
genvk.py | 70
glslang_revision | 2
include/vulkan/vk_icd.h | 49
include/vulkan/vk_layer.h | 50
include/vulkan/vk_platform.h | 25
include/vulkan/vk_sdk_platform.h | 25
include/vulkan/vulkan.h | 140
layers/CMakeLists.txt | 148
layers/README.md | 81
layers/core_validation.cpp | 8921 +++----
layers/core_validation.h | 890
layers/core_validation_error_enums.h | 244
layers/core_validation_types.h | 510
layers/descriptor_sets.cpp | 1306 +
layers/descriptor_sets.h | 367
layers/device_limits.cpp | 561
layers/device_limits.h | 49
layers/image.cpp | 773
layers/image.h | 45
layers/linux/VkLayer_core_validation.json | 4
layers/linux/VkLayer_device_limits.json | 4
layers/linux/VkLayer_image.json | 4
layers/linux/VkLayer_object_tracker.json | 4
layers/linux/VkLayer_parameter_validation.json | 4
layers/linux/VkLayer_swapchain.json | 4
layers/linux/VkLayer_threading.json | 4
layers/linux/VkLayer_unique_objects.json | 2
layers/object_tracker.h | 721
layers/parameter_validation.cpp | 2925 +-
layers/parameter_validation_utils.h | 554
layers/swapchain.cpp | 1336 -
layers/swapchain.h | 98
layers/threading.cpp | 270
layers/threading.h | 90
layers/unique_objects.h | 394
layers/vk_layer_config.cpp | 192
layers/vk_layer_config.h | 64
layers/vk_layer_data.h | 25
layers/vk_layer_extension_utils.cpp | 25
layers/vk_layer_extension_utils.h | 25
layers/vk_layer_logging.h | 325
layers/vk_layer_settings.txt | 9
layers/vk_layer_table.cpp | 53
layers/vk_layer_table.h | 26
layers/vk_layer_utils.cpp | 74
layers/vk_layer_utils.h | 25
layers/vk_validation_layer_details.md | 347
layers/windows/VkLayer_core_validation.json | 4
layers/windows/VkLayer_device_limits.json | 4
layers/windows/VkLayer_image.json | 4
layers/windows/VkLayer_object_tracker.json | 4
layers/windows/VkLayer_parameter_validation.json | 4
layers/windows/VkLayer_swapchain.json | 4
layers/windows/VkLayer_threading.json | 4
layers/windows/VkLayer_unique_objects.json | 2
libs/vkjson/.clang-format | 1
libs/vkjson/CMakeLists.txt | 2
libs/vkjson/vkjson.cc | 77
libs/vkjson/vkjson.h | 72
libs/vkjson/vkjson_device.cc | 81
libs/vkjson/vkjson_info.cc | 176
libs/vkjson/vkjson_instance.cc | 164
libs/vkjson/vkjson_unittest.cc | 67
loader/CMakeLists.txt | 25
loader/LoaderAndLayerInterface.md | 872
loader/cJSON.c | 11
loader/cJSON.h | 5
loader/debug_report.c | 96
loader/debug_report.h | 45
loader/dev_ext_trampoline.c | 25
loader/gpa_helper.h | 25
loader/loader.c | 1448 -
loader/loader.h | 143
loader/loader.rc | 98
loader/table_ops.h | 53
loader/trampoline.c | 382
loader/vk-loader-generate.py | 77
loader/vk_loader_layer.h | 32
loader/vk_loader_platform.h | 41
loader/wsi.c | 264
loader/wsi.h | 85
reg.py | 29
source_line_info.py | 25
spirv-tools_revision | 2
tests/CMakeLists.txt | 20
tests/_run_all_tests.ps1 | 51
tests/_vkvalidatelayerdoc.ps1 | 67
tests/icd-spv.h | 21
tests/layer_validation_tests.cpp |12076 ++++++---
tests/layers/CMakeLists.txt | 86
tests/layers/linux/VkLayer_wrap_objects.json | 11
tests/layers/windows/VkLayer_wrap_objects.json | 11
tests/layers/wrap_objects.cpp | 1608 +
tests/layers/wrap_objects.h | 120
tests/loader_validation_tests.cpp | 196
tests/run_all_tests.sh | 5
tests/test_common.h | 25
tests/test_environment.cpp | 32
tests/test_environment.h | 25
tests/test_wrap_objects.sh | 30
tests/vkrenderframework.cpp | 226
tests/vkrenderframework.h | 79
tests/vktestbinding.cpp | 49
tests/vktestbinding.h | 26
tests/vktestframework.cpp | 29
tests/vktestframework.h | 25
tests/vktestframeworkandroid.cpp | 25
tests/vktestframeworkandroid.h | 25
tests/vulkan_wrapper.cpp | 401
tests/vulkan_wrapper.h | 232
update_external_sources.bat | 788
update_external_sources.sh | 14
vk-generate.py | 101
vk-layer-generate.py | 786
vk-layer-introspect | 399
vk.xml | 379
vk_helper.py | 383
vk_layer_documentation_generate.py | 126
vulkan.py | 58
182 files changed, 48124 insertions(+), 19151 deletions(-)
New commits:
commit e03c25ad50f997b49c1242354f4881f9674131e8
Author: Timo Aaltonen <tjaalton@debian.org>
Date: Thu Jun 30 14:43:10 2016 +0300
remove gradle-wrapper.jar from the tree
diff --git a/demos/smoke/android/gradle/wrapper/gradle-wrapper.jar b/demos/smoke/android/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 13372ae..0000000
Binary files a/demos/smoke/android/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
commit 9687664b84f31200a81eb722b0d739ec83c0b814
Author: Timo Aaltonen <tjaalton@debian.org>
Date: Thu Jun 30 14:40:16 2016 +0300
patches: Refreshed.
diff --git a/debian/changelog b/debian/changelog
index d83f684..8e002b7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ vulkan (1.0.17.0+dfsg1-1) UNRELEASED; urgency=medium
* New upstream release.
* copyright: Update excludes.
+ * patches: Refreshed.
-- Timo Aaltonen <tjaalton@debian.org> Thu, 30 Jun 2016 13:28:49 +0300
diff --git a/debian/patches/layers-dont-set-an-rpath.diff b/debian/patches/layers-dont-set-an-rpath.diff
deleted file mode 100644
index 7d2fd79..0000000
--- a/debian/patches/layers-dont-set-an-rpath.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-commit d9add88314908456d458da18f48d0a3a2c73789e
-Author: Adam Jackson <ajax@redhat.com>
-Date: Wed Feb 10 14:52:34 2016 -0500
-
- layers: Don't set an rpath
-
---- a/layers/CMakeLists.txt
-+++ b/layers/CMakeLists.txt
-@@ -31,9 +31,6 @@ set(LAYER_JSON_FILES
- VkLayer_device_limits
- )
-
--set(VK_LAYER_RPATH /usr/lib/x86_64-linux-gnu/vulkan/layer:/usr/lib/i386-linux-gnu/vulkan/layer)
--set(CMAKE_INSTALL_RPATH ${VK_LAYER_RPATH})
--
- if (NOT WIN32)
- # extra setup for out-of-tree builds
- if (NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR))
diff --git a/debian/patches/layers-install-to-cmake-install-libdir.diff b/debian/patches/layers-install-to-cmake-install-libdir.diff
index 06e0728..36e8116 100644
--- a/debian/patches/layers-install-to-cmake-install-libdir.diff
+++ b/debian/patches/layers-install-to-cmake-install-libdir.diff
@@ -6,21 +6,21 @@ Date: Wed Feb 10 15:11:54 2016 -0500
--- a/layers/CMakeLists.txt
+++ b/layers/CMakeLists.txt
-@@ -75,7 +75,7 @@ else()
- target_link_Libraries(VkLayer_${target} layer_utils)
- add_dependencies(VkLayer_${target} generate_vk_layer_helpers)
- set_target_properties(VkLayer_${target} PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic")
-- install(TARGETS VkLayer_${target} DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
-+ install(TARGETS VkLayer_${target} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+@@ -82,7 +82,7 @@ else()
+ target_link_Libraries(VkLayer_${target} VkLayer_utils)
+ add_dependencies(VkLayer_${target} generate_vk_layer_helpers)
+ set_target_properties(VkLayer_${target} PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic")
+- install(TARGETS VkLayer_${target} DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
++ install(TARGETS VkLayer_${target} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endmacro()
endif()
-@@ -143,7 +143,7 @@ if (WIN32)
- set_target_properties(layer_utils_static PROPERTIES OUTPUT_NAME layer_utils)
- target_link_libraries(layer_utils)
+@@ -149,7 +149,7 @@ if (WIN32)
+ add_library(VkLayer_utils STATIC vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp)
else()
-- install(TARGETS layer_utils DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
-+ install(TARGETS layer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ add_library(VkLayer_utils SHARED vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp)
+- install(TARGETS VkLayer_utils DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
++ install(TARGETS VkLayer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
- add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp)
- add_vk_layer(device_limits device_limits.cpp vk_layer_table.cpp vk_layer_utils.cpp)
+
+ add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp vk_safe_struct.cpp descriptor_sets.cpp)
diff --git a/debian/patches/loader-add-install-rule.diff b/debian/patches/loader-add-install-rule.diff
index 53603cc..0c2a516 100644
--- a/debian/patches/loader-add-install-rule.diff
+++ b/debian/patches/loader-add-install-rule.diff
@@ -6,9 +6,9 @@ Date: Wed Feb 10 15:17:06 2016 -0500
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
-@@ -68,4 +68,5 @@ else()
+@@ -83,4 +83,5 @@ else()
add_library(vulkan SHARED ${LOADER_SRCS})
- set_target_properties(vulkan PROPERTIES SOVERSION "1" VERSION "1.0.8")
+ set_target_properties(vulkan PROPERTIES SOVERSION "1" VERSION "1.0.17")
target_link_libraries(vulkan -ldl -lpthread -lm)
+ install(TARGETS vulkan DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
diff --git a/debian/patches/series b/debian/patches/series
index 9c4895a..0c445fa 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,4 +3,3 @@ demos-dont-build-tri-or-cube-or-smoke.diff
loader-add-install-rule.diff
demos-add-install-rule.diff
layers-install-to-cmake-install-libdir.diff
-layers-dont-set-an-rpath.diff
diff --git a/debian/patches/trim-build.diff b/debian/patches/trim-build.diff
index e9e36ab..6ae20f9 100644
--- a/debian/patches/trim-build.diff
+++ b/debian/patches/trim-build.diff
@@ -1,6 +1,6 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -91,10 +91,10 @@ else()
+@@ -103,10 +103,10 @@ else()
endif()
option(BUILD_LOADER "Build loader" ON)
@@ -10,6 +10,6 @@
option(BUILD_DEMOS "Build demos" ON)
-option(BUILD_VKJSON "Build vkjson" ON)
+option(BUILD_VKJSON "Build vkjson" OFF)
+ option(CUSTOM_GLSLANG_BIN_ROOT "Use the user defined GLSLANG_BINARY_ROOT" OFF)
+ option(CUSTOM_SPIRV_TOOLS_BIN_ROOT "Use the user defined SPIRV_TOOLS_BINARY_ROOT" OFF)
- find_program(GLSLANG_VALIDATOR NAMES glslangValidator
- HINTS "${CMAKE_SOURCE_DIR}/../glslang/${BUILDTGT_DIR}/install/bin"
commit fe897196c4a5c6a08fe148978a04f7f0b1f96096
Author: Timo Aaltonen <tjaalton@debian.org>
Date: Thu Jun 30 13:34:47 2016 +0300
copyright: Update excludes.
diff --git a/debian/changelog b/debian/changelog
index bc43d2e..d83f684 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
vulkan (1.0.17.0+dfsg1-1) UNRELEASED; urgency=medium
* New upstream release.
+ * copyright: Update excludes.
-- Timo Aaltonen <tjaalton@debian.org> Thu, 30 Jun 2016 13:28:49 +0300
diff --git a/debian/copyright b/debian/copyright
index 126b19b..c1a06fb 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -2,7 +2,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Vulkan-LoaderAndValidationLayers
Source: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
Files-Excluded:
- buildAndroid
+ build-android
demos/smoke/android/gradle/wrapper/gradle-wrapper.jar
tests/gtest-*
windowsRuntimeInstaller
commit b747abad4e7ed8a4d4161bf7c94b3cca8e08497a
Author: Timo Aaltonen <tjaalton@debian.org>
Date: Thu Jun 30 13:30:27 2016 +0300
update changelog
diff --git a/debian/changelog b/debian/changelog
index 9d68646..bc43d2e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+vulkan (1.0.17.0+dfsg1-1) UNRELEASED; urgency=medium
+
+ * New upstream release.
+
+ -- Timo Aaltonen <tjaalton@debian.org> Thu, 30 Jun 2016 13:28:49 +0300
+
vulkan (1.0.8.0+dfsg1-1) unstable; urgency=medium
* New upstream release.
commit e966288576573c56199415f086fc5a1abfb11c1c
Author: Mark Young <marky@lunarg.com>
Date: Thu Jun 23 11:25:03 2016 -0600
docs: Fix broken link in LoaderAndLayerInterface
The Manifest file example link was broken.
Change-Id: I454392f14f526ef6fdf5b30d971bd06739acb994
diff --git a/loader/LoaderAndLayerInterface.md b/loader/LoaderAndLayerInterface.md
index 70069c3..3f0fef8 100644
--- a/loader/LoaderAndLayerInterface.md
+++ b/loader/LoaderAndLayerInterface.md
@@ -1165,7 +1165,7 @@ Allowable values for type (both before and after deprecation) are "INSTANCE", "G
Thus, layers must have a type of "GLOBAL" or "INSTANCE" for the loader to include the layer in the enumerated instance layer list.
"library\_path" is the filename, full path, or relative path to the library file.
-See [Manifest File Example](# ManifestFileExample) section for more details.
+See [Manifest File Example](#ManifestFileExample) section for more details.
Note 2: One "implementation\_version" node is required per layer. This node gives the layer version, a single number
increasing with backward uncompatible changes.
commit a41d861d585f2507dbc2ddd7cfad7e46da80e454
Author: Mark Young <marky@lunarg.com>
Date: Wed Jun 22 16:55:31 2016 -0600
winsdk: Fix multiple RT uninstall issue
Change originally by David Pinedo. If the same Vulkan Run-time
installer is executed multiple times, it will bump the install count
for the RT installation. There was a problem during uninstall
which failed to look at the install count and would always remove
some important files. This fixes that issue.
Change-Id: I4dda50b0dbdd9ec901aa25713be7d7348f3d67ec
diff --git a/windowsRuntimeInstaller/InstallerRT.nsi b/windowsRuntimeInstaller/InstallerRT.nsi
index 0bfd47f..92da393 100644
--- a/windowsRuntimeInstaller/InstallerRT.nsi
+++ b/windowsRuntimeInstaller/InstallerRT.nsi
@@ -618,31 +618,44 @@ Section "uninstall"
# Delete vulkaninfo.exe in C:\Windows\System32 and C:\Windows\SysWOW64
Delete /REBOOTOK $WINDIR\SysWow64\vulkaninfo.exe
- Delete /REBOOTOK "$WINDIR\SysWow64\vulkaninfo-$FileVersion.exe"
Delete /REBOOTOK $WINDIR\System32\vulkaninfo.exe
- Delete /REBOOTOK "$WINDIR\System32\vulkaninfo-$FileVersion.exe"
- # Delete vullkan dll files: vulkan-<majorabi>.dll and vulkan-<majorabi>-<major>-<minor>-<patch>-<buildno>.dll
+ # Delete vulkan-<majorabi>.dll in C:\Windows\System32 and C:\Windows\SysWOW64
Delete /REBOOTOK $WINDIR\SysWow64\vulkan-${VERSION_ABI_MAJOR}.dll
- Delete /REBOOTOK $WINDIR\SysWow64\vulkan-$FileVersion.dll
Delete /REBOOTOK $WINDIR\System32\vulkan-${VERSION_ABI_MAJOR}.dll
- Delete /REBOOTOK $WINDIR\System32\vulkan-$FileVersion.dll
# Else, running on a 32-bit OS machine
${Else}
# Delete vulkaninfo.exe in C:\Windows\System32
Delete /REBOOTOK $WINDIR\System32\vulkaninfo.exe
- Delete /REBOOTOK "$WINDIR\System32\vulkaninfo-$FileVersion.exe"
- # Delete vullkan dll files: vulkan-<majorabi>.dll and vulkan-<majorabi>-<major>-<minor>-<patch>-<buildno>.dll
+ # Delete vulkan-<majorabi>.dll in C:\Windows\System32
Delete /REBOOTOK $WINDIR\System32\vulkan-${VERSION_ABI_MAJOR}.dll
- Delete /REBOOTOK $WINDIR\System32\vulkan-$FileVersion.dll
${EndIf}
StrCpy $1 80
Call un.CheckForError
+ # If Ref Count is zero, remove files in C:\Windows\System32 and C:\Windows\SysWow64
+ ${If} $IC <= 0
+
+ ${If} ${RunningX64}
+ # Delete vulkaninfo.exe in C:\Windows\System32 and C:\Windows\SysWOW64
+ Delete /REBOOTOK "$WINDIR\SysWow64\vulkaninfo-$FileVersion.exe"
+ Delete /REBOOTOK "$WINDIR\System32\vulkaninfo-$FileVersion.exe"
+ # Delete vulkan-<majorabi>-<major>-<minor>-<patch>-<buildno>.dll from sys dirs
+ Delete /REBOOTOK $WINDIR\SysWow64\vulkan-$FileVersion.dll
+ Delete /REBOOTOK $WINDIR\System32\vulkan-$FileVersion.dll
+ ${Else}
+ # Delete vulkaninfo.exe in C:\Windows\System32
+ Delete /REBOOTOK "$WINDIR\System32\vulkaninfo-$FileVersion.exe"
+ # Delete vulkan-<majorabi>-<major>-<minor>-<patch>-<buildno>.dll from sys dir
+ Delete /REBOOTOK $WINDIR\System32\vulkan-$FileVersion.dll
+ ${EndIf}
+
+ ${Endif}
+
# Run the ConfigLayersAndVulkanDLL.ps1 script to copy the most recent version of
# vulkan-<abimajor>-*.dll to vulkan-<abimajor>.dll, and to set up layer registry
# entries to use layers from the corresponding SDK
@@ -664,7 +677,7 @@ Section "uninstall"
${Endif}
Call un.CheckForError
- # If Ref Count is zero, uninstall everything
+ # If Ref Count is zero, remove install dir
${If} $IC <= 0
# Remove files in install dir
commit 176929e69f3ff59fe70b6bd390be12e82038c92c
Author: Rene Lindsay <rene@lunarg.com>
Date: Wed Jun 22 15:46:48 2016 -0700
demos: Check global extensions before creating surface
diff --git a/demos/vulkaninfo.c b/demos/vulkaninfo.c
index ec3fcd5..51a4b47 100644
--- a/demos/vulkaninfo.c
+++ b/demos/vulkaninfo.c
@@ -483,7 +483,7 @@ static void app_dev_init(struct app_dev *dev, struct app_gpu *gpu) {
};
VkResult U_ASSERT_ONLY err;
- //Device extensions
+ // Device extensions
app_get_physical_device_layer_extensions(
gpu, NULL, &gpu->device_extension_count, &gpu->device_extensions);
@@ -584,7 +584,8 @@ static void app_get_instance_extensions(struct app_instance *inst) {
// Collect global extensions
inst->global_extension_count = 0;
- // Gets instance extensions, if no layer was specified in the first paramteter
+ // Gets instance extensions, if no layer was specified in the first
+ // paramteter
app_get_global_layer_extensions(NULL, &inst->global_extension_count,
&inst->global_extensions);
}
@@ -600,8 +601,9 @@ static void app_create_instance(struct app_instance *inst) {
// extension names
for (i = 0; (i < inst->global_extension_count); i++) {
const char *found_name = inst->global_extensions[i].extensionName;
- if (!strcmp(VK_KHR_SURFACE_EXTENSION_NAME, found_name))
- {ext_names[ext_count++] = VK_KHR_SURFACE_EXTENSION_NAME;}
+ if (!strcmp(VK_KHR_SURFACE_EXTENSION_NAME, found_name)) {
+ ext_names[ext_count++] = VK_KHR_SURFACE_EXTENSION_NAME;
+ }
}
if (ext_count)
@@ -610,20 +612,24 @@ static void app_create_instance(struct app_instance *inst) {
i++) {
const char *found_name = inst->global_extensions[i].extensionName;
#ifdef VK_USE_PLATFORM_WIN32_KHR
- if (!strcmp(VK_KHR_WIN32_SURFACE_EXTENSION_NAME, found_name))
- {ext_names[ext_count++] = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;}
+ if (!strcmp(VK_KHR_WIN32_SURFACE_EXTENSION_NAME, found_name)) {
+ ext_names[ext_count++] = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
+ }
#endif
#ifdef VK_USE_PLATFORM_XCB_KHR
- if (!strcmp(VK_KHR_XCB_SURFACE_EXTENSION_NAME, found_name))
- {ext_names[ext_count++] = VK_KHR_XCB_SURFACE_EXTENSION_NAME;}
+ if (!strcmp(VK_KHR_XCB_SURFACE_EXTENSION_NAME, found_name)) {
+ ext_names[ext_count++] = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
+ }
#endif
#ifdef VK_USE_PLATFORM_XLIB_KHR
- if (!strcmp(VK_KHR_XLIB_SURFACE_EXTENSION_NAME, found_name))
- {ext_names[ext_count++] = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;}
+ if (!strcmp(VK_KHR_XLIB_SURFACE_EXTENSION_NAME, found_name)) {
+ ext_names[ext_count++] = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
+ }
#endif
#ifdef VK_USE_PLATFORM_ANDROID_KHR
- if (!strcmp(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, found_name))
- {ext_names[ext_count++] = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;}
+ if (!strcmp(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, found_name)) {
+ ext_names[ext_count++] = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
+ }
#endif
}
// If we don't find the KHR_SURFACE extension and at least one other
@@ -1240,6 +1246,17 @@ app_dump_extensions(const char *indent, const char *layer_name,
fflush(stdout);
}
+// Returns true if the named extension is in the list of extensions.
+static bool has_extension(const char *extension_name,
+ const uint32_t extension_count,
+ const VkExtensionProperties *extension_properties) {
+ for (uint32_t i = 0; i < extension_count; i++) {
+ if (!strcmp(extension_name, extension_properties[i].extensionName))
+ return true;
+ }
+ return false;
+}
+
static void app_gpu_dump_queue_props(const struct app_gpu *gpu, uint32_t id) {
const VkQueueFamilyProperties *props = &gpu->queue_props[id];
@@ -1319,7 +1336,7 @@ static void app_gpu_dump(const struct app_gpu *gpu) {
uint32_t i;
printf("\nDevice Properties and Extensions :\n");
- printf( "==================================\n");
+ printf("==================================\n");
printf("GPU%u\n", gpu->id);
app_gpu_dump_props(gpu);
printf("\n");
@@ -1387,7 +1404,7 @@ int main(int argc, char **argv) {
app_create_instance(&inst);
printf("\nInstance Extensions:\n");
- printf( "====================\n");
+ printf("====================\n");
app_dump_extensions("", "Instance", inst.global_extension_count,
inst.global_extensions);
@@ -1425,19 +1442,19 @@ int main(int argc, char **argv) {
layer_prop->layerName, (char *)layer_prop->description,
spec_version, layer_version);
- app_dump_extensions("\t","Layer",
+ app_dump_extensions("\t", "Layer",
inst.global_layers[i].extension_count,
inst.global_layers[i].extension_properties);
- char* layerName=inst.global_layers[i].layer_properties.layerName;
- printf("\tDevices \tcount = %d\n",gpu_count);
+ char *layerName = inst.global_layers[i].layer_properties.layerName;
+ printf("\tDevices \tcount = %d\n", gpu_count);
for (uint32_t j = 0; j < gpu_count; j++) {
printf("\t\tGPU id : %u (%s)\n", j, gpus[j].props.deviceName);
- uint32_t count=0;
- VkExtensionProperties* props;
+ uint32_t count = 0;
+ VkExtensionProperties *props;
app_get_physical_device_layer_extensions(&gpus[j], layerName,
&count, &props);
- app_dump_extensions("\t\t","Layer-Device",count,props);
+ app_dump_extensions("\t\t", "Layer-Device", count, props);
free(props);
}
printf("\n");
@@ -1453,39 +1470,48 @@ int main(int argc, char **argv) {
//--WIN32--
#ifdef VK_USE_PLATFORM_WIN32_KHR
- app_create_win32_window(&inst);
- for (i = 0; i < gpu_count; i++) {
- app_create_win32_surface(&inst, &gpus[i]);
- printf("GPU id : %u (%s)\n", i, gpus[i].props.deviceName);
- printf("Surface type : %s\n", VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
- formatCount += app_dump_surface_formats(&inst, &gpus[i]);
- app_destroy_surface(&inst);
+ if (has_extension(VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
+ inst.global_extension_count, inst.global_extensions)) {
+ app_create_win32_window(&inst);
+ for (i = 0; i < gpu_count; i++) {
+ app_create_win32_surface(&inst, &gpus[i]);
+ printf("GPU id : %u (%s)\n", i, gpus[i].props.deviceName);
+ printf("Surface type : %s\n", VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
+ formatCount += app_dump_surface_formats(&inst, &gpus[i]);
+ app_destroy_surface(&inst);
+ }
+ app_destroy_win32_window(&inst);
}
- app_destroy_win32_window(&inst);
#endif
//--XCB--
#ifdef VK_USE_PLATFORM_XCB_KHR
- app_create_xcb_window(&inst);
- for (i = 0; i < gpu_count; i++) {
- app_create_xcb_surface(&inst, &gpus[i]);
- printf("GPU id : %u (%s)\n", i, gpus[i].props.deviceName);
- printf("Surface type : %s\n", VK_KHR_XCB_SURFACE_EXTENSION_NAME);
- formatCount += app_dump_surface_formats(&inst, &gpus[i]);
- app_destroy_surface(&inst);
+ if (has_extension(VK_KHR_XCB_SURFACE_EXTENSION_NAME,
+ inst.global_extension_count, inst.global_extensions)) {
+ app_create_xcb_window(&inst);
+ for (i = 0; i < gpu_count; i++) {
+ app_create_xcb_surface(&inst, &gpus[i]);
+ printf("GPU id : %u (%s)\n", i, gpus[i].props.deviceName);
+ printf("Surface type : %s\n", VK_KHR_XCB_SURFACE_EXTENSION_NAME);
+ formatCount += app_dump_surface_formats(&inst, &gpus[i]);
+ app_destroy_surface(&inst);
+ }
+ app_destroy_xcb_window(&inst);
}
- app_destroy_xcb_window(&inst);
#endif
//--XLIB--
#ifdef VK_USE_PLATFORM_XLIB_KHR
- app_create_xlib_window(&inst);
- for (i = 0; i < gpu_count; i++) {
- app_create_xlib_surface(&inst, &gpus[i]);
- printf("GPU id : %u (%s)\n", i, gpus[i].props.deviceName);
- printf("Surface type : %s\n", VK_KHR_XLIB_SURFACE_EXTENSION_NAME);
- formatCount += app_dump_surface_formats(&inst, &gpus[i]);
- app_destroy_surface(&inst);
+ if (has_extension(VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
+ inst.global_extension_count, inst.global_extensions)) {
+ app_create_xlib_window(&inst);
+ for (i = 0; i < gpu_count; i++) {
+ app_create_xlib_surface(&inst, &gpus[i]);
+ printf("GPU id : %u (%s)\n", i, gpus[i].props.deviceName);
+ printf("Surface type : %s\n", VK_KHR_XLIB_SURFACE_EXTENSION_NAME);
+ formatCount += app_dump_surface_formats(&inst, &gpus[i]);
+ app_destroy_surface(&inst);
+ }
+ app_destroy_xlib_window(&inst);
}
- app_destroy_xlib_window(&inst);
#endif
// TODO: Android / Wayland / MIR
if (!formatCount)
commit 964416c1e34fced990b3f24ba47005b11c725c37
Author: Tony Barbour <tony@LunarG.com>
Date: Wed Jun 22 15:24:24 2016 -0600
layers: Update json files - VK_EXT_debug_report v3
Change-Id: Ifdabdd288b965b17d1af31c443909da7469df63a
diff --git a/layers/linux/VkLayer_core_validation.json b/layers/linux/VkLayer_core_validation.json
index 85ed1a0..9ed677d 100644
--- a/layers/linux/VkLayer_core_validation.json
+++ b/layers/linux/VkLayer_core_validation.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/linux/VkLayer_device_limits.json b/layers/linux/VkLayer_device_limits.json
index 94abcd1..fa7bf9e 100644
--- a/layers/linux/VkLayer_device_limits.json
+++ b/layers/linux/VkLayer_device_limits.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/linux/VkLayer_image.json b/layers/linux/VkLayer_image.json
index a17ff94..4638d4b 100644
--- a/layers/linux/VkLayer_image.json
+++ b/layers/linux/VkLayer_image.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/linux/VkLayer_object_tracker.json b/layers/linux/VkLayer_object_tracker.json
index 8d7ce1d..689c165 100644
--- a/layers/linux/VkLayer_object_tracker.json
+++ b/layers/linux/VkLayer_object_tracker.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/linux/VkLayer_parameter_validation.json b/layers/linux/VkLayer_parameter_validation.json
index 6f06a42..44a67ad 100644
--- a/layers/linux/VkLayer_parameter_validation.json
+++ b/layers/linux/VkLayer_parameter_validation.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/linux/VkLayer_swapchain.json b/layers/linux/VkLayer_swapchain.json
index 5e20ebf..a3b70a4 100644
--- a/layers/linux/VkLayer_swapchain.json
+++ b/layers/linux/VkLayer_swapchain.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/linux/VkLayer_threading.json b/layers/linux/VkLayer_threading.json
index ebe98ed..2299dcc 100644
--- a/layers/linux/VkLayer_threading.json
+++ b/layers/linux/VkLayer_threading.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_core_validation.json b/layers/windows/VkLayer_core_validation.json
index f230d9d..95ec05d 100644
--- a/layers/windows/VkLayer_core_validation.json
+++ b/layers/windows/VkLayer_core_validation.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_device_limits.json b/layers/windows/VkLayer_device_limits.json
index 05f62ab..a0c3fd5 100644
--- a/layers/windows/VkLayer_device_limits.json
+++ b/layers/windows/VkLayer_device_limits.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_image.json b/layers/windows/VkLayer_image.json
index d9d091c..7033a09 100644
--- a/layers/windows/VkLayer_image.json
+++ b/layers/windows/VkLayer_image.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_object_tracker.json b/layers/windows/VkLayer_object_tracker.json
index b63b0bb..0c28941 100644
--- a/layers/windows/VkLayer_object_tracker.json
+++ b/layers/windows/VkLayer_object_tracker.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_parameter_validation.json b/layers/windows/VkLayer_parameter_validation.json
index a2f983d..c1187a3 100644
--- a/layers/windows/VkLayer_parameter_validation.json
+++ b/layers/windows/VkLayer_parameter_validation.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_swapchain.json b/layers/windows/VkLayer_swapchain.json
index a3def9a..ac6e248 100644
--- a/layers/windows/VkLayer_swapchain.json
+++ b/layers/windows/VkLayer_swapchain.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
diff --git a/layers/windows/VkLayer_threading.json b/layers/windows/VkLayer_threading.json
index a874e6a..54b2125 100644
--- a/layers/windows/VkLayer_threading.json
+++ b/layers/windows/VkLayer_threading.json
@@ -10,7 +10,7 @@
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
- "spec_version": "2"
+ "spec_version": "3"
}
]
}
commit 31df808aa1e44ddbfa52a26214d4728f87d98d09
Author: Mark Young <marky@lunarg.com>
Date: Wed Jun 22 15:25:00 2016 -0600
loader: Fix version info on manifest string.
Debug_report manifest string version was incorrect because of
the new version parsing code I had put in place.
Change-Id: I48d40b131bc3efd573d08576573ee9a4060a7332
diff --git a/loader/loader.c b/loader/loader.c
index 1e74a6d..5b12306 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2480,6 +2480,8 @@ void loader_icd_scan(const struct loader_instance *inst,
return;
}
char *file_vers = cJSON_Print(item);
+ loader_log(inst, VK_DEBUG_REPORT_INFORMATION_BIT_EXT, 0,
+ "Found manifest file %s, version %s", file_str, file_vers);
// Get the major/minor/and patch as integers for easier comparison
vers_tok = strtok(file_vers, ".\"\n\r");
if (NULL != vers_tok) {
@@ -2493,8 +2495,6 @@ void loader_icd_scan(const struct loader_instance *inst,
}
}
}
- loader_log(inst, VK_DEBUG_REPORT_INFORMATION_BIT_EXT, 0,
- "Found manifest file %s, version %s", file_str, file_vers);
if (file_major_vers != 1 || file_minor_vers != 0 || file_patch_vers > 1)
loader_log(inst, VK_DEBUG_REPORT_WARNING_BIT_EXT, 0,
"Unexpected manifest file version (expected 1.0.0 or 1.0.1), may "
commit 3897687aefcad30d46d08fc3a8bd6097c2486595
Author: David Pinedo <david@lunarg.com>
Date: Wed Jun 22 10:37:55 2016 -0600
windowsbuild: chmod -x update_external_sources.bat
diff --git a/update_external_sources.bat b/update_external_sources.bat
old mode 100755
new mode 100644
commit 703d10c95a7e6434c972c30195c5e3709e8e8c80
Author: Rene Lindsay <rene@lunarg.com>
Date: Wed Jun 22 09:00:12 2016 -0600
demos: LX535 Remove deprecated device layers.
Change-Id: I8f4bbac6d124ef18f4fb3edd0da5acf308d6f7a1
diff --git a/demos/vulkaninfo.c b/demos/vulkaninfo.c
index 5a5409d..ec3fcd5 100644
--- a/demos/vulkaninfo.c
+++ b/demos/vulkaninfo.c
@@ -154,9 +154,6 @@ struct app_gpu {
VkPhysicalDeviceFeatures features;
VkPhysicalDevice limits;
- uint32_t device_layer_count;
- struct layer_extension_list *device_layers;
-
uint32_t device_extension_count;
VkExtensionProperties *device_extensions;
@@ -486,49 +483,7 @@ static void app_dev_init(struct app_dev *dev, struct app_gpu *gpu) {
};
VkResult U_ASSERT_ONLY err;
- uint32_t count = 0;
-
- // Scan layers
- VkLayerProperties *device_layer_properties = NULL;
- struct layer_extension_list *device_layers = NULL;
-
- do {
- err = vkEnumerateDeviceLayerProperties(gpu->obj, &count, NULL);
- assert(!err);
-
- if (device_layer_properties) {
- free(device_layer_properties);
- }
- device_layer_properties = malloc(sizeof(VkLayerProperties) * count);
- assert(device_layer_properties);
-
- if (device_layers) {
- free(device_layers);
- }
- device_layers = malloc(sizeof(struct layer_extension_list) * count);
- assert(device_layers);
-
- err = vkEnumerateDeviceLayerProperties(gpu->obj, &count,
- device_layer_properties);
- } while (err == VK_INCOMPLETE);
- assert(!err);
-
- gpu->device_layer_count = count;
- gpu->device_layers = device_layers;
-
- for (uint32_t i = 0; i < gpu->device_layer_count; i++) {
- VkLayerProperties *src_info = &device_layer_properties[i];
- struct layer_extension_list *dst_info = &gpu->device_layers[i];
- memcpy(&dst_info->layer_properties, src_info,
- sizeof(VkLayerProperties));
-
- // Save away layer extension info for report
- app_get_physical_device_layer_extensions(
- gpu, src_info->layerName, &dst_info->extension_count,
- &dst_info->extension_properties);
- }
- free(device_layer_properties);
-
+ //Device extensions
app_get_physical_device_layer_extensions(
gpu, NULL, &gpu->device_extension_count, &gpu->device_extensions);
Reply to: