John Zulauf [Thu, 12 Apr 2018 20:24:57 +0000 (14:24 -0600)]
layers: Refactor codegen for vk_extension_helper
Refactor vk_extension helper prior to adding extension dependency
information to code gen. Refactor to simplify feature addition.
Change-Id: I7b2902dd1a4070c83810f57c0836b50cb6ecfb86
John Zulauf [Thu, 12 Apr 2018 19:15:47 +0000 (13:15 -0600)]
loader: Eliminate warning for uninitialized value.
Added default value to severity to kill a Linux warning.
Change-Id: Iaf3e62a0fa01d74874aaec4951f9a2aa38479ca0
John Zulauf [Tue, 10 Apr 2018 19:12:34 +0000 (13:12 -0600)]
layers: Sort extension order for extension helper
Sorted the extensions by name s.t. the output of the vk_extension_helper
generator would be consistent run-to-run.
Change-Id: Ief3d822b91260e469f7f2d563076d8a79f1a1bf0
rodneyhuff [Tue, 24 Apr 2018 18:21:53 +0000 (11:21 -0700)]
Image bind count is associated with pImageBinds rather than opaque binds
Mark Lobodzinski [Tue, 24 Apr 2018 15:58:32 +0000 (11:58 -0400)]
header: Update to version 1.1.74 of Vulkan hdr
- update layer json files
- update vulkan_core.h
- update vk.xml
- update vulkan.hpp
- update validusage.json
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- maintain local changes to reg.py
Change-Id: If0c52d13f78ddfcc7c9d316386c0d20399e97668
Jeremy Kniager [Mon, 23 Apr 2018 22:55:00 +0000 (16:55 -0600)]
layers: Add handling for NULL in core post call
Added handling in
PostCallRecordGetImageSparseMemoryRequirements2
when a nullptr is passed to 'reqs'
Change-Id: I444ec733d4a172329aceb0fcbb68568700b8f535
Eskil Sund [Thu, 19 Apr 2018 14:25:20 +0000 (16:25 +0200)]
layers: Fixes from PR #2566
Eskil Sund [Fri, 6 Apr 2018 14:56:32 +0000 (16:56 +0200)]
layers: Add VALIDATION_ERROR_32a00272
This adds VALIDATION_ERROR_32a00272 to core validation layer to catch
reset of descriptor pool in-flight. Also adding an accompanying test
case and an update of the validation layer database to reflect new
validation and test.
Karl Schultz [Fri, 20 Apr 2018 16:49:41 +0000 (10:49 -0600)]
build(win): Add dep to create dir before use
Add a CMake dependency for Windows builds to create
the layers/$CONFIG directory before running any of the
other steps that copy the layer json files to this directory.
This failure was sporadic and often did not fail because
other build steps that compiled the layers often created this
directory before the copy steps executed.
Because of the difficulty in reproducing this problem, it is not
certain that this fixes the problem. However, the mac Xcode
builds were already using this pattern to achieve the same goal.
Tony Barbour [Thu, 19 Apr 2018 17:41:36 +0000 (11:41 -0600)]
layers: Validate against nonCoherentAtomSize
FlushMappedMemoryRanges and InvalidateMappedMemoryRanges check
size and offset against nonCoherentAtomSize.
Github issues 329 & 2584
Gitlab Issue 611
Change-Id: I4cbc6c21f6fe4b6187b381b2565a90c61417bee5
Lenny Komow [Thu, 19 Apr 2018 19:20:22 +0000 (13:20 -0600)]
loader: Fix a 1.0/1.1 versioning bug
Fix a bug where when mixing a 1.0 and a 1.1 driver, if the loader
stores the 1.0 driver first, the apiVersion field in vkCreateInstance
will be rewritten to 1.0 for both drivers. Now it will only be
changed for the 1.0 driver, as intended.
Change-Id: I9e7c5e0b0b7c0eb660082319dcddd9e8ef8adc61
Mike Schuchardt [Fri, 6 Apr 2018 03:45:23 +0000 (21:45 -0600)]
scripts: Add spec.py check for ext changes
When the surrounding asciidoctor conditionals of a VUID change it may
impact validation even if the VUID text does not change. Detect this in
spec.py and flag for manual intervention.
Change-Id: Idf802955ba9bbfe911edd4114fb28bdddf5fcc9b
Mike Schuchardt [Wed, 18 Apr 2018 22:06:52 +0000 (16:06 -0600)]
demos: Enable all required exts for present caps
vkGetDeviceGroupPresentCapabilitiesKHR requires VK_KHR_SURFACE and VK_KHR_SWAPCHAIN
in addition to VK_KHR_DEVICE_GROUP
Mark Young [Wed, 18 Apr 2018 21:23:43 +0000 (15:23 -0600)]
loader: Clarify loader warning
Clarify several loader warnings about layers so that they include
the name of the layer that is causing an issue.
Change-Id: Ie48d73f6cc8466c3114597831fef451b3ab32bf7
Karl Schultz [Wed, 18 Apr 2018 17:46:21 +0000 (11:46 -0600)]
macos: Specify deployment target version
This allows using the build on macOS 10.12 even if built on 10.13.
Change-Id: I21939163551bb9a0d0088513a23dc5d2cf7f5206
Tobin Ehlis [Tue, 17 Apr 2018 16:09:48 +0000 (10:09 -0600)]
scripts:Account for extnumber key to fix warnings
With the addition of the 'extnumber' key update comparison to skip over
the extnumber as well as extname in order to avoid a bunch of
irrelevant warnings.
Tobin Ehlis [Tue, 17 Apr 2018 16:06:48 +0000 (10:06 -0600)]
demos:Add const to fix build warning
Explicit "const" for ppEnabledExtensionNames to fix build warning.
fixup
Tobin Ehlis [Tue, 17 Apr 2018 16:05:20 +0000 (10:05 -0600)]
loader:Fix build warnings
Add "fall through" comments on intentional fall through switch cases to
avoid compiler warnings.
Tobin Ehlis [Tue, 17 Apr 2018 22:14:26 +0000 (16:14 -0600)]
layers:Capture rect by value to validate 2nd cb
Fixes #2587
The lambda function was only capturing the pRect pointer by value so
the underlying rect value could still be changed between when the
command was submitted to a secondary CB and when the rect was validated
at CmdExecuteCommands() time.
Copy the actual rect value so that it can't change.
Chris Forbes [Mon, 16 Apr 2018 01:31:06 +0000 (18:31 -0700)]
layers: Validate subpass dependency access vs stage masks
Petr Kraus [Sat, 14 Apr 2018 12:45:17 +0000 (14:45 +0200)]
demos: Remove undesirable gpu_count assert
to allow the useful error message to be shown instead
Tobin Ehlis [Fri, 13 Apr 2018 21:24:13 +0000 (15:24 -0600)]
layers:Update comments to avoid compiler warnings
The simple "// fall through" comment causes the compiler to omit a
warning.
Lenny Komow [Tue, 17 Apr 2018 02:09:48 +0000 (20:09 -0600)]
loader: Bump loader copyright to 2018
Change-Id: I59b80b7f4bff37ac15fd30acc3f4600164afee90
Lenny Komow [Tue, 17 Apr 2018 02:08:05 +0000 (20:08 -0600)]
demos: Add vulkaninfo.rc file
Add an rc file for vulkaninfo, which allows the version number and
copyright to be encoded into the file. This is necessary to support
new runtime installer changes.
Change-Id: I95a1b4338e3071162cca028d75b7dbd5a35d0393
Lenny Komow [Mon, 16 Apr 2018 21:54:32 +0000 (15:54 -0600)]
externals: Update to latest glslang
Change-Id: I06c15a028941fc60bd6ddcd830a8401d83193753
Jeremy Kniager [Wed, 4 Apr 2018 22:02:33 +0000 (16:02 -0600)]
vulkaninfo: Fix array length skew
Added new struct pNextChainBuildingBlockInfo
to store sType and memory size of structs for
function buildpNextChain.
Change-Id: Ia49084d2e303336f0305a68303edaaf60f74d669
Jeremy Kniager [Fri, 30 Mar 2018 21:03:25 +0000 (15:03 -0600)]
vulkaninfo: Add core 1.1 extensions
Added support for the following extensions:
VK_KHR_multiview
VK_KHR_device_group
VK_KHR_device_group_creation
Change-Id: I103fd988518339f95f0eeb7e7408ef49dec8ec22
Karl Schultz [Sat, 14 Apr 2018 00:02:07 +0000 (18:02 -0600)]
macos: Pass argc/argv through to main cube code
This allows users to specify arguments like "--c 100"
Mark Lobodzinski [Mon, 16 Apr 2018 14:15:59 +0000 (08:15 -0600)]
header: Update to version 1.1.73 of the Vulkan hdr
- update json files
- update vk.xml
- update vulkan_core.h
- update validusage.json
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- update vulkan.hpp
- removed checks for the following deprecated VUIDs related to
ImageCreateInfo and FormatProperties:
- VALIDATION_ERROR_09e007ae
- VALIDATION_ERROR_09e007b4
- VALIDATION_ERROR_09e007ac
- VALIDATION_ERROR_09e007a6
- VALIDATION_ERROR_09e007b2
- VALIDATION_ERROR_09e007a4
- VALIDATION_ERROR_09e007aa
- VALIDATION_ERROR_09e007a8
- VALIDATION_ERROR_09e007a2
- VALIDATION_ERROR_09e007b0
- modified CreateImageFormatSupportErrors test to remove killed checks
- modified ImageLayerUnsupportedFormat test to remove killed check
Change-Id: I8f1577747d87fdeb6f68b9db0340443a83c44630
Dave Houlton [Fri, 13 Apr 2018 21:04:35 +0000 (15:04 -0600)]
layers: fix PR2567 formatting errors
Change-Id: Id7c479d7a2421c468990125dcfe815363a440a39
Cort [Sat, 14 Apr 2018 19:17:59 +0000 (12:17 -0700)]
layers: add setIndex to log_msg output in ValidateDrawState()
Tobin Ehlis [Fri, 13 Apr 2018 19:14:59 +0000 (13:14 -0600)]
icd:Add new physical device query funcs to ICD
Add mock ICD support for vkGetPhysicalDeviceSurfacePresentModesKHR,
vkGetPhysicalDeviceSurfaceFormats[2]KHR,
vkGetPhysicalDeviceSurfaceSupportKHR,
vkGetPhysicalDeviceSurfaceCapabilities[2]KHR,
vkGetSwapchainImagesKHR and
vkAcquireNextImagesKHR.
Mark Lobodzinski [Fri, 13 Apr 2018 16:46:48 +0000 (10:46 -0600)]
tests: Fix typos in layer_validation_tests.cpp
Includes fixing a corresponding typo in a descriptor_sets log_msg call.
Change-Id: Ib876482357ff2b945fe411fbef68d421fdbfc802
Chris Forbes [Fri, 13 Apr 2018 16:34:15 +0000 (09:34 -0700)]
Don't clobber immutable samplers in update
The copy cases were already doing the right thing; the basic updates
missed the check for the sampler being immutable.
Fixes #2569
Jeff Bolz [Tue, 10 Apr 2018 19:32:18 +0000 (14:32 -0500)]
layers: Add support for VK_EXT_descriptor_indexing
Change-Id: Ieeaf9cbdff1c9b383d4f47ef678fe4a7467113cb
Mark Lobodzinski [Fri, 13 Apr 2018 16:10:13 +0000 (10:10 -0600)]
android: Add GetPhysDevFeatures2 to vulkan_wrapper
Change-Id: I186def1470aa0423f9bde273860df3c01bf1d4f4
Mark Lobodzinski [Thu, 12 Apr 2018 20:55:54 +0000 (14:55 -0600)]
travis: Avoid empty Travis CI job
Change-Id: Ifb917ab3cf72f0c89f3c7bc9b647156bf1259a50
Dave Houlton [Tue, 10 Apr 2018 22:41:14 +0000 (16:41 -0600)]
layers: maint2 image usage bit validation
Add partial support for VK_IMAGE_CREATE_EXTENDED_USAGE_BIT in
vkCreateImage(), currently just avoiding the usage bit checks when
EXTENDED_USAGE is specified. Full support will require an
exhaustive search of all compatible format's usage bits, which
seems pretty expensive. TODO for now.
Adds support for checking for a chained VkImageViewUsageCreateInfo
struct when doing usage bit validation in vkCreateImageView().
Change-Id: I79a5853dc93dfa54040ace162170f1226a978c2d
Karl Schultz [Thu, 12 Apr 2018 19:39:59 +0000 (13:39 -0600)]
demos: Remove unused var from vulkaninfo
Change-Id: I31c161117ec773240df006cac4e06dffff05c7c6
Mark Lobodzinski [Mon, 9 Apr 2018 21:28:28 +0000 (15:28 -0600)]
travis: Set up to test commit messages
Change-Id: I64adcdb59329eed77cd7c0dd4ff89362f73f72f4
Mark Lobodzinski [Mon, 9 Apr 2018 21:27:15 +0000 (15:27 -0600)]
scripts: Add commit message format checker
Change-Id: I94efe0326e3f68e19af605a1ff381da59d2d7d1d
Cort Stratton [Tue, 10 Apr 2018 21:52:49 +0000 (14:52 -0700)]
layers: use VUID in ValidateImageAspectLayout log msg
This commit also updates the corresponding test to expect
the VUID instead of a log message snippet.
Cort Stratton [Tue, 10 Apr 2018 21:52:49 +0000 (14:52 -0700)]
layers: add level/layer to ValidateImageAspectLayout log msg
This helps clarify the case where a transition fails due to a
specific subresource being in an unexpected layout.
Chris Forbes [Fri, 6 Apr 2018 15:59:47 +0000 (08:59 -0700)]
Fix missing validation errors when a CB never bound any descriptor sets
In this case, the last bound state would never be properly configured
and so we'd skip over this whole block.
Karl Schultz [Fri, 6 Apr 2018 21:55:59 +0000 (15:55 -0600)]
macos: Remove update_and_draw from cube demos
Adopting this change from MoltenVK. The wait and update steps
are no longer needed. Calling just demo_draw now works as well
on MVK as it does on other platforms.
Dave Houlton [Thu, 5 Apr 2018 22:20:33 +0000 (16:20 -0600)]
layers: multiplane image allow color aspect bit
There is a case (memory barrier) where a multiplane image can have
the color aspect bit set, so the general aspect check should allow
it. In the common case where only VK_IMAGE_ASPECT_PLANE_n_BIT_KHR
bits are allowed, there are specific VUIDs in place to enforce.
This fixes an "unexpected error" result that recently appeared for
the CopyImageMultiplaneAspectBits test.
Change-Id: I766da2940955d8a7b72ec26e4dbefe9e60eb0b08
Mike Schuchardt [Fri, 6 Apr 2018 04:44:05 +0000 (22:44 -0600)]
scripts: exclude vulkan headers from clang-format
Travis CI shows linux build failure on every header update because
upstream Vulkan-Docs files are not formatted with the clang-format style
of this repo. This change excludes the vulkan headers directory from
the CI clang-format check.
Change-Id: I6d1bee486d06b690f65aa2c3098de14f3c5931c9
Mark Lobodzinski [Thu, 5 Apr 2018 21:46:53 +0000 (15:46 -0600)]
header: Update to version 1.1.72 of the Vulkan hdr
- updated layer json files
- updated vulkan_core.h
- updated validusage.json
- updated vk_validation_error_database.txt
- updated vk_validation_error_messages.h
- updated vuid_mapping.py
- updated vk.xml
- updated vulkan.hpp
- moved vuid
1ae00652 to
1ae00f06
Change-Id: Id6ba342841cca04c0669b7feb39d82e2b8052443
Mark Lobodzinski [Wed, 21 Feb 2018 16:48:42 +0000 (09:48 -0700)]
layers: Add text-string VUID version of log_msg
Allows adding VUIDs for checks that are not yet public, or that do
not yet have numerical VUIDs assigned.
Change-Id: I9f3a92d8e085f20452a52439517e7cdf677631d3
Mark Lobodzinski [Tue, 3 Apr 2018 21:50:34 +0000 (15:50 -0600)]
layers: Add text vuid error message map
Change-Id: I71efc6127960a8fdff16a8279201f7e59be73bf3
Mark Lobodzinski [Tue, 27 Mar 2018 20:49:31 +0000 (14:49 -0600)]
scripts: Output vuid-string->message map
Change-Id: Id4123053da62fb8d2b4d32393d11e4aa6c030f92
Dave Houlton [Wed, 4 Apr 2018 17:41:48 +0000 (11:41 -0600)]
layers: fix typos
Change-Id: I93a01dfe0e7f49ba3f6992a5f6c8d312b524774a
John Zulauf [Wed, 4 Apr 2018 21:02:01 +0000 (15:02 -0600)]
tests: Unit tests for CreateDescriptorUpdateTempla
Added unit test for vkCreateDescriptorUpdateTemplate(KHR) validation
checks.
VALIDATION_ERROR_052002bc
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00350
VALIDATION_ERROR_052002be
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00351
VALIDATION_ERROR_052002c0
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00352
VALIDATION_ERROR_052002c2
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00353
Change-Id: I55bebc50757dd537f0be849aec38120fae41e181
John Zulauf [Wed, 4 Apr 2018 20:54:11 +0000 (14:54 -0600)]
layers: Add checks for CreateDescriptorUpdateTempl
Added four validation checks for vkCreateDescriptorUpdateTemplate(KHR)
and removed a false positive.
VALIDATION_ERROR_052002bc
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00350
VALIDATION_ERROR_052002be
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00351
VALIDATION_ERROR_052002c0
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00352
VALIDATION_ERROR_052002c2
VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00353
Updated autogen of object tracker s.t. that logic for noautovalidation
handles matches parameter validation, and spec generation, eliminating a
source of false positives.
Change-Id: Ib831eabd45a5083168355bca6b0e2beda3a76222
Tobin Ehlis [Thu, 5 Apr 2018 15:30:09 +0000 (09:30 -0600)]
docs:Fix my name spelling in README
Karl Schultz [Wed, 4 Apr 2018 22:15:32 +0000 (16:15 -0600)]
macos: Update vulkan framework version to 1.1
Gabríel Arthúr Pétursson [Wed, 21 Mar 2018 22:44:11 +0000 (22:44 +0000)]
layers: Avoid reading pointer to array when count is zero
Take for example VkSubmitInfo. It has, amongst others, two fields:
waitSemaphoreCount and pWaitSemaphores. The specification states that
if waitSemaphoreCount is zero, the application may leave pWaitSemaphores
uninitialized (in essence, that field is ignored).
The layers read that value anyway, triggering uninitialized read errors
by memory sanitization tools.
Fixes uninitialized read in QueueSubmitSemaphoresAndLayoutTracking.
Gabríel Arthúr Pétursson [Tue, 20 Mar 2018 21:52:06 +0000 (21:52 +0000)]
layers: Destroy object tracking after reporting undestroyed objects
Fixes a memleak in VkLayerTest.LeakAnObject.
Gabríel Arthúr Pétursson [Tue, 20 Mar 2018 21:37:56 +0000 (21:37 +0000)]
layers: Fix memleak in unique object's debug functions
Karl Schultz [Wed, 4 Apr 2018 20:56:13 +0000 (14:56 -0600)]
macos: Add new Vulkan headers to vulkan framework
Dave Houlton [Thu, 8 Mar 2018 21:34:47 +0000 (14:34 -0700)]
tests: Update CopyImage with sampler_YCbCr VUIDs
Modifies existing tests and adds new tests to verify VUIDs added or
modified by the sampler_YCbCr extension. Adds some helpers to the
test framework to verify enabled extension strings.
Change-Id: Ib48f3e53ae9d78e98a5e2233019be6616afaca01
Dave Houlton [Tue, 6 Mar 2018 18:08:51 +0000 (11:08 -0700)]
layers: add multiplane image formats and checks
Add support for new formats added by sampler_YCbCr and mainlined in
Vulkan 1.1. Adds single- and multi-plane formats to lookup utility
fxns. Adds checks for CmdCopyImage VUIDS that were added or modified.
Change-Id: I70279bd8d667bf50d53fce752b53bb7e2e0a2d67
Jeremy Kniager [Mon, 2 Apr 2018 20:44:47 +0000 (14:44 -0600)]
vulkaninfo: Add checks for some struct allocation
Added checks after attempted memory allocation in
AppGpuInit and before memory frees in
AppGpuDestroy.
Change-Id: Ie2c207bfabd24bec326b12eef0c58e2bdfe8b59a
Karl Schultz [Wed, 4 Apr 2018 00:28:03 +0000 (18:28 -0600)]
docs: Fix internal links in BUILD.md
Karl Schultz [Wed, 4 Apr 2018 00:26:40 +0000 (18:26 -0600)]
build: macOS: Adapt to changes in MoltenVK repo
John Zulauf [Fri, 30 Mar 2018 22:52:23 +0000 (16:52 -0600)]
loader: Improve 1.0 driver apiVersion fixup
The 1.1 loader attempts to avoid VK_ERROR_INCOMPATIBLE_DRIVER from 1.0
drivers by patching up the supplied apiVersion during CreateInstance.
Added support for apiVersions > 0 and < 1.0.
Change-Id: Iae350624c6f9f711890814b48adc3f5a17fdc47b
John Zulauf [Mon, 2 Apr 2018 16:55:18 +0000 (10:55 -0600)]
loader: Eliminate duplicate validation messages
Layer version mismatch validation messages were being generated multiple
times for each mismatching layer. Eliminated duplicate error messages
and fixed formatting issues.
Change-Id: Iffc5ff94f70fefc075b74764ae87a6593143f503
John Zulauf [Fri, 30 Mar 2018 20:51:59 +0000 (14:51 -0600)]
layers: Add correct validation for apiVersion
Update and correct validation of passed apiVersion for 1.1 specified
behavior. Instances with apiVersion > 1.1 will be validated as 1.1
instances (and warn). Instances with apiVersions < 0 and < 1.0 will be
validated as 1.0 instances and generate an error. Instances with
missing or 0 apiVersions will be treated as 1.0 instances.
LOGCONSOLE warning converted to log_msg warning.
Change-Id: I2debb6175cf094918fc86cdea2973ddae9479a0b
Dave Houlton [Fri, 30 Mar 2018 21:07:41 +0000 (15:07 -0600)]
layers: Fix multi-plane aspect bit check
Remove multi-plane formats from classification as 'color' formats
and add specific aspect bit checks for them.
Change-Id: Ie899a6f2a91ceb43e6fb92c3fdd9056e00849fc3
Dave Houlton [Fri, 30 Mar 2018 23:10:17 +0000 (17:10 -0600)]
demos: Add some cube lighting
Can stand it no longer. Added some minimal n-dot-L screen-space
lighting.
Change-Id: Ifaf664a5651f59d8904cbb064018c00d385ec3ed
Mark Lobodzinski [Sun, 1 Apr 2018 16:38:15 +0000 (10:38 -0600)]
layers: Remove layer prefix from log_msg calls
Change-Id: Iea43bd2f8f2c92d99b5fdf40abe94149a6fb860c
Mark Lobodzinski [Fri, 30 Mar 2018 20:26:00 +0000 (14:26 -0600)]
layers: Remove location field from log_msg calls
Removed location parameters from log_msg calls, and from layer
logging output functions.
Change-Id: Ia1e2ce012997efed1db7864761ae0e39c8bc7d9b
Mark Lobodzinski [Fri, 30 Mar 2018 16:09:03 +0000 (10:09 -0600)]
layers: Remove VUID spec text from log_msg strings
Removed format specifiers from log_msg text strings
Removed validation_error_map specifiers from log_msg parameter lists
Change-Id: I5bd22c60dabf534382ca4d371ef4dffff1829f6d
Shannon McPherson [Thu, 29 Mar 2018 17:27:39 +0000 (11:27 -0600)]
demos: Fix call to SurfaceCapabilities2EXT
VkGetPhysicalDeviceSurfaceCapabilities2EXT() requires VK_KHR_Display to
be enabled. Added VK_KHR_DISPLAY_EXTENSION_NAME to list of instance
extensions.
Change-Id: I566cb26045c18865b9c0b1a39b5f89d6d7ccb7f6
Shannon McPherson [Thu, 29 Mar 2018 17:38:06 +0000 (11:38 -0600)]
demos: Fix format of conditionals
Change-Id: I6c9d5d089107cb8f616084e59c0eb3f002ef2688
John Zulauf [Wed, 28 Mar 2018 15:55:03 +0000 (09:55 -0600)]
layers: Correct non-dispatchable type handling
Update threading layer non-dispatchable type handling to reflect updates
to the vulkan header for Linux/x32 memory model support. Includes new
static asserts to detect future mismatches.
Change-Id: Ieb1ae335978cf43083b4a17634d06cd7066ed144
John Zulauf [Sun, 25 Mar 2018 01:52:19 +0000 (19:52 -0600)]
layers: Eliminate false positive on ownership xfer
Add logic that correctly ignores the src(dst)StageMask for barrier
operations that are resource acquire(release) operations. When barrier
operations transfer ownership they envitably run on two different queue
families which may have incompatible capabilities. For release
operations dstStageMask should be ignored. For acquire operations the
srcStageMask should be.
Note: this can only be done if *all* operations for a barrier command
are of one type, as the *StageMasks are specified at the command level.
Change-Id: I6c238ab121eaa1230e66716120d37204740408d6
Chris Forbes [Mon, 21 Aug 2017 18:27:08 +0000 (11:27 -0700)]
layers: Skip layout transition in release op
Chris Forbes [Fri, 18 Aug 2017 22:00:48 +0000 (15:00 -0700)]
layers: Avoid a redundant CB lookup
Lenny Komow [Thu, 29 Mar 2018 19:25:38 +0000 (13:25 -0600)]
loader: Fix GetDeviceProcAddr with terminators
Fix a bug where vkGetDeviceProcAddr would return a valid pointer for
any device command that used a custom terminator, even if it was part
of an extension which wasn't enabled
Change-Id: I3b088fe0c850fbaa5f7285ced81552273bc38e7e
Mike Schuchardt [Thu, 29 Mar 2018 16:12:04 +0000 (10:12 -0600)]
tests: macOS CMake fixes for Xcode generator
Put icd and test layer json files in $<CONFIG> directory when using
Xcode generator so layer tests can be executed and debugged from within
Xcode.
Change-Id: I079a89ea065ddeec98ce95766e284220c67b1859
Lenny Komow [Wed, 28 Mar 2018 20:31:32 +0000 (14:31 -0600)]
loader: Make assembly offsets use offsetof macro
Change-Id: I52d749e51e38b321d4fab4e0288c055ccdefe66f
Mark Lobodzinski [Wed, 28 Mar 2018 20:24:46 +0000 (14:24 -0600)]
layers: Fix DestDescPool data race
Data was destroyed after the down-chain call, which left the
possibility that before the items could be removed from the data
structure that they might be reused which would corrupt validation.
Fixed by destroying inside the lock before the down-chain call.
Change-Id: Icbc994ef043a1108c84474879617d4ada694b74b
Mark Lobodzinski [Wed, 28 Mar 2018 20:20:07 +0000 (14:20 -0600)]
layers: Remove unnecessary destCmdPool null check
Change-Id: I69bb77b1874fa2148ab7902e71e57a15589ba684
Francois Duranleau [Tue, 27 Mar 2018 18:42:24 +0000 (14:42 -0400)]
layers: Fix command buffer allocation ABA bug
In core validation layer's DestroyCommandPool API entry function, the
ext layer's API call is executed outside of the lock, and before the
command pool's command buffers are erased from the layer's command
buffer map. That means that between next layer's call and the time the
lock is regained, any other thread can allocate other command buffers.
In particular, it may reuse the memory freed the command, and then the
core validation layer will not insert a new entry in the command buffer
map. So after the lock in regained and the command pool's command
buffers are erased from the map, leaving those allocated with no state,
leading to either crashes or assertions later on. The fix is to move the
release of command buffers before releasing the lock the first, before
calling the next layer's function, such that they will be removed from
the map before any other thread might reuse those addresses.
Mark Young [Wed, 21 Mar 2018 19:35:34 +0000 (13:35 -0600)]
layers: Fix gh #2504 and compiler warnings
Remove extraneous objecgt info from the validation logging message.
Extra object logging was added accidentally in my change to
incorporate VK_EXT_debug_utils.
Fix output of Debug Utils messenger output for validation layers
to list individual objects.
Also, fixed a few compiler warnings that were appearing on Linux.
Change-Id: I043d7f734683dfa79fe7a26a5973975bde011cce
Mark Lobodzinski [Tue, 27 Mar 2018 21:31:16 +0000 (15:31 -0600)]
build: Add submodule init to update externals scripts
Change-Id: I78e35a0daaa5a62e432858861378543d412a77c7
Mark Lobodzinski [Tue, 27 Mar 2018 20:53:16 +0000 (14:53 -0600)]
build: Add gtest as a submodule
Change-Id: I9a5c440bd81f48afd24961a52595d0ca995cb7bf
Lenny Komow [Mon, 12 Mar 2018 23:53:17 +0000 (17:53 -0600)]
loader: Fix up missing 1.1 function exports
mchock-nv [Sat, 10 Mar 2018 00:59:15 +0000 (16:59 -0800)]
loader: Add missing core entrypoints to trampoline.c
The entrypoints associated with VK_KHR_descriptor_update_template didn't
make it into the trampoline file when the extension was promoted to
core. This change adds them.
See Issue #2476
Change-Id: I676720ae152f78fbb16cda93e92cd8ced0446e03
Mike Schuchardt [Tue, 27 Mar 2018 20:13:24 +0000 (14:13 -0600)]
scripts: Remove noisy debug in codegen
Mike Schuchardt [Mon, 26 Mar 2018 19:14:25 +0000 (13:14 -0600)]
icd: Add json file for running on macOS
Dave Houlton [Mon, 26 Mar 2018 23:08:30 +0000 (17:08 -0600)]
layers: fix copyimage checks broken by spec change
Changes to 'core' spec between 1.0.68 and .71 split some CmdCopyImage
VUIDs into two. This updates the existing checks/tests and adds test
coverage for the new VUIDs.
Change-Id: I9efd0de2c830dca5b7214168d5339bf2fd9fdf08
Chris Forbes [Fri, 23 Mar 2018 04:13:46 +0000 (21:13 -0700)]
Validate line width for topology reaching rasterizer rather than input
Mark Lobodzinski [Mon, 26 Mar 2018 21:31:25 +0000 (15:31 -0600)]
layers: Fix CV typo in error message
GH issue #2511 -- FrameBuffer->Framebuffer.
Change-Id: Ic8de4604a7615708df9f55d5f0f0d0d7724a5d6d
Mark Lobodzinski [Tue, 20 Mar 2018 19:44:19 +0000 (13:44 -0600)]
header: Update to version 1.1.71 of the Vulkan hdr
- updated vulkan_core.h
- updated vulkan-android.h
- updated vk.xml
- updated validusage.json
- updated layer json files
- updated vulkan.hpp
- updated vuid_mapping.py
- marked 27 VUIDs as complete
Change-Id: Ia5abee76e5346b3a1b769664033d91403946f7a9
Mark Lobodzinski [Sat, 24 Mar 2018 19:24:18 +0000 (13:24 -0600)]
scripts: Fix safe_struct Android versioning issue
The VK_ANDROID_external_memory_android_hardware_buffer extension uses
an android structure that is undefined before android 'O'. Worked around
this issue by defining a dummy structure for earlier android OS versions.
Change-Id: If515920d3b1707cbeb6a0377827c680d93d516ff
Jeremy Kniager [Mon, 26 Mar 2018 19:33:19 +0000 (13:33 -0600)]
docs: Move vkjson_info section from BUILD.md
Moved the vkjson_info section from the Android
usage section in BUILD.md to its own file
libs/vkjson/README.md
Change-Id: I80ea8762c78e76fae43d2ca07820f46f7aef4c0c
Jeremy Kniager [Fri, 23 Mar 2018 18:01:12 +0000 (12:01 -0600)]
docs: Move documentation to repos
Moved the following documentation from
LunarHub-Docs to LVL:
api_dump_layer.md
core_validation_layer.md
object_tracker_layer.md
parameter_validation_layer.md
threading_layer.md
unique_objects_layer.md
Change-Id: I448aaec1081f25468d115477748415e1a612d719
Chris Forbes [Wed, 14 Mar 2018 16:28:35 +0000 (09:28 -0700)]
layers: Consider storage block using new storage class to be a writable descriptor