platform/upstream/Vulkan-Tools.git
6 years agobuild: Updated BUILD.md for spirv-tools changes
Mark Lobodzinski [Fri, 17 Nov 2017 18:20:02 +0000 (11:20 -0700)]
build: Updated BUILD.md for spirv-tools changes

Change-Id: Ic2f62a226474dbe5705be2706efc093b3dde7b9e

6 years agobuild: Removed unused spirv-tools/headers rev files
Mark Lobodzinski [Fri, 17 Nov 2017 18:14:52 +0000 (11:14 -0700)]
build: Removed unused spirv-tools/headers rev files

Change-Id: Ie199e1b2b94a7bc8c2ea998a7725d307e9a369f8

6 years agobuild: Avoid redundant spirv-tools/hdrs builds
Mark Lobodzinski [Thu, 16 Nov 2017 20:23:05 +0000 (13:23 -0700)]
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

6 years agoscripts: Update toolchain revision check script
Mark Lobodzinski [Fri, 17 Nov 2017 18:13:21 +0000 (11:13 -0700)]
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

6 years agotests: Added GetQueryPoolResults test case
Mark Lobodzinski [Thu, 9 Nov 2017 23:45:44 +0000 (16:45 -0700)]
tests: Added GetQueryPoolResults test case

And updated the error database.

Change-Id: Id293ee836866ce9bbfc3a4eda4ee0e8efd0e09ab

6 years agolayers: Add GetQueryPoolResults validation check
Mark Lobodzinski [Thu, 9 Nov 2017 23:43:06 +0000 (16:43 -0700)]
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

6 years agolayers: Remove invalid query avaibility error check
Mark Lobodzinski [Mon, 13 Nov 2017 20:52:05 +0000 (13:52 -0700)]
layers: Remove invalid query avaibility error check

This case in GetQueryPoolResults flagged errors for cases that are
valid.

Change-Id: I00a823992d200cd30988fde39ef679ea8ad8bce3

6 years agolayers: Refactor PreCallValidateGetQueryPoolResults
Mark Lobodzinski [Mon, 13 Nov 2017 20:42:20 +0000 (13:42 -0700)]
layers: Refactor PreCallValidateGetQueryPoolResults

Cleared up logic flow.

Change-Id: I32157a408a7ff7e413ab82b05bf86de48f98495b

6 years agolayers: Remove redundant query_state_pair checks
Mark Lobodzinski [Mon, 13 Nov 2017 19:00:12 +0000 (12:00 -0700)]
layers: Remove redundant query_state_pair checks

Change-Id: I62b722124c58d98da642cc2c5c17670a7f290d64

6 years agotests: Add test case for vkCmdBlitImage() image layouts
Norbert Garnys [Fri, 17 Nov 2017 10:38:21 +0000 (11:38 +0100)]
tests: Add test case for vkCmdBlitImage() image layouts

6 years agolayers: add image layout validation to vkCmdBlitImage()
Norbert Garnys [Thu, 16 Nov 2017 09:58:04 +0000 (10:58 +0100)]
layers: add image layout validation to vkCmdBlitImage()

6 years agolayers: Rewrite ViewportState checks and tests
Petr Kraus [Thu, 16 Nov 2017 20:21:58 +0000 (21:21 +0100)]
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

6 years agotests:Add DevSim testing for 7 profiles
Tobin Ehlis [Wed, 15 Nov 2017 23:17:47 +0000 (16:17 -0700)]
tests:Add DevSim testing for 7 profiles

Update Travis-CI run LVL tests on seven different device profiles.

6 years agolayers:Add pre-built DevSim layer
Tobin Ehlis [Wed, 15 Nov 2017 23:10:39 +0000 (16:10 -0700)]
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.

6 years agoicd:Increase WHOLE_SIZE mapped memory
Tobin Ehlis [Tue, 14 Nov 2017 20:05:22 +0000 (13:05 -0700)]
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.

6 years agoicd:Expand mock icd memory type bit support
Tobin Ehlis [Tue, 14 Nov 2017 16:52:17 +0000 (09:52 -0700)]
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.

6 years agolayers: Validate device dispatchable objects
Mark Lobodzinski [Mon, 13 Nov 2017 16:38:23 +0000 (09:38 -0700)]
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

6 years agoscripts: Fix incorrect object type mappings
Mark Lobodzinski [Tue, 14 Nov 2017 17:19:40 +0000 (10:19 -0700)]
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

6 years agolayers: Move BuildTemplate call inside global lock
Mark Lobodzinski [Mon, 13 Nov 2017 16:42:58 +0000 (09:42 -0700)]
layers: Move BuildTemplate call inside global lock

Helper routine was being called outside of the lock causing
freezes in Dota2

Change-Id: I45ab0b23c6ff3ed4ec16dca15107ce16f205599f

6 years agotests:Add doc validation to travis CI
Tobin Ehlis [Wed, 8 Nov 2017 00:29:51 +0000 (17:29 -0700)]
tests:Add doc validation to travis CI

6 years agoloader: Fix pre-instance proc addresses
Lenny Komow [Fri, 10 Nov 2017 17:03:08 +0000 (10:03 -0700)]
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

6 years agodocs: Update some Android sections
Cody Northrop [Thu, 9 Nov 2017 22:04:03 +0000 (15:04 -0700)]
docs: Update some Android sections

6 years agoandroid: Only compile toolchain once build_all.sh
Cody Northrop [Thu, 9 Nov 2017 21:26:51 +0000 (14:26 -0700)]
android: Only compile toolchain once build_all.sh

6 years agolayers: Don't confuse VkResult/VkBool32 in generators.
Jamie Madill [Wed, 8 Nov 2017 19:11:26 +0000 (14:11 -0500)]
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

6 years agolayers: Make generator helpers Python 2 compatible.
Jamie Madill [Wed, 8 Nov 2017 18:40:09 +0000 (13:40 -0500)]
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

6 years agolayers: Return an error when generator scripts fail.
Jamie Madill [Wed, 8 Nov 2017 18:50:14 +0000 (13:50 -0500)]
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

6 years agolayers: Adds createSampler VUID/test for IMG_CUBIC
John Zulauf [Thu, 26 Oct 2017 21:34:49 +0000 (15:34 -0600)]
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

6 years agolayers: VUIDs/test for vkCreateSampler anisotropy
John Zulauf [Thu, 26 Oct 2017 19:51:15 +0000 (13:51 -0600)]
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

6 years agolayers: Rename resetCB to ResetCommandBufferNode
John Zulauf [Tue, 7 Nov 2017 22:25:38 +0000 (15:25 -0700)]
layers: Rename resetCB to ResetCommandBufferNode

Small cleanup change to clarify command buffer node code.

Change-Id: Ib98010e10161ef5b15aaa736d994ec48b4e659fb

6 years agolayers: Free commandbuffer data when deleting pool
John Zulauf [Fri, 3 Nov 2017 00:12:49 +0000 (18:12 -0600)]
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

6 years agobuild: Update BUILD.md to specify VS2015
Mark Lobodzinski [Tue, 7 Nov 2017 16:00:48 +0000 (09:00 -0700)]
build: Update BUILD.md to specify VS2015

Change-Id: I9180304a8089db057af68cbf86b73118e1d29c16

6 years agodemos: Remove HTML in plain-text vulkaninfo output
Gabríel Arthúr Pétursson [Tue, 7 Nov 2017 00:06:00 +0000 (00:06 +0000)]
demos: Remove HTML in plain-text vulkaninfo output

Change-Id: I6f1192b71aa6f33664a6782dc81e1f8cb7cc5ba1

6 years agoicd:Update list of tests with unexpected errors
Tobin Ehlis [Mon, 6 Nov 2017 23:27:51 +0000 (16:27 -0700)]
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.

6 years agoicd:Reduce offset alignment limits
Tobin Ehlis [Fri, 3 Nov 2017 21:21:53 +0000 (15:21 -0600)]
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.

6 years agoicd:Don't return support for Undefined Format
Tobin Ehlis [Fri, 3 Nov 2017 20:52:11 +0000 (14:52 -0600)]
icd:Don't return support for Undefined Format

6 years agoandroid: Remove mips targets
Cody Northrop [Mon, 6 Nov 2017 20:54:42 +0000 (13:54 -0700)]
android: Remove mips targets

6 years agoandroid: Update to shaderc known-good revisions
Cody Northrop [Fri, 3 Nov 2017 22:09:24 +0000 (16:09 -0600)]
android: Update to shaderc known-good revisions

6 years agobuild: Add optional ccache support to cmake
Cody Northrop [Tue, 31 Oct 2017 23:05:03 +0000 (17:05 -0600)]
build: Add optional ccache support to cmake

6 years agotravis: Use multiple cores for build
Cody Northrop [Tue, 31 Oct 2017 19:39:32 +0000 (13:39 -0600)]
travis: Use multiple cores for build

6 years agotravis: Switch to ccache, skip Android toolchain build
Cody Northrop [Fri, 13 Oct 2017 02:44:23 +0000 (20:44 -0600)]
travis: Switch to ccache, skip Android toolchain build

6 years agoscripts: Add --no-build for Android toolchain
Cody Northrop [Fri, 13 Oct 2017 02:44:04 +0000 (20:44 -0600)]
scripts: Add --no-build for Android toolchain

With switch to importing shaderc, we don't need to
create prebuilts anymore.

6 years agoReplaced fixed path python 2.7 executable calls
saschawillems [Fri, 3 Nov 2017 14:27:27 +0000 (15:27 +0100)]
Replaced fixed path python 2.7 executable calls

6 years agolayers: Refactored pNext chain walks to template
John Zulauf [Thu, 26 Oct 2017 18:07:05 +0000 (12:07 -0600)]
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

6 years agolayers: Protect GetImage/BufferMemRqmts map access
Jean-François Marquis [Mon, 30 Oct 2017 22:14:15 +0000 (18:14 -0400)]
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

6 years agodemos: Clarify cube --present_mode option
Mike Schuchardt [Wed, 1 Nov 2017 22:16:22 +0000 (16:16 -0600)]
demos: Clarify cube --present_mode option

Change-Id: Ie53724c3612eb5bb9adfbb826149ef87916f0d84

6 years agoicd: thread protect maps
Mike Stroyan [Thu, 2 Nov 2017 16:39:34 +0000 (10:39 -0600)]
icd: thread protect maps

Lock to protect threaded access to queue_map and mapped_memory_map.

6 years agodemos: Add html backend and option to vulkaninfo
Shannon McPherson [Wed, 20 Sep 2017 21:53:07 +0000 (15:53 -0600)]
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

6 years agoscripts:Cleanup comments and output for mock icd
Tobin Ehlis [Tue, 31 Oct 2017 14:50:48 +0000 (08:50 -0600)]
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.

6 years agoquickly wire mock icd into travis
Chris Forbes [Mon, 30 Oct 2017 18:20:26 +0000 (11:20 -0700)]
quickly wire mock icd into travis

6 years agolayers: Capture device features from extension
John Zulauf [Thu, 19 Oct 2017 00:21:23 +0000 (18:21 -0600)]
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

6 years agolayers: Cleanup duplicate structure definition
John Zulauf [Wed, 18 Oct 2017 17:33:36 +0000 (11:33 -0600)]
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

6 years agolayers: Remove warning for imported memory
Mike Schuchardt [Thu, 26 Oct 2017 20:05:52 +0000 (14:05 -0600)]
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

6 years agoicd:Fixes for Windows build
Tobin Ehlis [Fri, 27 Oct 2017 18:40:32 +0000 (12:40 -0600)]
icd:Fixes for Windows build

6 years agoicd:Add Windows def file
Tobin Ehlis [Fri, 27 Oct 2017 00:09:12 +0000 (18:09 -0600)]
icd:Add Windows def file

6 years agotests:Fix EmptyDescriptorUpdateTest test
Tobin Ehlis [Fri, 27 Oct 2017 00:03:12 +0000 (18:03 -0600)]
tests:Fix EmptyDescriptorUpdateTest test

Make sure that allocation for buffer is large enough to accommodate the
buffer's device memory requirements.
This fixes last failing test with mock. Also reran through all tests
and updating unexpected error and skipped test lists.

6 years agoicd:Get more tests passing on mock ICD
Tobin Ehlis [Thu, 26 Oct 2017 23:25:05 +0000 (17:25 -0600)]
icd:Get more tests passing on mock ICD

Modifying hard-coded minImageTransferGranularity for the queue from
{0,0,0}, which has special restrictions, to {1,1,1} which is more
lenient and removes some unexpected errors, allowing six more tests to
pass.

6 years agoicd:Limit image properties for linear images
Tobin Ehlis [Thu, 26 Oct 2017 21:21:51 +0000 (15:21 -0600)]
icd:Limit image properties for linear images

If an image is linear, return max mips, layers, and sample count of 1.

6 years agoscripts:Skip some extensions in mock ICD
Tobin Ehlis [Thu, 26 Oct 2017 20:47:51 +0000 (14:47 -0600)]
scripts:Skip some extensions in mock ICD

Mock ICD doesn't need to implement validation cache extension. Add
simple list of excluded exceptions so we can kill any cases that we
don't want in mock ICD. Initially only excludes validation cache.

6 years agotests:Fix InvalidBarriers test
Tobin Ehlis [Thu, 26 Oct 2017 19:44:46 +0000 (13:44 -0600)]
tests:Fix InvalidBarriers test

InvalidBarriers test made invalid assumption that internal size of
buffer memory was same as requested size. Update test so that when we
exceed buffer size we do that based on internal size instead of
requested size.

6 years agolayers:Kill extra whitespace in CMakeLists.txt
Tobin Ehlis [Thu, 26 Oct 2017 19:01:28 +0000 (13:01 -0600)]
layers:Kill extra whitespace in CMakeLists.txt

6 years agoicd: Adding generated mock icd
Tobin Ehlis [Fri, 13 Oct 2017 15:26:20 +0000 (09:26 -0600)]
icd: Adding generated mock icd

Initial check-in for mock icd which is being built to allow validation
testing without the need for an actual Vulkan device.

ICD is currently building and passing 324/332 tests. It creates ptr
handles for dispatchable objects and unique id handles for
non-dispatchable objects. It currently has some hard-coded values for
various Get* device-query functions in order to allow forward progress.
The long-term intention is to allow the device configuration to be set
by the test itself.

See the ICD README.md file for more info.

6 years agoheader: Update to version 1.0.65 of the Vulkan hdr
Mark Lobodzinski [Mon, 30 Oct 2017 15:35:31 +0000 (09:35 -0600)]
header: Update to version 1.0.65 of the Vulkan hdr

- update vulkan.h
- update vk.xml
- update Win/Lin json file versions
- update vk_validation_error_messages.h
- update vk_validation_error_database.txt
- update vulkan.hpp

Change-Id: Ib20f1955df85a31069c9ffc69c3260973b2c6633

6 years agorepo: normalize line termination across repo
Mike Weiblen [Sun, 29 Oct 2017 23:56:25 +0000 (17:56 -0600)]
repo: normalize line termination across repo

This is a scrub of the entire repo to normalize end-of-line termination to
conform to the recently added .gitattributes file.  A mismatch of line
termination can cause difficult-to-resolve conflicts when rebasing or merging.

The process performed is described at:
https://help.github.com/articles/dealing-with-line-endings/#refreshing-a-repository-after-changing-line-endings

The .gitattributes file is required because some files (*.bat and *.sh) are
sensitive to line termination.  The .gitattributes file is stored in the repo,
and overrides settings which could be corrupted by a developer's local
git configuration.  The .gitattributes file was added in f077c81

This commit completes bcc9fec, which fixed a single file.

Change-Id: I75d4594b61cb8aa6a09efb3ed5ace34fe8394871

6 years agoexternal: Update external commit IDs
Mike Weiblen [Mon, 30 Oct 2017 02:19:38 +0000 (20:19 -0600)]
external: Update external commit IDs

Update to top-of-tree glslang, plus the spirv dependencies specified by
glslang's known_good.json file.

Change-Id: I41c32e2dee320eb2cbd92f0d6a3374c643e93dd7

6 years agobuild-android: update .bat line termination
Mike Weiblen [Thu, 26 Oct 2017 23:06:35 +0000 (17:06 -0600)]
build-android: update .bat line termination

Change-Id: I9d4152df8cc7c10e74f6484dbc802c2c854c9fef

6 years agolayers: Validate push descriptor set layout count
Józef Kucia [Wed, 25 Oct 2017 20:15:22 +0000 (22:15 +0200)]
layers: Validate push descriptor set layout count

6 years agoheader: Update to version 1.0.64 of the Vulkan hdr
Mark Lobodzinski [Mon, 23 Oct 2017 15:23:06 +0000 (09:23 -0600)]
header: Update to version 1.0.64 of the Vulkan hdr

- updated vulkan.h
- updated vk.xml
- updated Win/Lin json files
- updated vk_validation_error_messages.h
- updated vk_validation_error_database.txt
- updated vulkan.hpp
- updated vuid_mapping.py
- updated cube.cpp for vulkan-hpp changes

Change-Id: I79971c3b54feb1fdad5ea2257e4b1b4c6f9e3c3b

6 years agoexternal: Update commit IDs and scripts
Mike Weiblen [Mon, 9 Oct 2017 16:31:21 +0000 (10:31 -0600)]
external: Update commit IDs and scripts

Update to top-of-tree glslang, plus the spirv dependencies
specified by glslang's known_good.json file.

Modify the LVL update_external_sources.* scripts to invoke
glslang's update_glslang_sources.py script as part of the checkout
process.

Add .gitattributes file to force CRLF on .bat files.

Enhance LVL's CMakeLists.txt for new SPIRV_TOOLS_OPT_* variables.

Add SPIRV-Tools-opt to linker.

Adjust some comments.

Change-Id: I8e782c15cade4260528ab055361208af137204fa

6 years agoloader: Fix function name in interface doc
Tobin Ehlis [Mon, 23 Oct 2017 22:22:42 +0000 (16:22 -0600)]
loader: Fix function name in interface doc

There is no "vk_icdGetLoaderICDInterfaceVersion" function. The correct name is "vk_icdNegotiateLoaderICDInterfaceVersion."

6 years agoscripts: Update vuid_mapping.py for 64 header
Mark Lobodzinski [Mon, 23 Oct 2017 17:31:43 +0000 (11:31 -0600)]
scripts: Update vuid_mapping.py for 64 header

Change-Id: I3f55bd5ee0296fc962bb2ee624391e793f8f9fe4

6 years agoloader:Updates to LL Interface Doc
Tobin Ehlis [Thu, 19 Oct 2017 19:58:23 +0000 (13:58 -0600)]
loader:Updates to LL Interface Doc

Fixing some formatting issues and typos as I read through doc.

6 years agolayers: Track WSI fences and semaphores
Mike Schuchardt [Fri, 20 Oct 2017 18:30:00 +0000 (12:30 -0600)]
layers: Track WSI fences and semaphores

Treat temporarily imported semaphores and fences from
vkAcquireNextImageKHR as internal sync objects since the spec allows
them to be waited on.

Change-Id: I195bb7f4b65d141e9fb4a541817b4dc37b6aa600

6 years agolayers: Retire work early on external fence signal
Mike Schuchardt [Wed, 18 Oct 2017 21:12:08 +0000 (15:12 -0600)]
layers: Retire work early on external fence signal

Retire all work up until a signal operation on an external fence and
emit a warning about validation that will no longer occur

Change-Id: Ifdbc6702f664b8206cc3f28f6aba230a7564d76e

6 years agolayers: Compatibility fixes for external fence
Mike Schuchardt [Tue, 17 Oct 2017 23:20:03 +0000 (17:20 -0600)]
layers: Compatibility fixes for external fence

Track when fence objects are exported/imported and skip checks and state
tracking while a fence is using an external payload.

Change-Id: Id53b83f86d5b91719fe212823de02c091e451c9c

6 years agodemos: VkFormatString add missing formats
Wladimir J. van der Laan [Sat, 7 Oct 2017 23:15:26 +0000 (23:15 +0000)]
demos: VkFormatString add missing formats

Some formats were shown as unknown in vulkaninfo's list, make
sure they're all included.

6 years agolayers: Use shared rules for OT CmdPushDescriptorSetKHR
Chris Forbes [Fri, 20 Oct 2017 18:28:02 +0000 (11:28 -0700)]
layers: Use shared rules for OT CmdPushDescriptorSetKHR

6 years agolayers: Factor out checking of descriptor write members
Chris Forbes [Fri, 20 Oct 2017 18:13:20 +0000 (11:13 -0700)]
layers: Factor out checking of descriptor write members

This will allow us to reuse this check for push descriptors, which are
currently inconsistent.

6 years agolayers: GH2145, fix comp<->uncomp copy val errors
Mark Lobodzinski [Thu, 19 Oct 2017 21:38:59 +0000 (15:38 -0600)]
layers: GH2145, fix comp<->uncomp copy val errors

For image-to-image copies, there are special cases for copies between
compressed and uncompressed images. These modifications to copy
extents are now allowed for in the validation checks.

Change-Id: I5d72e4ec621a6769a9a89e24aade5defa9ecabda

6 years agoscripts: Remove asserts from struct size helpers
Joey Bzdek [Thu, 19 Oct 2017 20:24:05 +0000 (14:24 -0600)]
scripts: Remove asserts from struct size helpers

Unknown structures will return a 0 size instead of failing, in order for
them to be ignored properly.

6 years agolayers: Typo in CV function pointer lookup map
Mike Schuchardt [Tue, 17 Oct 2017 16:56:41 +0000 (10:56 -0600)]
layers: Typo in CV function pointer lookup map

Change-Id: I742f6054273dbc7e9b87f42fdc40f3305b0735e7

6 years agolayers: Add VK_KHR_external_semaphore_fd functions
Mike Schuchardt [Tue, 17 Oct 2017 15:54:23 +0000 (09:54 -0600)]
layers: Add VK_KHR_external_semaphore_fd functions

Add entry points and wire up to existing validation in place for
VK_KHR_external_semaphore_win32

Change-Id: I82da27d6a68c7b4eea3f01b4dd4fa0ce38d97f0b

6 years agoloader: Fix info message when activating a layer
Lenny Komow [Mon, 16 Oct 2017 21:03:37 +0000 (15:03 -0600)]
loader: Fix info message when activating a layer

Change-Id: Ibc6df4964a752c9cce574a208714eb096576973c

6 years agolayers: Remove validation error for copying nonupdated descriptors
Józef Kucia [Fri, 13 Oct 2017 20:31:34 +0000 (22:31 +0200)]
layers: Remove validation error for copying nonupdated descriptors

The spec doesn't say much about descriptors copy update valid usage, but
it doesn't seem to require that descriptors are updated before copying.

6 years agolayers: Retire work early on external signals
Mike Schuchardt [Tue, 10 Oct 2017 22:12:05 +0000 (16:12 -0600)]
layers: Retire work early on external signals

Retire all work up until a signal operation on an external semaphore and
emit a warning about validation that will no longer occur.

Change-Id: I3d46464c2c32e37071d702e20e5197a495d60472

6 years agolayers: External semaphore compatibility
Mike Schuchardt [Fri, 7 Jul 2017 14:31:59 +0000 (08:31 -0600)]
layers: External semaphore compatibility

Track when a semaphore payload is imported and restored, turn off
semaphore validation when using an external payload.

Change-Id: Ia5734ce9db10fa56d0de72ad6cfeebb2531b1a45

6 years agoandroid: Use NDK structure for third party modules
Mike Stroyan [Fri, 6 Oct 2017 17:05:21 +0000 (11:05 -0600)]
android: Use NDK structure for third party modules

Locate glslang and spirv directories under shaderc directory.
This allows the layers build to optionally use the NDK sources.
For glslang and spirv and shaderc-
 Use LOCAL_STATIC_LIBRARIES instead of LOCAL_C_INCLUDES to find headers.
 Use import-module instead of PREBUILT_STATIC_LIBRARY.

6 years agoLOCAL_C_INCLUDES and LOCAL_CPPFLAGS changes
Mike Stroyan [Thu, 5 Oct 2017 22:08:50 +0000 (16:08 -0600)]
LOCAL_C_INCLUDES and LOCAL_CPPFLAGS changes

Drop abspath from LOCAL_PATH.
Use LOCAL_PATH for LOCAL_C_INCLUDES but not LOCAL_SRC_FILES.
Move LOCAL_CPPFLAGS from Application.mk to Android.mk.

6 years agolayers: Only include self-dependencies in subpass->dep index
Chris Forbes [Thu, 12 Oct 2017 19:25:00 +0000 (12:25 -0700)]
layers: Only include self-dependencies in subpass->dep index

Only self-dependencies permit barriers within the renderpass, so we
don't want any other dependencies here.

Fixes #2123

6 years agolayers:Verify valid buffer for tex buff ds update
Tobin Ehlis [Wed, 11 Oct 2017 14:48:00 +0000 (08:48 -0600)]
layers:Verify valid buffer for tex buff ds update

Fixes #2104

Make sure that buffer underlying the bufferView of texel buffer for a
uniform or storage texel buffer update has a valid buffer behind it.
Object tracker only checks to make sure that the view itself hasn't
been destroyed, so need this extra level of checking at this level to
avoid crash.

6 years agoloader/vulkan.pc.in: GH1212; Libraries required by vulkan.so for
John Zupin [Tue, 10 Oct 2017 20:39:00 +0000 (14:39 -0600)]
loader/vulkan.pc.in: GH1212; Libraries required by vulkan.so for
for static linking purposes should go into Libs.private

6 years agoscripts: add get_struct_size helper function
David Pinedo [Thu, 5 Oct 2017 16:30:02 +0000 (10:30 -0600)]
scripts: add get_struct_size helper function

Change-Id: I12494a129ef8be68170dddf4efe6762f4051b116

6 years agolayers: Relax MinImageTransferGranularity checks
Mark Lobodzinski [Mon, 9 Oct 2017 22:36:49 +0000 (16:36 -0600)]
layers: Relax MinImageTransferGranularity checks

Ignore depth for 1D, 2D transfers, height for 1D transfers.

Change-Id: Ibbf6b9bf0af9d74833d901453c9e9f59b80820a5

6 years agodemos: Use correct type for alphaMode in display surface
Wladimir J. van der Laan [Sat, 7 Oct 2017 12:17:41 +0000 (14:17 +0200)]
demos: Use correct type for alphaMode in display surface

alphaMode in VkDisplaySurfaceCreateInfoKHR is
VkDisplayPlaneAlphaFlagBitsKHR, not VkCompositeAlphaFlagBitsKHR.

6 years agodemos: Update cube.cpp DISPLAY_KHR code
Wladimir J. van der Laan [Sat, 7 Oct 2017 09:16:24 +0000 (09:16 +0000)]
demos: Update cube.cpp DISPLAY_KHR code

The physical display rendering code didn't compile due to drift in
`vulcan.hpp`. Update for these changes.

Tested on i.MX8M / Vivante GC7000L.

6 years agovulkaninfo: Remove "INFO" messages
Jeremy Kniager [Wed, 13 Sep 2017 21:05:07 +0000 (15:05 -0600)]
vulkaninfo: Remove "INFO" messages

Change-Id: I10bb9559bd91f29bb224f7cb90359ec14161a770

6 years agolayers: Remove AccessMask->ImageLayout checks
Mark Lobodzinski [Mon, 9 Oct 2017 21:12:11 +0000 (15:12 -0600)]
layers: Remove AccessMask->ImageLayout checks

Spec no longer calls out valid usage for image layouts related to
access masks.

Change-Id: Iedbe8689a0c3a569a4f7a473f801afae250c8256

6 years agoLoader: Fix OOM in loaderGetDeviceRegistryFiles()
Igor Ostrowski [Fri, 6 Oct 2017 16:26:23 +0000 (18:26 +0200)]
Loader: Fix OOM in loaderGetDeviceRegistryFiles()

loaderGetDeviceRegistryEntry() out of memory result was not handled properly.

6 years agoheader: Update to version 1.0.62 of the Vulkan hdr
Mark Lobodzinski [Mon, 9 Oct 2017 19:06:50 +0000 (13:06 -0600)]
header: Update to version 1.0.62 of the Vulkan hdr

- updated vulkan.h
- updated vk.xml
- updated Win/Lin .json files
- updated vuid_mapping.py
- updated vk_validation_error_database.txt
- updated vk_validation _error_messages.h
- updated vulkan.hpp

Change-Id: I82eb3db55d301af3a11ffbb12411cc2df7c31807

6 years agoscripts: Specify utf-8 encoding for db file
Mark Lobodzinski [Mon, 9 Oct 2017 15:16:40 +0000 (09:16 -0600)]
scripts: Specify utf-8 encoding for db file

Change-Id: I0a76a6d9766041a9f70053e7385517c0b1d7022c

6 years agoscripts: Handle goofy unicode chars in spec.py
Mark Lobodzinski [Mon, 9 Oct 2017 15:10:21 +0000 (09:10 -0600)]
scripts: Handle goofy unicode chars in spec.py

Forward and backward double-quotes are now changed to standard
double-quote chars, and escaped as they are output in the DB.

Change-Id: Icbdc23262c8da0dd2441b028997a3f30d69d6834