Jeremy Kniager [Wed, 27 Jun 2018 17:49:49 +0000 (11:49 -0600)]
vulkaninfo: Add VK_KHR_maintenance3 support
Added output for VkPhysicalDeviceMaintenance3Properties
struct info.
Change-Id: I8c7a21e27d0bdaf77af49881d777764f854d874c
Jeremy Kniager [Mon, 25 Jun 2018 17:56:55 +0000 (11:56 -0600)]
cmake: Update CMake to check env for MoltenVK
Updated CMake files to use MOLTENVK_REPO_ROOT as an
environment variable if no CMake argument is provided.
CMake argument takes priority over environment variable.
Change-Id: I661a56f7bc6c8c43fe4d4f7013e26dde87fb41e4
Mike Weiblen [Tue, 26 Jun 2018 20:47:37 +0000 (14:47 -0600)]
build: Insert copyright in cmake files
Mike Weiblen [Tue, 26 Jun 2018 19:47:34 +0000 (13:47 -0600)]
cmake: Add Kitware copyright
Get latest Kitware copyright notice from
https://gitlab.kitware.com/cmake/cmake/blob/master/Copyright.txt @ d45d5e2
Mark Lobodzinski [Tue, 26 Jun 2018 19:21:04 +0000 (13:21 -0600)]
repo: Update json files from 1.1.77 to 1.1.78
Tobin Ehlis [Fri, 22 Jun 2018 13:05:57 +0000 (07:05 -0600)]
docs:Fix Linux cmake instructions
Missing ".."
Jeremy Kniager [Tue, 19 Jun 2018 23:26:13 +0000 (17:26 -0600)]
header: Update MacOS json files to 1.1.77 header
Change-Id: I41477ea32e73987983baee80e1b8fbd3e0f3d671
Lenny Komow [Tue, 19 Jun 2018 21:44:42 +0000 (15:44 -0600)]
winrt: Update line wrapping in license file
Karl Schultz [Tue, 19 Jun 2018 01:51:43 +0000 (19:51 -0600)]
doc: Update BUILD.md [skip ci]
Karl Schultz [Mon, 18 Jun 2018 22:49:45 +0000 (16:49 -0600)]
build: Fix dest of vcxproj file copy
These vcxproj.user files are not useful anyway since the
layers dir isn't here. But this fix at least prevents the
creation of a demos directory in the build dir.
Cody Northrop [Fri, 15 Jun 2018 21:16:11 +0000 (15:16 -0600)]
android: Restore toolchain update in build_all
Karl Schultz [Fri, 15 Jun 2018 20:17:00 +0000 (14:17 -0600)]
docs: Fix typos in BUILD.md [skip ci]
Lenny Komow [Thu, 14 Jun 2018 22:21:18 +0000 (16:21 -0600)]
winrt: Add the windows runtime installer sources
Karl Schultz [Thu, 14 Jun 2018 15:03:15 +0000 (09:03 -0600)]
ci: Clean up AppVeyor config file
- Use -A CMake argument instead of creating a generator string
based on the worker image and architecture. Instead, set the
architecture (platform Win32 or x64) with -A and take whatever
Visual Studio version is provided by the worker image. The
worker image is specified by the "os" config property.
- Reduce jobs from 4 to 2
- Remove AppVeyor caching of the external directory; this
directory was not being used anyway.
Mark Lobodzinski [Wed, 13 Jun 2018 20:25:37 +0000 (14:25 -0600)]
header: Update json files to match 1.1.77 header
Mark Lobodzinski [Wed, 13 Jun 2018 17:34:08 +0000 (11:34 -0600)]
scripts: Remove local copies of registry files
Mark Lobodzinski [Wed, 13 Jun 2018 17:33:15 +0000 (11:33 -0600)]
build: Use registry files from vulkan-headers
Mark Lobodzinski [Wed, 13 Jun 2018 17:03:46 +0000 (11:03 -0600)]
cmake: Use FindVulkanHeaders to get vulkan includes
Mark Lobodzinski [Wed, 13 Jun 2018 16:34:54 +0000 (10:34 -0600)]
scripts: Rename helper file generator script
Mark Lobodzinski [Wed, 13 Jun 2018 17:37:44 +0000 (11:37 -0600)]
scripts: Rename lvl_genvk.py to kvt_genvk.py
Mark Lobodzinski [Wed, 13 Jun 2018 17:32:29 +0000 (11:32 -0600)]
icd: Update for changes in 1.1.75 registry
Mark Lobodzinski [Tue, 12 Jun 2018 16:30:18 +0000 (10:30 -0600)]
cmake: Prevent redefinition of uninstall target
Allows for this repo to be included as a submodule of another
repo that defines its own uninstall target. The uninstall target
is best defined at the top-level repo.
Karl Schultz [Thu, 7 Jun 2018 22:55:11 +0000 (16:55 -0600)]
repo: Remove interim REPO_ROOT CMake code
And a few other misc cleanups
Jeremy Kniager [Thu, 7 Jun 2018 17:56:08 +0000 (11:56 -0600)]
cmake: Fix macOS CMake files to include dylib file
Fixed CMake files for macOS to include the vulkan dylib loader
file in the bundles instead of the vulkan framework file.
Change-Id: Ib59873fc392c8894d8a85b5a10bc0f17aa29061a
Karl Schultz [Wed, 6 Jun 2018 17:13:37 +0000 (11:13 -0600)]
android: Fix CI for Android
Karl Schultz [Tue, 5 Jun 2018 20:21:36 +0000 (14:21 -0600)]
repo: Reorg to remove Vulkan-Headers submodule
- Remove Vulkan-Headers submodule
- Add CMake code to add VULKAN_HEADERS_INSTALL_DIR and
VULKAN_LOADER_INSTALL_DIR to search when locating
Vulkan headers and loader
- CI adjustments for new model
- BUILD.md updates
- Travis-CI Android build temporarily disabled
Fixes #20
Karl Schultz [Tue, 5 Jun 2018 21:47:53 +0000 (15:47 -0600)]
ci: fix travis syntax bug
Karl Schultz [Tue, 5 Jun 2018 16:50:43 +0000 (10:50 -0600)]
build: Fix CI for updated Vulkan-Loader
Adapt to Vulkan-Loader getting rid of Vulkan-Headers submodule.
Get and build Vulkan-Headers and fix Vulkan-Loader build to use it.
Tony-LunarG [Wed, 30 May 2018 20:53:14 +0000 (14:53 -0600)]
cube: Fix separate present queue validation errors
From the spec:
Whilst it is not invalid to provide destination or source access
masks for memory barriers used for release or acquire operations,
respectively, they have no practical effect. Access after a release
operation has undefined results, and so visibility for those accesses
has no practical effect. Similarly, write access before an acquire
operation will produce undefined results for future access,
so availability of those writes has no practical use. In an earlier
version of the specification, these were required to match on both
sides - but this was subsequently relaxed.
These masks should be set to 0.
Change-Id: I495dc86ad62c0651fbc6acbfb0dfbb8245a324be
Mark Young [Mon, 4 Jun 2018 22:28:24 +0000 (16:28 -0600)]
docs: Update build doc
Change-Id: I8764e470fe11646fc13cc62e73761c09e2779f6a
Tony-LunarG [Wed, 30 May 2018 17:33:19 +0000 (11:33 -0600)]
cube: Explicitly set QueueFamilyIndex(s) to QUEUE_FAMILY_IGNORED
The QueueFamilyIndex fields only come into play when you want
to use an image in two or more queues from different queue
families, which cube does not do.
Change-Id: I610aa8899539eeb25ca06254b88e6a6d0a2ffc97
Karl Schultz [Tue, 29 May 2018 19:09:22 +0000 (13:09 -0600)]
build: Add cube(pp) to install target
- Modify cube and cubepp to obtain the texture image data from
an include file instead of reading a PPM file at runtime.
(This is the way it works for Android)
This removes the need to install an image file or otherwise
make an image file available in a repo build.
- Add cube and cubepp to the install target.
Note: The file handling code is left in place to make it easy
to add a "-texture_file <file>" option so a user can pass in
a texture file.
Fixes #5
Mark Young [Wed, 30 May 2018 14:43:00 +0000 (08:43 -0600)]
cube: Remove last DebugReport
We still had the debug report detection code in cube. This removes
the last bits of it.
Change-Id: I09559cd56ee4779453221c810d8328cb4c864aef
Karl Schultz [Mon, 28 May 2018 22:16:47 +0000 (16:16 -0600)]
cube: Add missing free in IPD code
Fixes #11
Jeremy Kniager [Tue, 22 May 2018 15:20:38 +0000 (09:20 -0600)]
cmake: Add WSI Build Support Options
Fixed CMakelists.txt for vulkaninfo
to generate build files on
Linux with the selected WSI options.
Change-Id: Ied83f0e24dbd08af2ef03066fdfa1443203aa4ad
Karl Schultz [Mon, 28 May 2018 21:14:19 +0000 (15:14 -0600)]
build: Enable install targets on Windows
Note: cube is not yet being installed.
William Henning [Thu, 24 May 2018 20:14:15 +0000 (14:14 -0600)]
icd: Add a memory format that is unsupported
Hard code into the mock ICD that the memory type at index 3 is
unsupported. This allows the BindImageInvalidMemoryType test in the
validation layers to be run without skipping.
William Henning [Thu, 24 May 2018 20:49:16 +0000 (14:49 -0600)]
icd: Hard code unsupported image formats
Hard code that the mock ICD does not support
VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, an arbitrary image format not
currently used in any validation layers test. Additionally hard code
that the mock ICD doesn't images created with a sample count of 64 bits.
These hardcoded unsupported image formats git the
CreateImageFormatSupportErrors and CreateImageMaxLimitsViolation tests
in the validation layers to run.
William Henning [Wed, 23 May 2018 20:45:43 +0000 (14:45 -0600)]
icd: Add external buffers, fences, and semaphores
Added calls to vkGetPhysicalDeviceExternal buffer, fence, and semaphore
properties that support for features and handle types.
Karl Schultz [Thu, 24 May 2018 21:30:09 +0000 (15:30 -0600)]
build: Fix mock ICD install issues
- Use correct (icd.d) directory
- Make ICD installation OFF by default
- Fix up docs
Fixes #17
Mike Schuchardt [Tue, 22 May 2018 22:48:10 +0000 (16:48 -0600)]
header: Update Vulkan-Headers submodule to 1.1.75
Change-Id: I7cfbb6e3ffb99308f3a77357f6184489aae322af
William Henning [Thu, 24 May 2018 16:55:48 +0000 (10:55 -0600)]
icd: Enable the VK_KHR_push_descriptor extension
Enabled this extension and updated vkGetPhysicalDeviceProperties2KHR to
fill out the push descriptor properties struct if it's in the pNext
chain.
Mark Lobodzinski [Tue, 22 May 2018 20:59:13 +0000 (14:59 -0600)]
cmake: Fix LOADER_REPO_ROOT pointing to SDK
Mark Lobodzinski [Tue, 22 May 2018 20:41:57 +0000 (14:41 -0600)]
scripts: Fix glslang fetch script for odd builds
Used scirpt location instead of current location as basis for glslang
component installation.
Tony-LunarG [Tue, 22 May 2018 19:26:26 +0000 (13:26 -0600)]
Tools: Better search for glslang + loader
Change-Id: I1652a5bc29623980e80dad168997fd75d08467e8
Mark Lobodzinski [Tue, 22 May 2018 14:40:49 +0000 (08:40 -0600)]
cube: Change glslang location logic for INSTALL_DIR
Now respects GLSLANG_INSTALL_DIR, for instance, if Vulkan-Tools is a
submodule of another repository. Also updated build doc.
Mark Lobodzinski [Tue, 22 May 2018 04:16:38 +0000 (22:16 -0600)]
cmake: Rename uninstall target to prevent collisions
Cmake does not have an uninstall function, and multiple repositories
cannot have targets with the same name. The 'uninstall' target is to
generic, so renaming this target to 'uninstall-Vulkan-Tools'.
Jeremy Kniager [Thu, 17 May 2018 17:52:38 +0000 (11:52 -0600)]
docs: Update BUILD.md to reflect CMake changes
Updated BUILD.md to reflect the changes in the
MacOS build workflow after the repo split.
Change-Id: Iff5f89c960b73fec0d1f0b08c7aa448da4873384
Jeremy Kniager [Thu, 17 May 2018 17:15:43 +0000 (11:15 -0600)]
cmake: Update CMake files to build for MacOS
Updated CMake scripts to add building for MacOS
Change-Id: I413f79e337d33f37891092da97380597e28c8257
Mark Lobodzinski [Mon, 21 May 2018 19:40:04 +0000 (13:40 -0600)]
docs: Clarify loader build requirements
Mark Lobodzinski [Mon, 21 May 2018 15:22:01 +0000 (09:22 -0600)]
cmake: Change name of helper-file cmake target
Cmake won't tolerate multiple build targets withing a project.
Generate_helper_files has been renamed to resolve conflicts with
other repos.
Mark Lobodzinski [Wed, 16 May 2018 20:01:01 +0000 (14:01 -0600)]
docs: Update build.md for glslang location
Mark Lobodzinski [Tue, 15 May 2018 20:11:53 +0000 (14:11 -0600)]
cube: Download glslangValidator binary
Obviates the need to set GLSLANG_REPO_ROOT or to have glslang
otherwise installed for building this repo.
Cody Northrop [Wed, 16 May 2018 19:54:37 +0000 (13:54 -0600)]
android: Update vulkan_wrapper, add source script
* Finally check in the script that generates the wrapper
* Update the script to handle split vulkan files
* Update the checked in vulkan_wrapper.*
* Add a README descrbing how to use the script
Cody Northrop [Tue, 15 May 2018 18:08:52 +0000 (12:08 -0600)]
android: Fixes for cube
This restores files that were dropped during the split.
Also migrates support files to this repo, which we will remove
from Vulkan-ValidationLayers and treat like a submodule.
Updates to travis to build cube.
Karl Schultz [Tue, 15 May 2018 16:47:42 +0000 (10:47 -0600)]
build: Enable install target on Linux
Now installs vulkaninfo and mock ICD.
Not yet installing cube(pp) pending decision on issue #5.
Mark Lobodzinski [Mon, 14 May 2018 20:34:58 +0000 (14:34 -0600)]
docs: Update build.md w/loader repo root info
Mark Lobodzinski [Sun, 13 May 2018 18:09:14 +0000 (12:09 -0600)]
docs: More BUILD.md updates
Added some TODOs.
Mark Lobodzinski [Sun, 13 May 2018 17:40:09 +0000 (11:40 -0600)]
repo: Updated .gitignore file for new structure
Mark Lobodzinski [Sun, 13 May 2018 15:53:14 +0000 (09:53 -0600)]
vulkaninfo: Moved new macOS files into new location
Karl Schultz [Sun, 13 May 2018 00:17:39 +0000 (18:17 -0600)]
repo: Turn on AppVeyor CI
Karl Schultz [Sat, 12 May 2018 23:13:33 +0000 (17:13 -0600)]
repo: Turn on Travis-CI
Add test to run vulkaninfo with mock ICD.
Mark Lobodzinski [Sat, 12 May 2018 22:59:30 +0000 (16:59 -0600)]
cmake: Fix GLSLANG_REPO_ROOT for Linux
Mark Lobodzinski [Sat, 12 May 2018 22:43:33 +0000 (16:43 -0600)]
cmake: Use GLSLANG_REPO_ROOT to find glslangValidator
Mark Lobodzinski [Sat, 12 May 2018 22:00:00 +0000 (16:00 -0600)]
cmake: Add FindVulkan.cmake for older cmake installs
Mark Lobodzinski [Sat, 12 May 2018 21:58:15 +0000 (15:58 -0600)]
cmake: Add LOADER_REPO_ROOT to repo
Also added in warning if git submodule update --init is not run.
Karl Schultz [Sat, 12 May 2018 20:38:31 +0000 (14:38 -0600)]
repo: Fix git submodules and AppVayor badge
Mark Lobodzinski [Sat, 12 May 2018 03:15:07 +0000 (21:15 -0600)]
scripts: Add helper file generator back in for icd
Mock ICD now uses the typemap helper, added the helper file generator
back in, along with associated lvl_genvk mods.
Mark Lobodzinski [Sat, 12 May 2018 02:19:37 +0000 (20:19 -0600)]
vulkaninfo: Fix some merge conflicts
Mark Lobodzinski [Fri, 11 May 2018 21:29:27 +0000 (15:29 -0600)]
build: Android mods to remove layers
Mark Lobodzinski [Fri, 11 May 2018 03:18:46 +0000 (21:18 -0600)]
docs: Updated markdown files for new repo content
Mark Lobodzinski [Fri, 11 May 2018 03:00:58 +0000 (21:00 -0600)]
repo: Delete include directory and subdirs
Mark Lobodzinski [Fri, 11 May 2018 03:00:28 +0000 (21:00 -0600)]
headers: Switched cmake files to Vulkan-Headers
Mark Lobodzinski [Fri, 11 May 2018 02:53:16 +0000 (20:53 -0600)]
headers: Added vulkan-headers as a submodule
Mark Lobodzinski [Fri, 11 May 2018 02:41:08 +0000 (20:41 -0600)]
vulkaninfo: Move vulkaninfo.rc file
Change-Id: Ic974500a0334a9de0bb7317f6aa77693cfa36869
Mark Lobodzinski [Fri, 11 May 2018 02:40:18 +0000 (20:40 -0600)]
repo: Delete unused files
Change-Id: I4a8985b087ac999fdcebfc61c812ff0c1f6b91bf
Mark Lobodzinski [Fri, 11 May 2018 02:34:08 +0000 (20:34 -0600)]
cmake: More cmake fixups
Removed duplicate vulkaninfo directives, renamed project, killed
some dead comments.
Change-Id: Ibf580ac0fb5f8ebec0a68fe9c36f7905dbccc594
Mark Lobodzinski [Thu, 12 Apr 2018 15:19:17 +0000 (09:19 -0600)]
repo: Delete unused code generators
Change-Id: I1ef619a117c6ec9c2befe0458eb8502894ecff6c
Mark Lobodzinski [Thu, 12 Apr 2018 15:16:41 +0000 (09:16 -0600)]
repo: Delete smoketest
Change-Id: I44b5b0c5e54a1fdbbfbce6b3ebb4788f0aa5871c
Mark Lobodzinski [Wed, 11 Apr 2018 18:22:03 +0000 (12:22 -0600)]
repo: Delete glslang files
Change-Id: I42e66cf9dc4a4db7a86bc2f29086fad532b9f629
Mark Lobodzinski [Tue, 10 Apr 2018 22:33:10 +0000 (16:33 -0600)]
repo: Delete gtest submodule
Change-Id: Ib366f7550753cc2de3a65285e2a79afec48200a0
Mark Lobodzinski [Tue, 10 Apr 2018 20:01:13 +0000 (14:01 -0600)]
repo: Delete loader, layers, tests files
Change-Id: I28b8833df82946457325353cc03d3f91e6a776cf
Mark Lobodzinski [Wed, 11 Apr 2018 21:58:57 +0000 (15:58 -0600)]
android: Build cube for android
Change-Id: I0ff87c345098d51a24115bbb33cbb60a488efb45
Mark Lobodzinski [Wed, 11 Apr 2018 21:15:31 +0000 (15:15 -0600)]
cmake: Clean up main cmakelists.txt file
Delete unnecessary cmake, move non-common stuff to consitituent cmake
files.
Change-Id: I158c50511a2b9810f6b2fa198d4d8aee5a23ac93
Mark Lobodzinski [Wed, 11 Apr 2018 19:38:11 +0000 (13:38 -0600)]
cube: Move cube directory up to top level dir
Change-Id: Ie1116b0b6de742b4f85834a4c9d1927dd641e19b
Mark Lobodzinski [Wed, 11 Apr 2018 18:26:57 +0000 (12:26 -0600)]
vulkaninfo: Move vulkaninfo from demos to top level
Change-Id: Ifb946c4eacd950f8c021399b87e9437edf5533bf
Mark Lobodzinski [Wed, 11 Apr 2018 18:19:26 +0000 (12:19 -0600)]
cmake: Remove building and setup of glslang
Change-Id: If982a9c517bf2a180ba2d1cf853d49f46412b13d
Mark Lobodzinski [Thu, 12 Apr 2018 15:18:22 +0000 (09:18 -0600)]
scripts: Remove generators from lvl_genvk.py
Also remove unneeded include from common_codegen.py.
Change-Id: I1b6833acb5654217d85bbc4284713aa12fa1a104
Mark Lobodzinski [Thu, 12 Apr 2018 15:16:04 +0000 (09:16 -0600)]
demos: Remove smoketest demo from build
Change-Id: I2a958901a8ac84b782a62b80245999725f4cff3e
Mark Lobodzinski [Thu, 12 Apr 2018 15:11:49 +0000 (09:11 -0600)]
build: Add FindVulkan, disable layers, ldr, tsts
Added FindVulkan cmake helper, disabled build of layers, loader,
and tests in cmake file.
Change-Id: I30a65e3a821c58b36971298ea6f7c7515cbda444
Mark Lobodzinski [Tue, 10 Apr 2018 21:40:04 +0000 (15:40 -0600)]
layers: Add object type string helper for cube
Change-Id: I4233528c4fa60a7729a8c2985e3b2a1097234ae3
Tobin Ehlis [Fri, 11 May 2018 19:44:33 +0000 (13:44 -0600)]
icd:Add GPDP2 support for descriptor indexing
Set some default mock icd values for vkGetPhysicalDeviceProperties2
query of VkPhysicalDeviceDescriptorIndexingPropertiesEXT props.
Tobin Ehlis [Fri, 11 May 2018 17:11:34 +0000 (11:11 -0600)]
layers:Moving to GPDF2
Update layer_data struct to track safe_VkPhysicalDeviceFeatures2 struct
instead of VkPhysicalDeviceFeatures. Currently just doing previous
checks using the VkPhysicalDeviceFeatures member of GPDF2 struct. Will
follow-on with checking against extension structs.
Tobin Ehlis [Fri, 11 May 2018 13:39:16 +0000 (07:39 -0600)]
layers:Store GPDF2 struct
In PHYSICAL_DEVICE_STATE track safe_VkPhysicalDeviceFeatures2 instead
of the old VkPhysicalDeviceFeatures. Initially just passing the
VkPhysicalDeviceFeatures of VkPhysicalDeviceFeatures2 wherever this was
used. This is laying groundwork to start using/comparing extended
features in core validation.
Tobin Ehlis [Fri, 11 May 2018 16:09:41 +0000 (10:09 -0600)]
icd:Fix Windows build
Make sure we generate vk_typemap_helper.h for mock icd.
Cort Stratton [Wed, 2 May 2018 00:18:06 +0000 (20:18 -0400)]
layers: add missing VkFormatFeatureFlags checks
Checks for TRANSFER_SRC / TRANSFER_DST formats were added to:
- vkCmdClearColorImage
- vkCmdCopyImage
- vkCmdResolveImage
- vkCmdCopyImageToBuffer
- vkCmdCopyBufferToImage
These checks require VK_KHR_maintenance1 or Vulkan 1.1.
Existing checks were adapted to use the new helper function:
- vkCmdClearDepthStencilImage
- vkCmdBlitImage
Cort Stratton [Fri, 4 May 2018 18:35:18 +0000 (14:35 -0400)]
layers: Add GetApiVersion() helper
Dave Houlton [Tue, 8 May 2018 20:58:01 +0000 (14:58 -0600)]
layers: fix imageview 3D layout transition
Fix an oversight when recording a 3D image subresource layout transition
that is set by way of a 2D or 2D_ARRAY image view.
Change-Id: Ifbf7645fb2705fef6f82030f4e3e1da0e9da2f2c
Jeremy Kniager [Wed, 9 May 2018 20:23:32 +0000 (14:23 -0600)]
demos: Add MacOS surface output to vulkaninfo
Added output for a MacOSSurface in vulkaninfo
and modified the CMake files to include the
new files needed for this change:
metal_view.m Objective-C code to hook into Metal
metal_view.h metal_view.m's header file
Change-Id: Ib7f9185a86703b2a300b2ce3be46f130c90d1b6b
Tobin Ehlis [Wed, 9 May 2018 22:39:27 +0000 (16:39 -0600)]
icd:Add support for extended features queries
Update mock ICD generator so that if we have an extension that's been
promoted to core, the core version will call any existing custom
implementation of the extension function.
Update Features query to detect the two existing extension structs
(VkPhysicalDeviceDescriptorIndexingFeaturesEXT and
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT) and enable all of
those features when those queries are present.