-
ee0b3302
by Mike Schuchardt
at 2017-10-30T13:59:11-06:00
layers: Remove warning for imported memory
Flag imported memory as valid to suppress warnings about uninitialized
buffers and images that use external memory
Change-Id: Id286dfde41a02652767202a31758f44202d9875a
-
14da0868
by Mike Schuchardt
at 2017-10-30T13:59:11-06:00
layers: Positive test case for issue LX712/GH2096
Perform a copy from a buffer backed by external memory and verify no
warnings are emitted
Change-Id: I09157cef0d0dd4648245498c15470500a7109361
-
82fce62f
by John Zulauf
at 2017-10-30T14:26:07-06:00
layers: Cleanup duplicate structure definition
A function local structure was duplicating the GENERIC_HEADER defintion.
To improve consistency and maintainability the duplicate struct was
removed and all references change to use GENERIC_HEADER.
Change-Id: I872ba9185959fc2de2ece33f8e236cfc6c805497
-
56514e97
by John Zulauf
at 2017-10-30T14:26:07-06:00
layers: Capture device features from extension
When the VK_KHR_get_physical_device_properties2 is present, physical
device properties can be passed to VkCreate either in the
pEnabledFeatures member or VkDeviceCreateInfo or in a
VkPhysicalDeviceFeatures2KHR structure on the pNext chain.
Neither the parameter validation or core validation layers were
capturing device features from the pNext struct, causing false
parameter checking errors, when the default (all false) state was
used for later validations.
Change-Id: I187827443f09aafaa80588a78bc5b67595d0acda
-
867eba33
by John Zulauf
at 2017-10-30T14:26:07-06:00
tests: Remove duplicate queue creation code
Refactored identical code to create the pQueueCreateInfos from
queue_properties present in four functions.
Change-Id: I5e61549c17661611662ca6b39fd0163facd37526
-
66220689
by John Zulauf
at 2017-10-30T14:26:07-06:00
tests: Test layer Properties2 feature support
Added test which creates a device using features from
vkGetPhysicalDeviceProperties2KHR and the pNext pointer to set enabled
features. Test verifies parameter checking vs. features is correct for
two cases -- one case in each parameter validation layer and core
validation layer.
Change-Id: Iba5c0f161f088438bfdd7c37a01015c2fe1dbff1
-
51fa92a5
by John Zulauf
at 2017-10-30T14:26:07-06:00
tests: Refactor duplicated SamplerCreateInfo code
There were numerous instance of nearly identical SamplerCreateInfo
initializations. Refactoring improves readability and code size.
Change-Id: I1c8d085e1a92b088da11b7088878ed2ab7d20428
-
4992e375
by Chris Forbes
at 2017-10-31T09:04:23-06:00
quickly wire mock icd into travis
-
c6b9bf10
by Tobin Ehlis
at 2017-10-31T09:15:22-06:00
scripts:Cleanup comments and output for mock icd
Commented out a couple of debug output statements.
Killed a bunch of comments and code that were carried over from
original script but that are no longer relevant.
-
97a5bc7c
by Shannon McPherson
at 2017-11-01T14:18:54-06:00
demos: Add html backend and option to vulkaninfo
- Run clang-format on vulkaninfo.c
- Format Instance Extensions section
- Complete Layers info tree
- Convert spaces to tabs for html output
- Fix indentation of html output file
- Add Presentable Surfaces to html option
- Ammend Presentable Surfaces html output
- Extend platform compatibility
- Display VkPhysicalDeviceProps in html
- Convert DeviceLims and SparseProps to html
- Convert memoryType/flags to support html
- Complete AppGpuDumpMemProps html upgrade
- Complete format properties html upgrade
- Improve boolean logic for html_output var
- Change output filename to vulkaninfo.html
- Create auto-open format property flag info
- Update page title, further .html fixes
- WIN32 formatting and bug fixes
- Clang-format changes
- Close clang-format comments
- Update file format to code style standard
Change-Id: I49c7c6c62a54493fe622bd457f7c61e81806487e
-
5a6cf691
by Mike Stroyan
at 2017-11-02T11:24:03-06:00
icd: thread protect maps
Lock to protect threaded access to queue_map and mapped_memory_map.
-
f9267841
by Mike Schuchardt
at 2017-11-02T12:59:54-06:00
demos: Clarify cube --present_mode option
Change-Id: Ie53724c3612eb5bb9adfbb826149ef87916f0d84
-
cd3fe671
by Jean-François Marquis
at 2017-11-03T09:19:22-06:00
layers: Protect GetImage/BufferMemRqmts map access
Lock 'global_lock' while looking for IMAGE_STATE/BUFFER_STATE in
GetBufferMemoryRequirements/GetImageMemoryRequirements. This is needed
because other threads could add/remove other VkImage handles to/from
the maps concurrently. The specs say the VkImage must be externally
synchronized, but this doesn't cover the internals of the layers about
VkImages in general. vkCreateImage, vkDestroyImage and
vkBindImageMemory/vkBindBufferMemory correctly lock 'global_lock'.
Change-Id: I93cb00c9a7f99efc927da52e42103ab72516397e
-
b65d7c4e
by John Zulauf
at 2017-11-03T09:31:30-06:00
layers: Refactored pNext chain walks to template
The while loops for the walking the pNext chains were implemented by
repeated code. These were refactored into a common template. Added
autogenerated 'traits' objects for the pNext linked structs.
Delete cut and paste duplicate pNext chain walk.
Change-Id: I46457bb5432219c74f9356e5230c70e4a9ef16df
-
14368009
by saschawillems
at 2017-11-03T14:05:29-06:00
Replaced fixed path python 2.7 executable calls
-
404d3534
by Cody Northrop
at 2017-11-03T16:03:59-06:00
scripts: Add --no-build for Android toolchain
With switch to importing shaderc, we don't need to
create prebuilts anymore.
-
386c2d76
by Cody Northrop
at 2017-11-03T16:03:59-06:00
travis: Switch to ccache, skip Android toolchain build
-
a482b1e6
by Cody Northrop
at 2017-11-03T16:03:59-06:00
travis: Use multiple cores for build
-
0e29cc38
by Cody Northrop
at 2017-11-03T16:03:59-06:00
build: Add optional ccache support to cmake
-
6b5deb41
by Cody Northrop
at 2017-11-06T13:37:25-07:00
android: Update to shaderc known-good revisions
-
2a812484
by Cody Northrop
at 2017-11-06T14:49:13-07:00
android: Remove mips targets
-
0fde70a2
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Fix InvalidCmdBufferBufferDestroyed
Size allocation for InvalidCmdBufferBufferDestroyed based on memory
requirements.
-
ba06b799
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Fix InvalidCmdBufferDescriptorSetBufferDestroyed
Fix buffer allocation for InvalidCmdBufferDescriptorSetBufferDestroyed
to be based on memory requirements.
-
7ea245a2
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Fix unexpected error text
Update InvalidCmdBufferDescriptorSetImageSamplerDestroyed test to have
new unexpected error text based on "valid" being added to spec VU.
-
5a09afca
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Update InvalidDynamicOffsetCases
Allocate buffer memory based on size requirements.
-
fe22f304
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
icd:Don't return support for Undefined Format
-
7d86117e
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Cleanup DSUsageBitsErrors on early return
If we can't find a good format, make sure to cleanup all of the objects
allocated thus far in the DSUsageBitsErrors test.
-
dba1f0b8
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Update DSBufferInfoErrors
Allocate buffer memory based on requirements returned from device.
-
d4b717a2
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
icd:Reduce offset alignment limits
Buffer min offset alignments were set to the max value. Reduce them to
16 to simplify testing of offsets that are a multiple of the min
alignment.
-
8a5c5ce6
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
icd:Update list of tests with unexpected errors
Only 2 tests remain with unexpected errors when running with default
mock ICD configuration. These same two tests also have unexpected
errors when running on actual HW.
-
00c1ae29
by Tobin Ehlis
at 2017-11-06T16:29:51-07:00
tests:Add comment
Fix formatting of one line and add a comment related to an offset
calculation.
-
908ea4d6
by Mark Lobodzinski
at 2017-11-07T08:53:54-07:00
tests: Fix comment
Change-Id: If13c8393680baa96df4d24bf8d247ab9607f1b94
-
0e8b5ae2
by Gabríel Arthúr Pétursson
at 2017-11-07T08:54:48-07:00
demos: Remove HTML in plain-text vulkaninfo output
Change-Id: I6f1192b71aa6f33664a6782dc81e1f8cb7cc5ba1
-
cca41b11
by Mark Lobodzinski
at 2017-11-07T09:00:48-07:00
build: Update BUILD.md to specify VS2015
Change-Id: I9180304a8089db057af68cbf86b73118e1d29c16
-
c8d1e7bb
by John Zulauf
at 2017-11-08T09:30:48-07:00
layers: Free commandbuffer data when deleting pool
Fixes for https://vulkan.lunarg.com/issue/view/59eeea8166315153977b0fe6
Issue #720 - Possible crash in layers when deleting command pools.
Ensured pool commandbuffers fully freed in the layer before deleting the
pool using refactored common code from FreeCommandBuffers.
Added postive test which exercises the implicit free path.
Change-Id: I71e1fcb6ffcd9a2977a89c0a8b388639e9a743cb
-
7cb00fa3
by John Zulauf
at 2017-11-08T09:30:48-07:00
layers: Rename resetCB to ResetCommandBufferNode
Small cleanup change to clarify command buffer node code.
Change-Id: Ib98010e10161ef5b15aaa736d994ec48b4e659fb
-
8eb166c0
by John Zulauf
at 2017-11-08T14:41:50-07:00
layers: VUIDs/test for vkCreateSampler anisotropy
Added VUID checks to parameter_validation_layer and matching tests for
three VUID's:
* VALIDATION_ERROR_12600868:
Must disable anisotropy when unnormalized coordinates are enabled.
* VALIDATION_ERROR_1260085e:
maxAnisotropy must be in range [1.0, maxSamplerAnisotropy]
* VALIDATION_ERROR_1260085c
anisotropyEnable must be VK_FALSE if samplerAnisotropy feature is
not enabled.
Removed test for: "samplerAnisotropy feature was not enabled ...
maxAnisotropy member ... must be 1.0" to conform with the resolution of
https://github.com/KhronosGroup/Vulkan-Docs/issues/503.
Change-Id: Ia1c561997adb9391ef463f6df90b424730366a7f
-
c0815412
by John Zulauf
at 2017-11-08T14:41:50-07:00
layers: Adds createSampler VUID/test for IMG_CUBIC
Added VUID check to parameter_validation_layer and matching test for
VUID 12600872 (must disable anisotropy for CUBIC_IMG filters)
Change-Id: I3d0f9449413637292c2726480ca7ce0e6b793e21
-
263f37f6
by Jamie Madill
at 2017-11-09T08:43:16-07:00
layers: Return an error when generator scripts fail.
Currently the scripts would abort with an error message, but not an OS
error code. Adding an error code allows build systems to correctly
detect the script failure as a failed build step.
Change-Id: I142a6215a3c02e6a880bfce0c3aba2c3c8fc4ff1
-
11c87751
by Jamie Madill
at 2017-11-09T08:43:30-07:00
layers: Make generator helpers Python 2 compatible.
This is an easy compatiblity change, which uses a workaround to import
a version of 'open' that can support unicode across Python versions.
Affects the object tracker and parameter validation generators.
Change-Id: Ie958dc64168db9e06b36321b4b6ad2336f995ea3
-
b2097b80
by Jamie Madill
at 2017-11-09T09:51:07-07:00
layers: Don't confuse VkResult/VkBool32 in generators.
In some cases, the generator would return the special error for
validation failed for functions that return a VkBool32. Fix this, and
also some cases of initializing a VkBool32 with VkResult.
Change-Id: Icc071e647f293848d62a922d492ed41dfc5a4be1
-
4184292b
by Cody Northrop
at 2017-11-09T14:27:01-07:00
android: Only compile toolchain once build_all.sh
-
90282553
by Cody Northrop
at 2017-11-09T15:04:03-07:00
docs: Update some Android sections
-
8f9d7ca1
by Lenny Komow
at 2017-11-10T10:03:08-07:00
loader: Fix pre-instance proc addresses
Fix a bug where vkGetInstanceProcAddr would return a null pointer for
any command that does not require an instance if an instance was
given
Change-Id: Iec5766f9c37104c36852f758d391a9b0b54ec0ec
-
4c613340
by Tobin Ehlis
at 2017-11-10T10:47:28-07:00
tests:Add doc validation to travis CI
-
0e8cf721
by Mark Lobodzinski
at 2017-11-14T11:43:25-07:00
layers: Move BuildTemplate call inside global lock
Helper routine was being called outside of the lock causing
freezes in Dota2
Change-Id: I45ab0b23c6ff3ed4ec16dca15107ce16f205599f
-
81a2554d
by Mark Lobodzinski
at 2017-11-15T10:34:31-07:00
scripts: Fix incorrect object type mappings
'Unknown' type was at the end of a couple of the lists, causing
incorrect IDs to be emitted.
Change-Id: I55cae6ecaff47977dca78e2f73468980f9450bda
-
040ab669
by Mark Lobodzinski
at 2017-11-15T10:34:31-07:00
layers: Validate device dispatchable objects
Device object validation required dereferencing possibly bad device
objects. Moved ownership of device objects to instance objects, and
to search each of the layer_data object lists for a created device
handle matching the our candidate device object.
Change-Id: If5615294c397ff6991d4d21ac75ab58d1b0b0841
-
166b897e
by Mike Schuchardt
at 2017-11-17T09:38:09-07:00
tests: Make ExternalMemory test more robust
- Use dedicated allocation when required by the external memory implementation
- Add required pNext structs for all buffers and memory
- Relax the requirement that external memory be host visible
- Verify that the export/import memory is actually linked
Change-Id: Ia12f8cc9846c781efcbac6f3d448f4254ad2daa0
-
fc826b9e
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Detect buffer creation errors
Handle case when VkBufferTest fails to create the buffer. This means
setting the buffer as no longer valid, and checking for this case
in the test body so we don't try to use an invalid buffer.
-
311a53b7
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
icd:Expand mock icd memory type bit support
Image/buffer memory requirement memoryTypeBits are still just hard-
coded in mock icd, but expand to support more bits for more simulated
memory types. This helps the mock work in conjunction with the devsim
layer so that if a simulated device has more than 5 memory types, the
mock icd won't cause an error.
-
0c3f842c
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Get supported memory type when allocating
Before allocating memory for a buffer make sure that the requested
memory index type will support the required memory properties.
-
7eae8ff7
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Only init queue families that have queues
It's possible for a device to return queue families that don't have
any queues, but we should not be requesting creation of queues from
such a family when we create the device as it's against the spec and
leads to a parameter validation error..
This change only requests that a device initiate queue families that
have at least one queue.
-
0dd3c4b6
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
icd:Increase WHOLE_SIZE mapped memory
Bump hard-coded mapped memory allocation size for WHOLE_SIZE from 4k to
64k. One validation test (InvalidMemoryMapping) was mapping 64k of
memory that was leading to segF as the 4k buffer was overwritten when
shadowed.
-
6e2361ca
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Add "--devsim" option
Add "--devsim" option to vk_layer_validation_tests. This will enable
the Device Simulation layer as the bottom layer on the stack.
It still requires the caller to set the VK_DEVSIM_FILENAME env var in
order to select the json profile that they want to test with.
When "--devsim" option is specified, the device_profile layer will not
be enabled by default when InitFramework() is called. Instead, any
tests that require the device_profile layer can call
EnableDeviceProfileLayer(). This function will cause the device profile
layer to replace the dev sim layer as the bottome layer on the stack.
-
06aa95b5
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Fix memory allocation sizes
Update QueryAndCopySecondaryCommandBuffers and
QueryAndCopyMultipleCommandBuffers tests to allocate buffer with size
based on the returned size requirements instead of hard-coded value.
-
5a961e7d
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Fix ParameterLayerFeatures2Capture
Fix ParameterLayerFeatures2Capture so that it only requests to create
queues from families that have a queueCount greater than 0.
-
1fa7593e
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Force 64bit format support for vtx buffer
For CreatePipeline64BitAttributesPositive test enable the DeviceProfile
layer in order to make sure that vtx buffer support is available for
VK_FORMAT_R64G64B64A64_SFLOAT.
-
eeeb0ec6
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
layers:Add pre-built DevSim layer
Checking-in DevSim binary for linux to use in Travis-CI testing along
with seven initial json profiles to be tested w/ DevSim on top of mock.
-
35a2d405
by Tobin Ehlis
at 2017-11-17T09:38:09-07:00
tests:Add DevSim testing for 7 profiles
Update Travis-CI run LVL tests on seven different device profiles.
-
0a22216c
by Petr Kraus
at 2017-11-17T09:48:49-07:00
layers: Rewrite ViewportState checks and tests
- deal with #1685
- report correct object type
- improve? msg texts a bit
- add extension structs to pNext check
- use correct printf token where possible
- make tests to match changes + improve coverage (nullptr +
multiViewport)
- remove viewport state (and other stuff) from tests that do not use it
- merge some tests together that are too related
- remove unnecessary dynamic state from PSOLineWidthInvalid)
- correct invalid VkViewport in some places
- correct missing/null pViewport and pScissors in some places
- update and correct the VUID database
-
4b701a1f
by Tobin Ehlis
at 2017-11-17T09:59:37-07:00
tests:Fix testname typo
-
0c02b440
by Tobin Ehlis
at 2017-11-17T10:44:53-07:00
tests:Fix signed/unsigned compare warning
-
166dab88
by Tobin Ehlis
at 2017-11-17T15:12:50-07:00
tests:Fix DynViewportAndScissorMismatch crash
This test was crashing on Nvidia drivers.
The crash seems to be a driver bug as the workaround is to not destroy
a descriptor set layout prior to creating gfx pipelines whose
pipeline_layout object was created from the given descriptor set layout
-
a99ceeaf
by Norbert Garnys
at 2017-11-17T15:40:37-07:00
layers: add image layout validation to vkCmdBlitImage()
-
5095bcaa
by Norbert Garnys
at 2017-11-17T15:40:37-07:00
tests: Add test case for vkCmdBlitImage() image layouts
-
70415b31
by Mark Lobodzinski
at 2017-11-21T15:24:46-07:00
layers: Remove redundant query_state_pair checks
Change-Id: I62b722124c58d98da642cc2c5c17670a7f290d64
-
b022d193
by Mark Lobodzinski
at 2017-11-21T15:24:46-07:00
layers: Refactor PreCallValidateGetQueryPoolResults
Cleared up logic flow.
Change-Id: I32157a408a7ff7e413ab82b05bf86de48f98495b
-
68650c60
by Mark Lobodzinski
at 2017-11-21T15:24:46-07:00
layers: Remove invalid query avaibility error check
This case in GetQueryPoolResults flagged errors for cases that are
valid.
Change-Id: I00a823992d200cd30988fde39ef679ea8ad8bce3
-
b36fb5ae
by Mark Lobodzinski
at 2017-11-21T15:24:46-07:00
layers: Add GetQueryPoolResults validation check
Added check for a pool of queryType TIMESTAMP having the RESULT PARTIAL
bit set and updated the error database.
Change-Id: I139733202c085a7d64d7359f659714b75a46ebf1
-
91e7f2c5
by Mark Lobodzinski
at 2017-11-21T15:24:46-07:00
tests: Added GetQueryPoolResults test case
And updated the error database.
Change-Id: Id293ee836866ce9bbfc3a4eda4ee0e8efd0e09ab
-
3fdcc73b
by Mark Lobodzinski
at 2017-11-21T16:38:20-07:00
scripts: Update toolchain revision check script
No longer need to check spirv-tools or spirv-headers as they are now
part of glslang.
Change-Id: Ib3594d064d33a94d6443426e02a617c96b243893
-
760e8dda
by Mark Lobodzinski
at 2017-11-21T16:38:20-07:00
build: Avoid redundant spirv-tools/hdrs builds
Changed update_external_sources scripts to use spirv-tools and
spirv-headers already present in the glslang repo instead of
fetching and building separate versions.
Change-Id: Iff9666f1939d814d0888b2da9b9e7450af697722
-
e79629d2
by Mark Lobodzinski
at 2017-11-21T16:38:20-07:00
build: Removed unused spirv-tools/headers rev files
Change-Id: Ie199e1b2b94a7bc8c2ea998a7725d307e9a369f8
-
e9bc9240
by Mark Lobodzinski
at 2017-11-21T16:38:20-07:00
build: Updated BUILD.md for spirv-tools changes
Change-Id: Ic2f62a226474dbe5705be2706efc093b3dde7b9e
-
42bb5b25
by Mark Lobodzinski
at 2017-11-21T16:38:20-07:00
build: Fix gslang->glslang errors in BUILD.md
Change-Id: I221fde5b016cf36ec1047287dbfb82a1a81e0b09
-
b9745da3
by Cort Stratton
at 2017-11-23T12:23:44-08:00
tests: Fix indentation in ImageBarrierWithBadRange
-
434fba23
by Jamie Madill
at 2017-11-27T15:30:19-07:00
loader: Fix improper cast warning.
warning C4057: 'function': 'LPBYTE' differs in indirection to slightly different base types
This was popping up in some Windows builds. Also add it to the list
of warnings enabled by default with MSVS.
Change-Id: I2703f2e57ba3fb33ec03fbc7b8324c75187abec6
-
bb6e1ecb
by Jamie Madill
at 2017-11-27T15:30:19-07:00
layers: Fix MSVS conversion warning.
This fixes the following:
warning C4245: 'argument': conversion from 'int' to 'unsigned int', signed/unsigned mismatch
It also modifies the build to enable this warning by default.
Change-Id: If2e6c8d43811162a9a382883b3d55a148975fc37
-
efc9c706
by Tobin Ehlis
at 2017-11-27T15:30:19-07:00
tests:Fix MSVS build warnings
-
4b039155
by Mark Lobodzinski
at 2017-11-28T13:15:37-07:00
header: Update to version 1.0.66 of the Vulkan hdr
- update vulkan.h
- update Lin/Win json file versions
- update vk.xml
- update vuid_mapping.py
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- update vulkan.hpp
- fixed error in vk.xml, unofficially
Change-Id: Ia719bc069cb776c5b174f41667d591b43aaaf4d7
-
8610ddf1
by Petr Kraus
at 2017-11-28T13:23:54-07:00
layers: Quick fix odd create PSO param checks
- param check did only check the first create info
- `cullMode` check should be redundant to the automated part
-
263e2eaa
by Petr Kraus
at 2017-11-28T13:23:54-07:00
layers: Fix lineWidth checks
- migrate to parameter_validatio
- do not check against limit (outside limits is valid; impl clamps
value)
-
4b062953
by Petr Kraus
at 2017-11-28T13:23:54-07:00
tests: Implement lineWIdth state checks
-
9613ef4f
by Petr Kraus
at 2017-11-28T13:24:50-07:00
layers: Fix typos in viewport state validation msgs
-
fd1c3f55
by Cort Stratton
at 2017-11-28T16:05:59-07:00
loader: fix memory leak for layers with >1 dev_exts
-
af98d935
by Cort Stratton
at 2017-11-28T15:12:52-08:00
tests: Fix UncompressedToCompressedImageCopy
Created images were implicitly using TILING_LINEAR,
despite testing for TILING_OPTIMAL support.
Fixes failure on Vega mentioned in #2153
-
1a76be60
by Petr Kraus
at 2017-11-28T16:38:22-07:00
Add missing include in android_util.cpp
-
e6878bc8
by Chris Forbes
at 2017-11-28T16:27:21-08:00
layers: Add xxhash
-
fe772548
by Chris Forbes
at 2017-11-28T16:27:21-08:00
layers: Add VK_EXT_validation_cache implementation for shaders
-
0a19eefc
by Chris Forbes
at 2017-11-28T16:27:21-08:00
layers: Add layer metadata for EXT_validation_cache extension
-
4a50d876
by Cort Stratton
at 2017-11-28T16:27:21-08:00
shader module codeSize is already in bytes
-
823fedc3
by Cort Stratton
at 2017-11-28T16:27:21-08:00
Use SPIRV-Tools commit ID as validation cache version
-
de3a1515
by Cort Stratton
at 2017-11-28T16:27:21-08:00
Fix for Android build error with Linux host
-
720e835f
by Cort Stratton
at 2017-11-28T16:27:21-08:00
Fix build errors:
- No more SPIRV-Tools revision file. Instead, the
revision-parsing script just runs "git rev-parse HEAD"
in the spirv-tools repository to extract the commit ID.
- Invoke the revision-parsing script from the .sh Android scripts,
in addition to the .bat scripts.
-
1fc27af4
by Cort Stratton
at 2017-11-28T16:27:21-08:00
Convert SPIRV-Tools commit ID to binary before use as a UUID
This doubles the number of effective hash bits from 64 to 128.
-
27b883d6
by Cort Stratton
at 2017-11-28T16:27:21-08:00
inlined commitIdLen into assert
-
b12a392d
by Chris Forbes
at 2017-11-28T16:27:21-08:00
layers: Tidy up shader cache, reserve space before merging
-
b1260c07
by Cort Stratton
at 2017-11-28T16:27:21-08:00
layers: Check EXT_validation_cache's sole non-trivial VU
A cache can't be merged with itself.
-
24e36928
by Cort Stratton
at 2017-11-28T16:27:21-08:00
tests: Add test for vkMergeValidationCachesEXT()
-
f85ac0ee
by Cort Stratton
at 2017-11-28T16:27:21-08:00
layers: validation_cache review feedback
-
adfb0170
by Cort Stratton
at 2017-11-28T16:27:21-08:00
tests: validation_cache review feedback
-
ace0729f
by John Zulauf
at 2017-11-30T13:02:21-07:00
layers: Added PipelineMultiSample VUID checks
Added validation checks for:
VUID-VkPipelineMultisampleStateCreateInfo-sampleShadingEnable-00784
(VALIDATION_ERROR_10000620)
If the sample rate shading feature is not enabled,
sampleShadingEnable must be VK_FALSE
VUID-VkPipelineMultisampleStateCreateInfo-minSampleShading-00786
(VALIDATION_ERROR_10000624)
minSampleShading must be in the range [0,1]
Change-Id: I21cdaf99f8970df4f2e03026a4dae00746ad8386
-
90fb6280
by John Zulauf
at 2017-11-30T13:02:21-07:00
tests: Added PipelineMultiSample VUID tests
Added tests for validation checks:
VUID-VkPipelineMultisampleStateCreateInfo-sampleShadingEnable-00784
(VALIDATION_ERROR_10000620)
VUID-VkPipelineMultisampleStateCreateInfo-minSampleShading-00786
(VALIDATION_ERROR_10000624)
Change-Id: I49fcfc8f55275f27a976ea88619674c3b87285ae
-
dfa06abb
by John Zulauf
at 2017-11-30T13:02:21-07:00
layers: Update pipeline multisample pnext check
Updated validation check for
VUID-VkPipelineMultisampleStateCreateInfo-pNext-pNext
(VALIDATION_ERROR_1001c40d) to include the valid extension pNext sType
values valid for the current spec:
VkPipelineCoverageModulationStateCreateInfoNV,
VkPipelineCoverageToColorStateCreateInfoNV, or
VkPipelineSampleLocationsStateCreateInfoEXT
Change-Id: Ic3e054110c2bad4b44121a67e7e61e627fa9c559
-
9fc644b6
by John Zulauf
at 2017-11-30T13:02:21-07:00
tests: Tests for pipeline multisample pnext check
Added test for validation checks of
VUID-VkPipelineMultisampleStateCreateInfo-pNext-pNext
(VALIDATION_ERROR_1001c40d)
Change-Id: I41fb10698d88db1e4b143007c36b5a798e1adc6b
-
d9da0a31
by Karl Schultz
at 2017-12-01T11:29:42-07:00
demos: Fix barrier settings for texture in cube demos
Change-Id: Ibaa3901daa7a632022b67e53dd34f79be594ded1
-
1c667d91
by Tobin Ehlis
at 2017-12-01T15:04:14-07:00
layers:Add secondary CB warning
Fixes #2237
If VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not set by a
secondary command buffer, then any renderPass specified in the
inheritance info will be ignored. Adding a warning if a non-NULL
renderPass is included in the inheritance info but the
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT is not set. This is
likely an oversight by the user and the current validation error that
this case leads to (no active renderPass) doesn't directly point to the
root cause.
-
fd09bcdf
by Karl Schultz
at 2017-12-04T10:29:38-07:00
build: Change AppVeyor config to use multiple jobs.
This is a complete rewrite of the AppVeyor config file.
A separate job is used for each config in the Platform-Configuration
matrix. This helps get around the problem of the 60-minute limit per job.
The invocation of the update_external_sources script has been
replaced with individual commands to build glslang and spirv-tools
only for the platform configuration selected for each job.
This avoids having to build glslang and spirv-tools 4 times for each job.
-
cd99a311
by Jamie Madill
at 2017-12-04T13:24:39-07:00
loader: Fix Clang errors/warnings.
Fixes:
format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Werror,-Wformat]
error : expected ')' (issue with __FUNCTION__ and format string)
-
003c9346
by Jamie Madill
at 2017-12-04T13:24:39-07:00
layers: Remove unused variable from core validation.
-
9d392282
by Tobin Ehlis
at 2017-12-04T16:54:00-07:00
layers:Limit warning on secondary command buffer
Only warn if a secondary command buffer has a renderPass that is valid
and has not set VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT. This
avoid warning for the case where uninitialized data is present in the
renderPass handle.
-
21420916
by Petr Kraus
at 2017-12-05T12:06:32-07:00
tests: Update MismatchedQueueFamiliesOnSubmit
- report clearly if it is skipped
- don't rely on test state for the pool
- use VUID and update database
- should fix one of the "Unexpected" in CI tests
-
7da786d5
by Tobin Ehlis
at 2017-12-05T12:07:00-07:00
Revert "tests: Update MismatchedQueueFamiliesOnSubmit"
This reverts commit 21420916e4dee67474655fe08b3d1125598b407d.
-
9929d6c3
by Jason Ekstrand
at 2017-12-05T13:55:16-07:00
layers: Add warning for LOAD_OP_LOAD+LAYOUT_UNDEFINED
While not technically an error (VK_IMAGE_LAYOUT_UNDEFINED is always
allowed as an initial layout), this combination is almost never what
you actually want. If nothing else, it's a potential performance
problem because VK_ATTACHMENT_LOAD_OP_LOAD is liable to be more
expensive than VK_ATTACHMENT_LOAD_OP_DONT_CARE. Give developers a
helpful warning in this case.
This would have caught an actual bug in some of the Sascha Willems
demos as fixed in this PR:
https://github.com/SaschaWillems/Vulkan/pull/400
Change-Id: I73c64ae60a65cfb200db00707d650ec8da7ba130
-
a271e32e
by Mark Lobodzinski
at 2017-12-06T08:38:30-07:00
cmake: Fix layers/icd cmake files for in-tree builds
See Github #2243.
Change-Id: I40119c73a1518357df4360654c888b8306aa94d8
-
6dae233e
by Tobin Ehlis
at 2017-12-06T09:25:20-07:00
layers:Add image checks for DS image being cleared
Adding checks for two new VUIDs related to vkCmdClearDepthStencilImage
function. Making sure that the image being cleared supports use as a
transfer destination and that the image was created with the usage bit
VK_IMAGE_USAGE_TRANSFER_DST_BIT.
-
8f7e92fb
by Tobin Ehlis
at 2017-12-06T09:25:20-07:00
tests:Fix unused var warning
-
62e5c113
by Tobin Ehlis
at 2017-12-06T09:25:20-07:00
tests:Fix unexpected error
Update ClearDepthStencilImageErrors test to remove unexpected error.
Updated the error check to use VUID instead of text.
Also, this is the new name of the test in anticipation of testing at
least one more error condition in this same test.
-
e6327f28
by Tobin Ehlis
at 2017-12-06T09:25:20-07:00
tests:Add new case to ClearDepthStencilImageErrors
Add test case where VK_IMAGE_USAGE_TRANSFER_DST_BIT is not correctly
set for an image that is passed to vkCmdClearDepthStencilImage().
-
c9ea8205
by Petr Kraus
at 2017-12-06T09:27:18-07:00
tests: Update MismatchedQueueFamiliesOnSubmit
- report clearly if it is skipped
- don't rely on test state for the pool
- use VUID and update database
- should fix one of the "Unexpected" in CI tests
-
4c203886
by Petr Kraus
at 2017-12-06T09:30:08-07:00
tests: Separate LogicOp test
- separate LogicOp test so it does not choose what it is testing at
runtime
- update to `CreatePipelineHelper`
- use VUIDs and update database
- should fix one of the "Unexpected" in CI
-
3f948b98
by Petr Kraus
at 2017-12-06T09:43:48-07:00
tests: Add missing lineWidth parameters
-
8586284a
by Karl Schultz
at 2017-12-07T09:57:42-07:00
build: Remove clumsy syntax in Travis-CI config
We were using a clumsy workaround in order to
get good failure information when a Travis-CI build
failed and also to make it stop at the point of
failure.
This commit uses some techniques to workaround
travis-ci/travis-ci#1066, which asserts that
a Travis-CI job should stop when a before_install
or script command fails. Today, Travis-CI
continues with the next commands.
This was tested with both an intentional build
script error and a compilation error. In both
cases the Travis-CI job ended at the point of
failure and the logs were clear enough to
diagnose the problem.
-
5d574e9e
by Mike Schuchardt
at 2017-12-08T09:27:08-07:00
layers: VS2013 compatibility
Remove all usages of constexpr to restore compatibility with Visual Studio
2013. Also make a handful of other minor edits where the VS2013
compiler was reporting errors.
Change-Id: I3c426bea460a4a902ab306b01deb1d76d60f5fa2
-
af313b46
by Dave Houlton
at 2017-12-08T13:51:36-07:00
layers: Add descriptor limit checks to vkCreatePipelineLayout()
Change-Id: I570dc49652997cfaed7dcd6dfaf2e6f125f861cc
-
29cedfeb
by Dave Houlton
at 2017-12-08T13:51:36-07:00
tests: Add tests for VUs 0fe0023c-246
Add CreatePipelineLayoutExceedsSetLimit() which tests 0fe0023c.
Add CreatePipelineLayoutExcessPerStageDescriptors() which tests
VUs 0fe0023e, 0fe00240, 0fe00242, 0fe00244 & 0fe00246.
Change-Id: I3795e6a726c10626b33bac254c396db5fb8a8e6c
-
945bfde7
by Lenny Komow
at 2017-12-08T14:04:11-07:00
winsdk: Move file copying into NSIS installer
Change-Id: If01c5024af802be784d5ea0f897cebdcc604934d
-
8d01d976
by Dave Houlton
at 2017-12-08T15:04:48-07:00
Revert "tests: Add tests for VUs 0fe0023c-246"
This test fails on google's Vega system
This reverts commit 29cedfebcc891d85e938893166a3d919fc2845d2.
-
22450334
by Dave Houlton
at 2017-12-08T15:11:05-07:00
Revert "layers: Add descriptor limit checks to vkCreatePipelineLayout()"
Remove checks to avoid database complaints
This reverts commit af313b4683b42a9e4d15aa5819feddc1b9eee6d8.
-
25d93695
by Petr Kraus
at 2017-12-11T10:15:48-07:00
tests: Fix unsupported format in InvalidImageLayout
-
0acce61a
by Petr Kraus
at 2017-12-11T10:15:48-07:00
tests: Fix missing usage in ClearImageErrors
-
03ec2c43
by Petr Kraus
at 2017-12-11T10:15:48-07:00
tests: Fix empty queue families in device creation
-
b5ea696a
by Petr Kraus
at 2017-12-11T14:09:07-07:00
test: Fix image usage-feature check
- Fix checking linear image agains optimal features
- Add missing checks to the checking function
-
af850535
by Petr Kraus
at 2017-12-11T14:09:07-07:00
tests: Fix MiscImageLayerTests unsupported format
-
dec37fb9
by Dave Houlton
at 2017-12-12T10:07:24-07:00
layers: Add descriptor limit checks to vkCreatePipelineLayout()
Change-Id: I570dc49652997cfaed7dcd6dfaf2e6f125f861cc
-
3f445a6a
by Dave Houlton
at 2017-12-12T10:07:24-07:00
tests: Add tests for VUs 0fe0023c-246
Add CreatePipelineLayoutExceedsSetLimit() which tests 0fe0023c.
Add CreatePipelineLayoutExcessPerStageDescriptors() which tests
VUs 0fe0023e, 0fe00240, 0fe00242, 0fe00244 & 0fe00246.
Change-Id: I3795e6a726c10626b33bac254c396db5fb8a8e6c
-
055fc8fd
by Petr Kraus
at 2017-12-12T10:09:32-07:00
build: Clear some compiler warnings
- remove unnecessary ";" after function definitions and namespaces
- fix
wrong type match in printf for handle types
- convert some left-overs to `HandleToUint64`
-
cf6b0c31
by Tobin Ehlis
at 2017-12-12T11:11:18-07:00
icd:Update README with current status
-
c87a7701
by Jean-François Marquis
at 2017-12-12T13:14:23-07:00
layers: Add some missings locks of global_lock
Add locks of global_lock in BindBufferMemory, BindImageMemory
and GetImageSubresourceLayout to have safe access to imageMap
and bufferMap.
-
73bc841c
by Petr Kraus
at 2017-12-13T09:03:37-07:00
tests: Use avail. utils in pipeline viewport tests
-
744f46f2
by Petr Kraus
at 2017-12-13T17:43:22-07:00
tests: Clean up VKTriangleTest
- remove uniforms and descriptors and dependence on glm (not used
anyway)
- BsoFailSelect into non-mask enum
- add depth attachment if needed by test
- add proper image usage flag if it is going to be cleared
- fixups in PipelineObj create info
- make layout changes in clear destructive
- use SetLayout where appropriate instead of custom code
-
8858120c
by Tobin Ehlis
at 2017-12-13T17:43:22-07:00
tests:Correctly treat failMask as enum
-
1ac31e17
by Tobin Ehlis
at 2017-12-13T17:43:22-07:00
tests:Driver Workaround and notes
At least 1 device's driver is crashing when VK_REMAINING_* values are
used for range level and mip specifiers. Modify these cases to be hard-
coded values instead.
Also add some comments related to workarounds.
-
cce84a82
by Tobin Ehlis
at 2017-12-13T17:43:22-07:00
layers:Add VUID to existing check
Add VUID to existing check for VALIDATION_ERROR_0f6004ac and update
the DB file to reflect that this check is in place.
-
b3979d7f
by Tobin Ehlis
at 2017-12-14T16:36:05-07:00
tests:Re-enable DS attachment for TriTest
Three cases were disabling DS attachment to accomodate a driver bug,
but this is actually invalid for the tests.
Re-enabling the DS attachment for those cases as with device updates
and other workarounds, the tests are now working across all devices.
-
00fc37e8
by Mike Schuchardt
at 2017-12-15T08:41:49-07:00
tests: Fix InvalidCmdBufferPipelineDestroyed
Convert InvalidCmdBufferPipelineDestroyed test to use pipeline helper.
The original manually constructed pipeline was crashing at least one
driver.
Change-Id: I04854e8e2a14136e04e7baacdaaff2c39c1fbec8
-
96d59542
by Mike Schuchardt
at 2017-12-15T08:42:22-07:00
layers: Fix PV overflow
Buffer pCreateInfo->size was being truncated to uint32_t before
comparison with 0
Change-Id: Iba6b94f2a0df6514d1ffb79d38e6c0738ea44d71
-
08d2fe4f
by Mike Schuchardt
at 2017-12-15T08:42:22-07:00
tests: Refactor DSBufferLimitErrors
- Fix overflow for large values of max*BufferRange
- Support arbitrary min*BufferOffsetAlignment, ie from mock_icd
- Split storage and uniform buffer testing for more coverage on devices
where storage buffer limits can't be tested
Change-Id: Ibab36c76b93367c829f4f535ac710bb18f56e1bd
-
3d701240
by Dave Houlton
at 2017-12-15T09:39:50-07:00
layers: Repro and fix GH 2239
Modified positive test UncompressedToCompressedImageCopy to provoke
the issue reported in GH 2239
Fixed destination extents calculations in buffer_validation.cpp to
avoid the erroneous errors
Change-Id: I268f14a6be678d767df14f0a6694aca479854c3
-
76e66f8f
by Dave Houlton
at 2017-12-15T09:39:50-07:00
layers: improve const-ness in buffer_validation.cpp
Change-Id: Ic7a2ef6e26b76c1b5f3a4c279e0d15228513af9e
-
b50f981c
by Petr Kraus
at 2017-12-15T12:35:29-07:00
layers: Fix Graphics Pipeline pointers not ignored
Some VkGraphicsPipelineCreateInfo pointers must be ignored under some
conditions, but were not in the layers.
Add relevant tests.
Fix tests found broken (using depth or color without attachment in
subpass)
-
5e35670e
by Petr Kraus
at 2017-12-15T13:02:37-07:00
icd: Fix json for windows build
-
1a5b012c
by Petr Kraus
at 2017-12-15T15:18:26-07:00
demos: GH1054, make cube shaders inline
-
2f3e44a9
by Jamie Madill
at 2017-12-15T15:57:26-07:00
scripts: Prefer git.bat on Windows.
Calling git.bat seems to work in every instance, whereas some
installations don't have access to "git" directly.
-
b91f890a
by Jamie Madill
at 2017-12-15T16:40:00-07:00
scripts: Scan CWD in parameter validation script.
This makes it more easy to locate the header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.
Also reset the CWD after the header is found to keep the build intact.
-
0662b521
by Cody Northrop
at 2017-12-18T16:57:53-07:00
android: Update to NDK r16b
This allows us to switch to libc++ runtime as it is no longer beta:
https://android.googlesource.com/platform/ndk/+/ndk-release-r16/CHANGELOG.md
-
b7a95318
by Jamie Madill
at 2017-12-19T09:34:16-07:00
layers: Work around bugs in old STL versions.
Some old versions of the C++ STL have a few bugs with advanced features.
This works around two such issues:
- std::unordered_map::const_reference having the wrong type
- an error with an explicit std::vector constructor
-
5e522299
by Tobin Ehlis
at 2017-12-19T09:34:16-07:00
layers:Kill PV return code check
Most of these return code warnings were already removed from validation
so killing this one as well. They can potentially be re-added in an
assistant layer.
-
83032d7e
by Petr Kraus
at 2017-12-19T10:04:42-07:00
layers: Ignore pImmutableSamplers on non-samplers
-
c8056dac
by Petr Kraus
at 2017-12-19T10:04:42-07:00
tests: Add pos. test for ignored pImmutableSamplers
-
b11b5297
by Karl Schultz
at 2017-12-19T16:06:18-07:00
build: Add clang-format checking of pull request changes to CI
Check modified lines in a pull request for correct clang-format.
Note that checking is not performed unless there is a pull request.
Heavily leveraged from https://github.com/KhronosGroup/SPIRV-Tools.
-
6ab13d36
by Jamie Madill
at 2017-12-19T16:12:42-07:00
layers: Remove unused variable from core validation.
This commit was accidentally reverted in dec37fb9172:
layers: Add descriptor limit checks to vkCreatePipelineLayout()
-
73cb0550
by Tobin Ehlis
at 2017-12-19T16:34:03-07:00
tests:Remove functional check from ExternalMemory
The ExternalMemory test is a positive test that would only pass if
underlying device functionality was verified.
Remove the functional check as that is not appropriate for LVL tests.
The purpose of positive tests in LVL is to stress the validation layers
in specific cases that are known to have had bugs or have potential for
bugs. These tests shouldn't be validating underlying device
capabilities. CTS is the appropriate place for device functional tests.
-
fbc62776
by Petr Kraus
at 2017-12-19T17:43:24-07:00
demos: Remove vulkaninfo dependency on DISPLAY
-
62d8e875
by Mike Schuchardt
at 2017-12-20T14:45:34-07:00
tests: Turn off tr1 namespace deprecation warning
The tr1 namespace is used by Google Test and has been deprecated
starting with Visual Studio 15.5. Turn off the deprecation warning
until we can update Google Test to prevent the build from failing.
Change-Id: I351170ce015ea7abc18ece4db0a511dae6352bf0
-
fa774d8d
by Jamie Madill
at 2017-12-21T09:20:17-07:00
scripts: Scan CWD in object tracker generator.
This makes it more easy to locate a header in configs which have the
CWD set to something less obvious. In Chrome's case the build directory
is completely separated from the script directory.
Also reset the CWD after the header is found to keep the build intact.
This is similar to the change to the parameter validation generator.
-
a48d5799
by Petr Kraus
at 2017-12-21T09:21:12-07:00
tests: Make Handles moveable
-
9c94d709
by Petr Kraus
at 2017-12-21T09:21:12-07:00
tests: Add Obj vector transformation helpers
-
f2971fae
by Petr Kraus
at 2017-12-21T09:21:12-07:00
tests: Add VkDescriptorSetLayoutObj
-
f60c8980
by Petr Kraus
at 2017-12-21T09:21:12-07:00
tests: Transition to VkDescriptorSetLayoutObj
-
b34d494e
by Petr Kraus
at 2017-12-21T09:21:12-07:00
tests Add VkPipelineLayoutObj
-
b699ba8c
by Petr Kraus
at 2017-12-21T09:21:12-07:00
tests: Transition to VkPipelineLayoutObj
-
ff45df62
by Cody Northrop
at 2017-12-22T16:09:45-07:00
android: Add missing shaderc file
-
f2e4ff70
by Cody Northrop
at 2017-12-22T16:09:45-07:00
android: Roll back to NDK r15c
Until we can sort out issues with NDK r16 preventing us from
completing 32-bit test runs.
-
f6838b24
by Karl Schultz
at 2017-12-27T10:09:16-07:00
build: Address clang compilation warnings
-
d5c8ed40
by Jamie Madill
at 2017-12-28T11:58:26-07:00
layers: Fix git.bat fallback on Windows.
This fixes the external revision generator script to first try to
use 'git', then fall back to 'git.bat' if the first invocation throws
a WindowsError.
-
45f816a0
by Joey Bzdek
at 2017-12-28T14:55:20-07:00
layers: Change target name for devsim json
Fixes duplicate targets in layers / layersvt for VulkanTools
Change-Id: Ieb2577454743ac085153b04b2cbb3fcb25918578
-
3f7ce778
by Petr Kraus
at 2017-12-28T15:23:06-07:00
tests: Fix use of uninitialized var in VkBufferTest
- Fix use of uninitialized variable VulkanBuffer in VkBufferTest
- Separate case to `NULL`, and bogus value handle
- Add fake memory object instead of `SetUnexpectedError`
-
3ca916c6
by saschawillems
at 2018-01-02T09:47:53-07:00
Proper decoding for msbuild version number readout
-
0f1cc5c1
by Dave Houlton
at 2018-01-02T11:39:20-07:00
layers: Accept non-unique shader caps
Change-Id: If14c4c58a6b6df04e97f0f83d8f8eb9b26e866ad
-
742e860f
by Dave Houlton
at 2018-01-02T11:39:20-07:00
tests: test non-unique shader capabilities
Positive tests to verify use of non-unique shader capability IDs
Change-Id: If00e5d711a6a5b0ebfca35268b96f3dd7283e203
-
4801ac47
by Mark Lobodzinski
at 2018-01-02T17:30:18-07:00
build: Remove APP_MODULES from android Application.mk
This option is optional if all components are to be built. Removing
this will make VulkanTools trunk merges safer and easier.
Change-Id: I4c0bb13bf23924c49bb1b3bde1eaa26de1b180df
-
2ed46030
by Dave Houlton
at 2018-01-03T11:38:50-07:00
tests: Add a guard around noexcept in vktestbinding.h
VS2013 does not provide 'noexcept'. Layers had multiple occurences
of a NOEXCEPT macro to protect the VS2013 build. This commit
consolidates that macro to a single location in vk_sdk_platform.h,
which is also visible to the layer tests via test_common.h.
Updates the vktestbinding.h occurences of 'noexcept' to use the
NOEXCEPT macro.
Change-Id: I38bf8c08cda6fe75de78dff69050a913b47f91b1
-
2f61e6db
by Mike Schuchardt
at 2018-01-03T11:38:50-07:00
tests: Explicit move constructor/assignment
Provide move constructors and move assignment operators for
compatibility with Visual Studio 2013 which does not automatically
generate them.
Change-Id: I888d81c6805e67974005c45f3513399a28dce28b
-
0857eda8
by Mike Schuchardt
at 2018-01-03T11:38:50-07:00
build: Update BUILD.md to specify VS2013
Change-Id: I7533459cd338e233aad4d81ffc3c22aa87db1937
-
a5ced439
by Lenny Komow
at 2018-01-03T11:45:41-07:00
loader: Change overzealous warning to debug msg
Change-Id: Idde5f8c8f009e365bdcf1fffaffa669d0557d66b
-
0b734577
by Mike Schuchardt
at 2018-01-03T20:57:37-07:00
build: Retarget AppVeyor build to VS2013
Change-Id: I88665dadbac75695034a731412984edbecbf988f
-
1356b79c
by Karl Schultz
at 2018-01-04T07:52:12-07:00
icd: Move include to header to fix clang build
Move include <string> to header file to fix
clang build when using libstdc++.
Fixes #2303
Change-Id: Id2fc97be7cb83fa12ee1495ef57177c0a7dad893
-
749bee79
by guanghuafan
at 2018-01-04T10:52:11-07:00
Update android-build/cmake scripts to build with Android Studio 3.0.0+
-
b4cd19a7
by Karl Schultz
at 2018-01-04T15:08:26-07:00
build: Fix application of /bigobj compile flag
Fixes #2316
Affects only Windows builds.
Need to compile code that generates large object files
with the /bigobj option in order to avoid exceeding the
default number of sections in an object file.
This change applies the /bigobj compiler option to all
configurations, rather than just Debug.
It also applies it only to selected files, instead of
all the files in the project.
Although /bigobj is now applied to Release builds,
this does not increase build time.
-
8c388a00
by John Zulauf
at 2018-01-04T15:51:15-07:00
icd: GetImageSubresourceLayout zeros passed layout
Calling tests use return values from GetImageSubresourceLayout to
compute offsets in texures. Zero'd values are safe for this usage and
add minimal overhead to icd.
Change-Id: If52cf240925d2f7a41bb22d87519a918be5eb60a
-
c9c7afdf
by John Zulauf
at 2018-01-04T17:08:05-07:00
layers: Combine global binding start/end lookup
Binding start/end lookup where using two separate maps indexed on a
common key. Combined to avoid repeated lookups.
Change-Id: I57ed71736537de5eb83fe41599a8acec9bf23d13
-
30927cd8
by John Zulauf
at 2018-01-04T17:08:05-07:00
layers: Add cache of memory binding set for perf
Added a cache of the GetBoundMemory set to avoid its continual
regeneration at validation time. Call appeared in profile for high
descriptor count sets. Also cleaned-up memory binding state setting
to avoid code duplication.
Change-Id: I84beb411a83ab311d371be940e629fdb308f5458
-
598bbcca
by John Zulauf
at 2018-01-04T17:08:05-07:00
layers: Replace iterative DS Get.* with maps/sets
Profiling indicated hot spots in DescriptorSet Get functions which
iterated in binding space to lookup values. Replaced iterative searches
with maps/sets.
Additionally simplified construction, optimized map/set creation and
Get.* for DescriptorSet and DescriptorSetLayout.
Change-Id: Ia2948e56333d3643d4377b39e75acf4c951d558b
-
61e4ca90
by John Zulauf
at 2018-01-04T17:08:05-07:00
layers: Add validation caching for draw/dispatch
Validation of descriptors at draw or dispatch time is now cached, s.t.
without changes that affect validity, validation checks are not
repeated.
Change-Id: I713662d00813989bf4441921456afca431d730d7
-
437e1175
by Mark Lobodzinski
at 2018-01-05T09:01:45-07:00
docs: Add governance doc, Update readme, contributing
Change-Id: I92bebd8a33df564daff1b44633e79b56ffa6ae86
-
34cd2e6c
by Mark Lobodzinski
at 2018-01-05T09:01:45-07:00
docs: Additional updates and corrections
Change-Id: Id2ade62aa11fb013b405e8426fdf4f90a05a48a4
-
d3c0ef80
by Mark Lobodzinski
at 2018-01-05T09:04:50-07:00
docs: Updated for README formatting on github
Change-Id: I774ceb555f38eff24d2b69ce83ea638f1ea53138
-
7896de04
by Mark Lobodzinski
at 2018-01-05T10:37:58-07:00
layers: Create instance & device extension lists
Added constant lists of device and instance extension names to
vk_extension_helper.h.
Change-Id: I4273aea866cbfea176a2631e04223ce92443caf0
-
c49c854f
by Mark Lobodzinski
at 2018-01-05T10:37:58-07:00
layers: Use common ext lists in unique_objects
Change-Id: I6d3ac8921dcc648df606040794029733c0516eeb
-
43a25089
by Mark Lobodzinski
at 2018-01-05T10:37:58-07:00
layers: Remove unique_objects ext list generation
Change-Id: I9b958f1799f1cab76a69c4de35590745d3e7a852
-
eee64905
by Karl Schultz
at 2018-01-05T13:59:47-07:00
build: Improve update ext srcs script for better CI
Add options (--debug --release --32 --64) to the
update_external_sources.bat script so that it can
be used to build external libraries for only the
desired platform/configuration combinations.
This helps the AppVeyor CI builds by building only
the platform/configuration combination needed for the
current job.
-
997034f3
by Karl Schultz
at 2018-01-05T13:59:47-07:00
build: Allow more control in windows build script
build_windows_targets.bat now accepts 'debug' and 'release' parameters
to select the building of these configurations.
-
b3fc63b6
by Joey Bzdek
at 2018-01-05T16:54:47-07:00
Add .vscode to .gitignore
Metadata created by new lightweight IDE from microsoft, vscode
Change-Id: Ie250a850d190922e5666e975463d4fa96a1f270e
-
d5e8c227
by Mark Lobodzinski
at 2018-01-08T08:06:19-07:00
docs: Updates for governance, readme
Change-Id: I98fbb73d85b14560c901c86264500c927ac679b4
-
03ca6b49
by Mark Lobodzinski
at 2018-01-08T11:33:52-07:00
header: Update to version 1.0.67 of the Vulkan hdr
- updated vulkan.h
- updated cgenerator.py
- updated generator.py
- updated reg.py
- updated vk.xml
- updated layer json files
- updated vulkan.hpp
- updated vuid_mapping.py
- updated vk_validation_error_database.txt for spec changes, new VUIDs
- updated vk_validation_error_messages.h
Change-Id: Ifb67cf406aa82bf89e72ccfa4e1320cb3b199656
-
e42c65bc
by John Zulauf
at 2018-01-08T15:28:39-07:00
layers: Make DescriptorSetLayout robust for CTS
CTS sends an invalid descriptor set that the validation tracking was not
robust to -- two binding with identical binding ID values. After
reporting the invalid input data, the test application could crash.
Validation internal data is now created in a way that invalid data
should less easily cause program termination.
Change-Id: Ib84a5234267f7bece9be377badd22696e3633b1b
-
294697ec
by Mark Lobodzinski
at 2018-01-08T16:05:55-07:00
scripts: Remove unused source_line_info.py
Change-Id: I1e8db79c88749a9c60469f01838dd1c485061528
-
f8ed1a07
by Mark Lobodzinski
at 2018-01-08T16:05:55-07:00
scripts: Default doc validator to non-verbose mode
Change-Id: Ib62e92a3b84609df55179e4868e5030a010f712f
-
54c67413
by Karl Schultz
at 2018-01-08T19:15:15-07:00
build: Remove Mock ICD JSON file from install target
The mock ICD shouldn't be installed or be part of packages
that use the "make install" target to create packages.
The mock ICD shared lib wasn't added, but the JSON was.
-
8f324b0d
by Lenny Komow
at 2018-01-09T14:11:20-07:00
loader: Add pre-instance functions for layers
Allow implicit layers (not explicit) to intercept calls before an
instance has been created.
Change-Id: I41f5bb0f5a6314fbab8003ebe71059dd04afc860
-
874fbdaa
by Lenny Komow
at 2018-01-09T14:11:20-07:00
docs: Update loader doc for pre-instance layers
Change-Id: I4780d36714a6a15c4c57cd0f6324f640249a9427
-
b103ee6a
by Mike Weiblen
at 2018-01-09T20:25:53-07:00
MikeW's private development tools.
These tools are not intended to be pushed to master.
Includes Makefile for Linux, .bat files for Windows.
-
6cc77123
by Lenny Komow
at 2018-01-09T20:26:02-07:00
TEST: Create pre-instance intercept test case
This commit should NOT be merged into master as it screws up core
validation. It is useful for testing purposes, to test the pre-
instance layer functionality.
Change-Id: Id4e078aac4289a4b951da0cb85b20306c7007597
-
44bf63f1
by Dave Houlton
at 2018-01-16T11:28:24-07:00
layers: add remaining descriptor limit VUs
Add 9 remaining VUs (0fe00d18...d28) that check descriptor counts
against device limits during CreatePipelineLayout(). Modify existing
tests of per-stage limits to expect additional errors when they
also exceed the summed-stage limits.
Change-Id: I75fb1554050f134c844b12670f96e3f0b3fee75c
-
88e4bad5
by Dave Houlton
at 2018-01-16T11:28:24-07:00
tests: add tests for descriptor limit VUs
Add per-stage limit check for input attachments to existing test.
Add new test for all-stages summed descriptor limits VUs.
Change-Id: I3a245f34ebaff524f1de17c0174bba63bbd0f537
-
bac73314
by Petr Kraus
at 2018-01-16T11:28:24-07:00
layers: Make ValidateGreaterThan report vuid etc.
- make ValidateGreaterThan report proper vuid and other log_msg
parameters
- make ValidateGreaterThanZero to avoid having to convert common 0
literal (for template deduction)
- update check and remove redundant ones in core_validation
-
02369dd8
by Petr Kraus
at 2018-01-16T11:28:24-07:00
tests: Update CreateImageLimitsViolationMinWidth
- add descriptions
- simplify param selection (format, usage)
- test all possible cases, not just width
- update vuids (fix on unexpected msg)
-
b8a2c8fe
by Petr Kraus
at 2018-01-16T11:28:24-07:00
tests: Add mipLevels and arrayLayers zero tests
-
7bc436cd
by Petr Kraus
at 2018-01-16T11:28:24-07:00
tests: Add buffer creation zero size test
-
47bc78af
by John Zulauf
at 2018-01-16T11:28:24-07:00
layers: Make bind more robust to invalid memory
Added nullptr check to BindBufferMemory and BindImageMemory validation
to cope with invalid memory arguments (reported elsewhere).
Change-Id: I52266490ccfe9eff7d5f451cddc4d3bbf94b3c5d
-
fdbf6f37
by Artem Kharytoniuk
at 2018-01-16T11:28:24-07:00
layers: Fix typos in ValidateUpdateDescriptorSets
-
0d034c42
by Yuly Novikov
at 2018-01-16T11:28:24-07:00
layers: Fix Android build
ndk-bundle/sources/cxx-stl/llvm-libc++/include/set
expects comparator's operator() to be const.
-
cb19c6cc
by Karl Schultz
at 2018-01-16T11:28:24-07:00
build: Use DevSim from a VulkanTools build in CI
- Change Travis-CI to build VulkanTools and use the resulting
DevSim binary instead of the one checked into the repo.
- Delete the DevSim binary and JSON file from layers/linux.
- Remove CMake rules related to DevSim binary.
-
33a39f55
by Lenny Komow
at 2018-01-16T11:28:24-07:00
build: Fix linux 32-bit assembly config
This fixes a bug whereby 32-bit Linux builds would not be able to
use the assembly code as the try_compile command would fail when it
attempted to link with compiler flags
Change-Id: I6e4479fb7926169a7fa5c01876834cdae8c3b637
-
c965674f
by Mike Weiblen
at 2018-01-16T11:53:43-07:00
Revert "TEST: Create pre-instance intercept test case"
This reverts commit 6cc77123f101f88d246a8cbdf85cc601b5fde82c.
-
7ec9845b
by Mike Weiblen
at 2018-01-16T11:54:01-07:00
Revert "MikeW's private development tools."
This reverts commit b103ee6a86b3296c4db52598d77ce792127a6082.
-
c76811ba
by Jeremy Kniager
at 2018-01-16T11:59:09-07:00
layers: Add checks for extention DynamicViewports
Change-Id: I2819d47ab163519689ece94535c6c880f275bf72
-
df2ba6cd
by Slawomir Cygan
at 2018-01-16T15:46:32-07:00
Loader: fix open registry handle leak
Each handle returned by RegOpenKey*() API functions should be
closed using RegCloseKey().
This change fixes AppVerifier warning on leaklin HKEY objects.
-
a2be059b
by Lenny Komow
at 2018-01-16T15:49:54-07:00
loader: Clean up mutexes on destruction
Change-Id: I7d1524da9167a576420c109ebbce8ebb5121cad0
-
7cc9e754
by Mark Lobodzinski
at 2018-01-17T11:40:37-07:00
header: Update to version 1.0.68 of the Vulkan hdr
- updated vulkan.h
- updated vk.xml
- updated layer json files
- built and updated vulkan.hpp
- updated vk_validation_error_messages.h
- updated vk_validation_error_database.txt
Change-Id: I5aff6147531f9b91164849ee590f7f86e46e4652
-
98776efd
by John Zulauf
at 2018-01-17T14:03:37-07:00
layers: Fix doc validation file list check
The check for required files was counting the files multiple times and
aborting silently. The check now correct counts files and exits with
non-zero exit code on failure.
Change-Id: I5b158f7cca0dd541571d95c00c3450139daf32c4
-
f2c323cd
by Dave Houlton
at 2018-01-18T09:31:27-07:00
layers: Add group size param checks to CmdDispatch
Added parameter validation checks to group size parameters against
device limits, for vkCmdDispatch() and vkCmdDispatchBaseKHX().
Change-Id: Ic41031d694c6d311431fc49f48b1427a2b042337
-
1ce1abf9
by Dave Houlton
at 2018-01-18T09:31:27-07:00
tests: Add tests for CmdDispatch params
Change-Id: I087f412f3eccd02f040936d917eeea057e55407e
-
323def71
by Dave Houlton
at 2018-01-18T09:31:27-07:00
layers: clang-format parameter_validation_utils.cpp
Change-Id: I3ade2b8c7dc63f0b902b17d8cc3f9c48ca21fb23
-
f85ab755
by John Zulauf
at 2018-01-18T10:20:18-07:00
layers: Add printf style formatting of std::string
Added utility for formatting output to std::string, using sprintf style
arguments.
Change-Id: Ib95fb55f38cc85a1b24cf6aac7761fc9b7c67376
-
f57f451e
by John Zulauf
at 2018-01-18T10:20:18-07:00
layers: Add validation for destroyed layouts
Add three tests to flag with descriptor set update operations are being
done to descriptor sets with destroyed descriptor set layouts. The tests
use overload VUID (generic "must be valid * handles) which need to be
replaced with specific ones when they are added to the spec.
VALIDATION_ERROR_15c00280 (write dst must be valid) ->
write dst created from destroyed layout
VALIDATION_ERROR_03207601 (copy dst must be valid) ->
copy dst created from destroyed layout
VALIDATION_ERROR_0322d201 (copy src must be valid) ->
copy src create from destroyed layout
Change-Id: I8a3edc67b3e86037cdaa6353176814abfddef1a0
-
c381d7ad
by John Zulauf
at 2018-01-18T10:20:18-07:00
tests: Add validation for layout lifetime issues
Add unit tests for valid usages that flag when descriptor set update
operations are being performed with descriptor sets create from
destroyed descriptor set layouts. The tests use overloaded VUIDs
(generic "must be valid * handles) which need to be replaced (and
unclaimed) with specific ones when they are added to the spec.
VALIDATION_ERROR_15c00280 (write dst must be valid) ->
write dst created from destroyed layout
VALIDATION_ERROR_03207601 (copy dst must be valid) ->
copy dst created from destroyed layout
VALIDATION_ERROR_0322d201 (copy src must be valid) ->
copy src created from destroyed layout
Change-Id: Ic37a745120899c072e2e5d8ceb96c5d93074355e
-
50afd58e
by Lenny Komow
at 2018-01-18T16:06:06-07:00
loader: Fix enabling extensions from layers
This resolves a bug where it was impossible to enable an extension
that was defined in a layer if that layer was not passed by the
application. This applied to implicit layers, explicit layers enabled
by environment variables, and metalayers.
Change-Id: I03bee6fb778936d970f78b9142679654424f80ae
-
b06f29af
by Dave Houlton
at 2018-01-19T16:14:12-07:00
tests: Add positive test, repro GH issue 2350
GetImageSubresourceLayout() validation produces a false positive
when the image uses a multi-planar format defined in the
VK_KHR_sampler_ycbcr_conversion extension. This test reproduces
the error reported in github issue #2350.
Change-Id: I358c041ce6a5847dec9aaa60fa4d94f2deb302a6
-
f1811ff5
by Dave Houlton
at 2018-01-19T16:14:12-07:00
layers: Add GetImgSubrscLayout multi-planar VUIDs
Adds new VUIDs defined in the VK_KHR_sampler_ycbcr_conversion
extension to vkGetImageSubresourceLayouts(), and corrects the
false positive error reported in GH issue #2350.
Change-Id: Ia2814291291c7109fabd33af6119a9209e08dd51
-
016978ae
by Dave Houlton
at 2018-01-19T16:14:12-07:00
tests: add test for new multiplanar VUIDs
Change-Id: Ie3d95d1de3363f81eae31bc11cf9d3fe4655dec7
-
3aed0935
by Dave Houlton
at 2018-01-19T16:14:12-07:00
travis: fix clang-format nit
Change-Id: I119143fbe481fcbdea527b44d0d64e6a150ce186
-
6dcf1fb0
by Joey Bzdek
at 2018-01-19T16:43:48-07:00
loader: Restore pNext data in CreateDevice
In the terminator for CreateDevice, the
VkDeviceGroupDeviceCreateInfoKHX struct in the pNext chain is
replaced by a copy that has VkPhysicalDevice handles remapped. At the
end of the terminator, restore the modified pNext pointer to
partially comply to the const argument and give consistent behavior
to the caller.
Change-Id: I83a60a0102a736d056729383733e62b38b0ace2c
-
97937d37
by Lenny Komow
at 2018-01-19T16:44:17-07:00
loader: Fix static library initialization
Fix the loader's global initialization being skipped when the loader
is built as a static library on windows
Change-Id: I492f87104fb3bf32aed3c7d251dee2caeb4f00ba
-
817b1301
by Mark Lobodzinski
at 2018-01-22T11:16:43-07:00
cmake: Fix non-existant cmake variable
Specified cmake variable does not exist, caused problems in some
out-of-source builds.
Change-Id: I526117ef060efea40451752e5fe7bad1e7a5589e
-
b111f5cf
by Mark Lobodzinski
at 2018-01-22T11:16:43-07:00
cmake: Add PROJECT_BINARY_DIR to cmake files
Tests and test/layers CMakeLists.txt files were missing
this include path variable. This prevents LVL from building when
used as a submodule.
Change-Id: I0746b9ef280ca0bdd75a0a539c5bdc78114a60ba
-
560fa79a
by Jean-François Roy
at 2018-01-23T09:50:02-07:00
scripts: Exit from vuid_mapping.py with status 1 on errors
This patch modifies scripts/vuid_mapping.py to exit with status 1 on
errors. This allows the build system to fail code generation rules that
depend on this script.
Change-Id: I5659ae80e1989ea7530c9257e7619a9b35cc7294
-
7239b106
by Mark Lobodzinski
at 2018-01-23T09:52:37-07:00
cmake: Fix externals for submodule/subtree builds
Change-Id: Ia1c31ff75c9bf5c3d1ae9b903213437c3ae1ef06
-
6c6a78c5
by John Zulauf
at 2018-01-23T11:07:07-07:00
layers: Refactor and add image/buffer barrier VUID
Refactor existing image barrier VUIDs for source and destination queue
family index validation to include all queue family tests. Refactor
validation enables reuse by buffers, all VUID's have parallel usages.
Extant test for VUID...1200 was converted to use VALIDATION_ERROR_...
semantics.
VUIDs refactored(*)/new:
VALIDATION_ERROR_0a000960* VUID-VkImageMemoryBarrier-image-01200
VALIDATION_ERROR_0a000962 VUID-VkImageMemoryBarrier-image-01201
VALIDATION_ERROR_0a00096a VUID-VkImageMemoryBarrier-image-01205
VALIDATION_ERROR_0a000dce VUID-VkImageMemoryBarrier-image-01767
VALIDATION_ERROR_0a000dd0 VUID-VkImageMemoryBarrier-image-01768
VALIDATION_ERROR_0a00095e* VUID-VkImageMemoryBarrier-image-01199
VALIDATION_ERROR_0a000aca VUID-VkImageMemoryBarrier-image-01381
VALIDATION_ERROR_0a000dcc VUID-VkImageMemoryBarrier-image-01766
VALIDATION_ERROR_0180094e VUID-VkBufferMemoryBarrier-buffer-01191
VALIDATION_ERROR_01800dc6 VUID-VkBufferMemoryBarrier-buffer-01763
VALIDATION_ERROR_01800952 VUID-VkBufferMemoryBarrier-buffer-01193
VALIDATION_ERROR_01800dca VUID-VkBufferMemoryBarrier-buffer-01765
VALIDATION_ERROR_01800dc8 VUID-VkBufferMemoryBarrier-buffer-01764
VALIDATION_ERROR_0180094c VUID-VkBufferMemoryBarrier-buffer-01190
VALIDATION_ERROR_01800950 VUID-VkBufferMemoryBarrier-buffer-01192
VALIDATION_ERROR_01800958 VUID-VkBufferMemoryBarrier-buffer-01196
Change-Id: I9568e8f77df1cf030dfaf60877deab37e8e12e38
-
76197ee4
by John Zulauf
at 2018-01-23T11:07:07-07:00
tests: Add VK_SHARING_MODE_CONCURRENT support
Added support for the creation of buffer and image resources with
VK_SHARING_MODE_CONCURRENT in framework.
Change-Id: Ie3c042d20a01b6988a15e225427a547689de96d1
-
02d7ad5f
by John Zulauf
at 2018-01-23T11:07:07-07:00
tests: Add barrier queue family index tests
Add validation layer tests for Buffer and Image memory barriers.
VUIDs test refactored(*)/new:
VALIDATION_ERROR_0a000960* VUID-VkImageMemoryBarrier-image-01200
VALIDATION_ERROR_0a000962 VUID-VkImageMemoryBarrier-image-01201
VALIDATION_ERROR_0a00096a VUID-VkImageMemoryBarrier-image-01205
VALIDATION_ERROR_0a000dce VUID-VkImageMemoryBarrier-image-01767
VALIDATION_ERROR_0a000dd0 VUID-VkImageMemoryBarrier-image-01768
VALIDATION_ERROR_0a00095e VUID-VkImageMemoryBarrier-image-01199
VALIDATION_ERROR_0a000aca VUID-VkImageMemoryBarrier-image-01381
VALIDATION_ERROR_0a000dcc VUID-VkImageMemoryBarrier-image-01766
VALIDATION_ERROR_0180094e VUID-VkBufferMemoryBarrier-buffer-01191
VALIDATION_ERROR_01800dc6 VUID-VkBufferMemoryBarrier-buffer-01763
VALIDATION_ERROR_01800952 VUID-VkBufferMemoryBarrier-buffer-01193
VALIDATION_ERROR_01800dca VUID-VkBufferMemoryBarrier-buffer-01765
VALIDATION_ERROR_01800dc8 VUID-VkBufferMemoryBarrier-buffer-01764
VALIDATION_ERROR_0180094c VUID-VkBufferMemoryBarrier-buffer-01190
VALIDATION_ERROR_01800950 VUID-VkBufferMemoryBarrier-buffer-01192
VALIDATION_ERROR_01800958 VUID-VkBufferMemoryBarrier-buffer-01196
Change-Id: Icf5d7f1ddbeeab90324cfb034648813741a65398
-
950d71ea
by John Zulauf
at 2018-01-23T13:22:21-07:00
tests: Add create_info to two additional wrappers
Added create_info utilies to BufferView and DescriptorPool in
vk_testing.
Change-Id: I0039aa7177e34a0acc40ec3be5f59957b242bcb6
-
75981956
by John Zulauf
at 2018-01-23T13:22:21-07:00
tests: Clean up/use framework in DSUsageBitsErrors
Cleaned up DSUsageBitsError, using the framework calls to reduce
boilerplate code to improve maintainability and readability.
Change-Id: I38f40ab2392f9877939f25c1df54ef07d74c0f36
-
b28d92ca
by Mark Lobodzinski
at 2018-01-23T16:34:59-07:00
cmake: Fix glslang validator cmake hint path
Change-Id: I098b4ce4dcb924bcc1fc15da50332118a0756a43
-
fcf10a84
by Mark Lobodzinski
at 2018-01-25T11:12:15-07:00
demos: Update cube/smoke for submodule compatibility
-
c00ae5e4
by Chris Forbes
at 2018-01-26T09:54:45-08:00
Don't complain about unused vertex buffers being VK_NULL_HANDLE
-
92759a04
by John Zulauf
at 2018-01-26T13:00:21-07:00
layer: Add utility template for sType init
Add utility function to auto populate sType field based on typename
given to autogen of typemap helper. Return value optimization (copy
elision) should make this perfomance neutral vs. inline init.
Change-Id: I231cf92d5063c19f9ad5b14189dd162fdac76a43
-
c115c81e
by John Zulauf
at 2018-01-26T13:00:21-07:00
icd: Add VK_KHR_push_descriptor to blacklist
As VK_KHR_get_physical_device_properties2 pNext structure queries are
not implemented within mock_icd,
VkPhysicalDevicePushDescriptorPropertiesKHR::maxPushDescriptors cannot
be queried by the validation layers, causing numerous test failures when
this limit is checked (in a subsequen commit). Added to ignore until
such time it is correctly reported.
Change-Id: I77b9a37c9ab2ce3e730b7fa6596e23ccc2be8d8c
-
e13b0d1d
by John Zulauf
at 2018-01-26T13:00:21-07:00
layers: Add push descriptor set layout create VUID
Add VUID checks to vkCreateDescriptorSetLayout for push descriptor sets.
Additional checks include:
VALIDATION_ERROR_05000230 VkDescriptorSetLayoutCreateInfo-flags-00280
VALIDATION_ERROR_05000232 VkDescriptorSetLayoutCreateInfo-flags-00281
Also added check for use of
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR when the
required extension VK_KHR_push_descriptor is not enabled.
Updated CreateDescriptorSetBindingWithIgnoredSamplers test, which
violated the above check.
Change-Id: Ie009019bbb7859553df92473796a1a929a9464f7
-
6d71c647
by John Zulauf
at 2018-01-26T13:00:21-07:00
tests: Add tests for push DS layout create VUIDs
Added tests for additional valid usage checks:
VALIDATION_ERROR_05000230 VkDescriptorSetLayoutCreateInfo-flags-00280
VALIDATION_ERROR_05000232 VkDescriptorSetLayoutCreateInfo-flags-00281
Added test for "required extension" present check for creation of DS
layout with push descriptors flag set.
Change-Id: Ia274d9ce3ee38ec686e52c4101a6d0573294f852
-
21a24d42
by John Zulauf
at 2018-01-31T09:12:35-07:00
layers: Add check for push descriptor allocation
Add validation check for attempting to use vkAllocateDescriptorSets with
a descriptor set layout create with the push descriptor flag
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set.
Checks added:
VALIDATION_ERROR_04c00268
VUID-VkDescriptorSetAllocateInfo-pSetLayouts-00308
Change-Id: I81bed8e7eb5396f7a716b6a14b648b5051127259
-
702598fc
by John Zulauf
at 2018-01-31T09:12:35-07:00
tests: Add test for push descriptor allocation
Add unit test case for attempting to use vkAllocateDescriptorSets with a
descriptor set layout created with the push descriptor flag
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set.
Test cases added:
VALIDATION_ERROR_04c00268
VUID-VkDescriptorSetAllocateInfo-pSetLayouts-00308
Change-Id: If11e12a3dd51f4c796178b89d8e9077a5227407c
-
43f9ad86
by John Zulauf
at 2018-01-31T09:12:35-07:00
layers: Improve doc validation init-list parsing
Change VALIDATION_ERROR_ parsing to correctly recognize error ids in
initializer lists, including the formatting as done by clang-format.
{VALIDATION_ERRROR_nnnn, ... VALIDATION_ERROR_nnnn}
Change-Id: I25a1c0d0c9181ece458f7c83d2f184abea8d1f4a
-
a176c470
by John Zulauf
at 2018-01-31T09:12:35-07:00
layers: Add CmdPushDescriptorSet parameter checks
Added the stateful parameter checks for push descriptor.
VALIDATION_ERROR_1be02415
VUID-vkCmdPushDescriptorSetKHR-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VALIDATION_ERROR_1be002d6
VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363
pipelineBindPoint must be supported by the commandBuffer's parent VkCommandPool's queue family
VALIDATION_ERROR_1be002da
VUID-vkCmdPushDescriptorSetKHR-set-00365
set must be the unique set number in the pipeline layout that uses a descriptor set layout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
VALIDATION_ERROR_1be002d8
VUID-vkCmdPushDescriptorSetKHR-set-00364
set must be less than VkPipelineLayoutCreateInfo::setLayoutCount provided when layout was created
// Not implemented using VUID as ValidateCmd currently doesn't support (TODO)
VUID-vkCmdPushDescriptorSetKHR-commandBuffer-recording
commandBuffer must be in the recording state
Change-Id: I52f39780003e23953dd2dc46ec007e884c04fa5b
-
19441f1c
by John Zulauf
at 2018-01-31T09:12:35-07:00
tests: Add queue family selection utility
Add additional queue family selection utility for choosing queue
families based on both required and restricted capabilities. Refactored
existing utility to use new utility.
Change-Id: I3c92cfdbbe6463bf1730f2173e91424e082063ce
-
b869d929
by John Zulauf
at 2018-01-31T09:12:35-07:00
tests: Add unit test for push descriptor set VUIDs
Add the unit test case for the following added checks.
VALIDATION_ERROR_1be02415
VALIDATION_ERROR_1be002d6
VALIDATION_ERROR_1be002da
VALIDATION_ERROR_1be002d8
VUID-vkCmdPushDescriptorSetKHR-commandBuffer-recording
Change-Id: Ib9aa008ab87dddead3eb086d5c8ed3fb94f5f187
-
ebfbbabf
by Mike Schuchardt
at 2018-01-31T16:26:01-07:00
layers: Mem reqs 2 entry points
Add entry points for VK_KHR_get_memory_requirements2 and wire up to
existing validation.
Change-Id: I3f9170b0171efc5a22ddb1e3b68185cedd17bca5
-
8d51a4b4
by Mike Schuchardt
at 2018-01-31T16:26:01-07:00
tests: Positive test case for KHR memory req 2
Add positive test case with simple usage of
VK_KHR_get_memory_requirements2 that was causing incorrect validation
errors.
Change-Id: I07355823fddc865a7d5e1369ffe45d5bf1fe3f8e
-
e012edd2
by Mike Schuchardt
at 2018-01-31T16:26:01-07:00
layers: Bind mem 2 entry points
Add entry points for VK_KHR_bind_memory2 and wire up to existing
validation
Change-Id: Iab17ead7a6f6f44fdbdf2ad5033d2ea7e47447d0
-
9024e873
by Mike Schuchardt
at 2018-01-31T16:26:01-07:00
layers: Pass through bind mem 2 entry point names
Change-Id: I62510d1759c7cd3ca81b3c7e57a153b7c863250b
-
86f6d513
by Mike Schuchardt
at 2018-01-31T16:26:01-07:00
tests: Positive test case for KHR bind mem 2
Add positive test case with simple usage of VK_KHR_bind_memory2 that was
causing incorrect validation errors.
Change-Id: I9502b5f933e288c6d20f909d9d007b3b1e3abdef
-
34792567
by Mark Lobodzinski
at 2018-01-31T18:34:27-07:00
demos: Fix output location of smoketest
-
e7818f7c
by Mark Lobodzinski
at 2018-02-01T14:26:28-07:00
layers: Add LAYER_EXPORT specifiers to vk_layer_config
Required for hassle-free linking to layer_utils lib.
-
9fcba6b9
by Karl Schultz
at 2018-02-01T16:06:26-07:00
build: Need to build LVL layers in CI to get utils
Layer utils now exist only in LVL, so when we build VulkanTools
in LVL CI (just to get devsim layer), we need to turn on LVL
layer building in order to get the layer util libs.
Change-Id: I4cc6df4ed0a782afeec19c61dc05bcc2bad47756
-
bc57ceaf
by Chris Forbes
at 2018-02-02T10:55:00-08:00
tests: Fix various issues in VkLayerTest.IncompatibleRenderPass
- Swap the roles of the two renderpasses to avoid CmdBeginRenderPass
complaining about mismatches between framebuffer and rp
- Get rid of spurious input attachment which caused extra error
messages. If the input attachment case is interesting, we should test
for it separately. The rest of this test only cares about a format
difference between the renderpasses.
-
1b8de137
by Mark Lobodzinski
at 2018-02-05T13:15:30-07:00
cmake: Move LVL temp/worker targets into subfolder
This sets up cmake to locate the temporary or worker MSVC projects
into a subfolder called lvl_cmake_targets. This simply unclutters
the Visual Studio Solution Explorer projects pane, and does not
affect functionality.
Change-Id: I6933d05758d6f174a4f66ceaef51d43627210e4f
-
2ae360cc
by John Zulauf
at 2018-02-05T15:25:45-07:00
layers: Fully normalize/populate CMD_TYPE enum
Add all vkCmd.* (plus vkEndCommandBuffer) to the CMD_TYPE, normalizing
the naming to be consistent with the function names.
Change-Id: I50503a4e180d726b330c42db050a1336221213f6
-
647670f9
by John Zulauf
at 2018-02-05T15:25:45-07:00
layers: Add err-id/coverage for 'recording state'
Added map from CMD_TYPE to validation error for "must be in the
recording state" valid usage ID. Add complete check coverage
(except vendor/KHX extensions) for this class of VUID. Coverted
existing checks to use common code.
Change-Id: I38f71cce2a0f090f2685074239a1b429bbf95d8c
-
b8072763
by Cort Stratton
at 2018-02-05T16:05:28-07:00
layers: Improve validation cache ID parsing
- Code previously assumed that SPIRV_TOOLS_COMMIT_ID was a SHA1 hash;
this assumption is now more explicit.
- Replace some literal constants with VK_UUID_SIZE.
- Handle the purely hypothetical case where VK_UUID_SIZE*2 > SHA1 size
-
27af654f
by Cort Stratton
at 2018-02-05T16:05:28-07:00
scripts: Fix error if spirv-tools dir had no .git (#2346)
external_revision_generator.py generates a UUID for
VkValidationCacheEXT objects created by the layers, based on
the commit ID of the HEAD revision in the spirv-tools repo
used to build those layers. This implicitly required that
the spirv-tools source is hosted in a Git repository, which
is not the case in all validation layers build environments.
The script has been modified to accept *either* a path to
a Git working directory to query *or* a path to a file whose
contents are SHA1-hashed (if necessary) and treated as the
"commit ID" for the project.
Call sites for the script in the CMake and Android build paths
have been updated to use the --git_dir approach by default,
which matches the pre-existing behavior.
-
cd5a640a
by Cody Northrop
at 2018-02-05T16:05:28-07:00
scripts: Update android-generate to support UUID
This allows use of the script as is, automatically
selecting git_dir vs. rev_file based on detected paths.
-
968241bd
by Mark Lobodzinski
at 2018-02-05T16:18:55-07:00
icd: Remove dead code from CMakeLists.txt
Change-Id: I6b60b2e71568a3a88a3366b04ab7cf911fa05526
-
62506a77
by Mark Lobodzinski
at 2018-02-05T16:18:55-07:00
build: Move layer_utils build to top-level cmake
DevSim requires this library, but it is only built in LVL if LAYERS
are built. Moved the generation of this library out of the layers
cmake file and into the root cmake file.
Change-Id: I1c633e981fa1843cfb49204d2ac130beb8d99dfc
-
63f3a40c
by Dave Houlton
at 2018-02-05T16:57:03-07:00
layers: Add CreateImage valid usage checks
Adds 17 valid usage checks of ImageCreateInfo struct. 13 in core
validation, 4 in parameter validation.
Change-Id: I4bfe195f88d5e14237c1b01c5aca2de7c578aa67
-
f373a2d6
by Dave Houlton
at 2018-02-05T16:57:03-07:00
tests: Fix existing tests that hit new VUs
Fix existing tests that were inadvertently triggering the
newly added valid usage checks.
Change-Id: I0a6baa4df36c2316070e73f8959d55b4ca6a30f8
-
4f7fa824
by Dave Houlton
at 2018-02-05T16:57:03-07:00
tests: Add test for new CreateImage VUs
Add ImageCreateInfoStructErrors positive test, provokes new
ImageCreateInfo struct VU errors.
Change-Id: Ia7b2b955ded6b4851d936758047eeb7462e630cc
-
1b3834a3
by Dave Houlton
at 2018-02-05T16:57:03-07:00
tests: Fix Travis-visible errors
Fix a couple test errors that aren't visible to the local CI,
but are caught by Travis.
Change-Id: I618e102ccc7dd27b4d3ebeaa596d3fbe059a99f0
-
0ac318c7
by Dave Houlton
at 2018-02-05T16:57:03-07:00
clang-format whitespace (sigh)
Change-Id: I52d956163900465e434f68aa185618a2469f243f
-
e0c35f18
by Karl Schultz
at 2018-02-06T10:34:38-07:00
build: Adjust travis config for VT updates
- VT update external script no longer accepts jsoncpp flag
so remove call to build it. The script now builds it all the time.
- Add back cmake flag to turn off LVL layers build. LVL should
now build the layer utils even with layer build disabled. VT
needs the layer utils to build devsim.
Change-Id: I1c5421d4b5553b3d39f68f075ee5850588696775
-
65c23aec
by Mark Lobodzinski
at 2018-02-06T13:25:10-07:00
external: Update glslang commit ID, fix LVT
Updated glslang revision to TOT, fixed layer validation test for
new spirv-validator message output.
Change-Id: I8c31d6cfc09cf73f4235b2159e3fe4e6ec289330
-
b97a6ba6
by Lenny Komow
at 2018-02-08T11:01:02-07:00
winsdk: Update runtime installer copyright to 2018
Change-Id: If27613c85c754d4a54f5afa4dd3a6976695b227e