platform/upstream/Vulkan-Tools.git
7 years agolayers: Add physical device props init to CV
Mark Lobodzinski [Wed, 11 Jan 2017 16:34:01 +0000 (09:34 -0700)]
layers: Add physical device props init to CV

Image layer checks need limits/caps.

Change-Id: Ib01d194e57563e327ce15846a7a384d78929ebc4

7 years agolayers: Add error message header to CV header
Mark Lobodzinski [Tue, 17 Jan 2017 20:09:40 +0000 (13:09 -0700)]
layers: Add error message header to CV header

Was working due to coincidental include so made explicit.

Change-Id: I6cd580c8a5e643ed19d3950c33012c5c42c12e14

7 years agolayers: Create buffer/image validation module
Mark Lobodzinski [Tue, 17 Jan 2017 21:14:22 +0000 (14:14 -0700)]
layers: Create buffer/image validation module

As image layer is folded into CV, image- and buffer-related
checks will reside in these modules.

Change-Id: Id261cc0d40eaa51211c36bb1fa82d0cbbaf1a6f5

7 years agolayers: PR1381, Fix vkCmdCopyImage intersection check
Alex Smith [Tue, 17 Jan 2017 11:13:23 +0000 (11:13 +0000)]
layers: PR1381, Fix vkCmdCopyImage intersection check

RegionIntersects would return true if the source and destination array
layers and mip level did *not* overlap, resulting in a spurious
validation error when trying to copy between different array layers or
mip levels of the same image.

Change-Id: I2e5675f703a4f5e2e7cbfd1d038bd38c7d7dafe0

7 years agowinsdk: Fix RT not reading versions from registry
Lenny Komow [Mon, 16 Jan 2017 17:10:47 +0000 (10:10 -0700)]
winsdk: Fix RT not reading versions from registry

Change-Id: I44bb8c167492739467448925375ae1b99fb8a2db

7 years agoloader: Fix static analysis warnings
Karl Schultz [Fri, 13 Jan 2017 21:01:35 +0000 (14:01 -0700)]
loader: Fix static analysis warnings

Handle possible null pointer dereferences.
Misc other warnings, nothing too serious.
Not addressing alloca concerns yet.

Change-Id: I712a6b4996a4d900604867e373521ff4d1c53df5

7 years agoloader: Improve loader logging
Mark Young [Fri, 13 Jan 2017 17:27:03 +0000 (10:27 -0700)]
loader: Improve loader logging

Clean up some more logging strings with extra spaces.  Also,
updated the command-line output of the VK_LOADER_DEBUG messages
so that they clearly indicate what type of log message is being
outputted: INFO, WARNING, ERROR, PERF, and DEBUG.

Change-Id: I8cbb5b058094febdccf912eb595f5b4f01c3485b

7 years agowinsdk: Allow Configuring layers for older SDKs
Lenny Komow [Fri, 13 Jan 2017 21:20:57 +0000 (14:20 -0700)]
winsdk: Allow Configuring layers for older SDKs

Change-Id: I9b13d7c43ee159f935d289ea939ac3c2c1e54875

7 years agodemos: Add uniform buffer per swapchain image to cube
Tony Barbour [Wed, 11 Jan 2017 20:35:09 +0000 (13:35 -0700)]
demos: Add uniform buffer per swapchain image to cube

Change-Id: I290ed2a8f72303c58a52cace3c9d640cb3264def

7 years agodemos: Cube quit ignoring NULL fence errors
Tony Barbour [Fri, 6 Jan 2017 22:56:39 +0000 (15:56 -0700)]
demos: Cube quit ignoring NULL fence errors

Change-Id: I2cc5c49b53a19716096ac912120286f03f7d6f91

7 years agodemos: Cube updated to use triple buffering
Tony Barbour [Fri, 6 Jan 2017 22:54:22 +0000 (15:54 -0700)]
demos: Cube updated to use triple buffering

Change-Id: I2ae1cb03ec98ee8f31c6103ed3fc8f1f8edc4a2c

7 years agoscripts:Stop printing dbg stats scrip debug info
Tobin Ehlis [Thu, 12 Jan 2017 21:26:56 +0000 (14:26 -0700)]
scripts:Stop printing dbg stats scrip debug info

Comment out a couple of lines from the stats script that were
printing out debug information. Also update "str" var name to be
non-keyword "sub_str" and fix a broken print debug statement.

7 years agoscripts:Add stats for implicit checks
Tobin Ehlis [Thu, 12 Jan 2017 20:45:55 +0000 (13:45 -0700)]
scripts:Add stats for implicit checks

Have stats script count the un-implemented implicit checks and report
them out. Also report out the potential coverage number if all
un-implemented implicit checks are handled by parameter_validation.

7 years agoscripts:Add implicit check count to spec.py
Tobin Ehlis [Wed, 11 Jan 2017 23:18:20 +0000 (16:18 -0700)]
scripts:Add implicit check count to spec.py

Updated all implicit checks in database file to include the text
'implicit' in their note field.

spec.py will add 'implicit' to the note field for any new implicit
checks that are added, and will also print out a count of implicit
checks.

7 years agoloader: Fix phys device error message
Lenny Komow [Thu, 12 Jan 2017 22:47:53 +0000 (15:47 -0700)]
loader: Fix phys device error message

Change-Id: I37cfdb4b290dc8d5be7c606e32eb8d369ea43c6a

7 years agoloader: Modify EnumPhysDev functions
Mark Young [Thu, 12 Jan 2017 19:27:19 +0000 (12:27 -0700)]
loader: Modify EnumPhysDev functions

Modify the loader's trampoline and terminator
vkEnumeratePhysicalDevice functions to utilize helper functions.
Also, fix the failure in CTS.

Change-Id: Id9356fffd42f878c660ac8ee831e7527cce608bd

7 years agoloader: Fix variable shadowing warning.
Jamie Madill [Wed, 11 Jan 2017 20:51:01 +0000 (15:51 -0500)]
loader: Fix variable shadowing warning.

Change-Id: I71916c5300c24158901123f775b7b2fec3293e5b

7 years agodemos: Fix static analysis warnings in vulkaninfo
Karl Schultz [Wed, 11 Jan 2017 19:15:58 +0000 (12:15 -0700)]
demos: Fix static analysis warnings in vulkaninfo

Add exit code after failed mallocs.
Dynamically allocate gpu info and handle arrays, getting
rid of artificial limit.  This also moves a large allocation
from the stack to the heap.
There are still some false positives from the MSFT analyzer
that aren't worth fixing or suppressing.

7 years agodemos: smoketest: Add --flush option for tracing
joey-lunarg [Tue, 10 Jan 2017 22:55:49 +0000 (15:55 -0700)]
demos: smoketest: Add --flush option for tracing

Running smoketest with --flush will call vkFlushMappedMemoryRanges so
that the trace layer is aware of modified memory. This is not
necessary with the --PMB option in vktrace.

Change-Id: If72c0ed0c651cf82f2f2c4c78ec2534a0d475a9c

7 years agolayers: Update CV authors
Mark Lobodzinski [Wed, 11 Jan 2017 22:25:28 +0000 (15:25 -0700)]
layers: Update CV authors

Change-Id: I153a68206db8d5f346755f0691bdca777908d748

7 years agolayers: Plumb function name/idx through swapchain
Mark Lobodzinski [Wed, 11 Jan 2017 20:54:09 +0000 (13:54 -0700)]
layers: Plumb function name/idx through swapchain

PreCallValidateCreateSwapchainKHR is now used to validate
CreateSwapchain as well as CreateSharedSwapchains. Plumbed the
functionName down through the validation code so users can see the
faulting API and the bad swapchain index.

Change-Id: Ieb885704bef8a73c09e6670594e96494b62cb1a4

7 years agolayers: Refactor CreateSharedwapChains for recording
Mark Lobodzinski [Wed, 11 Jan 2017 20:14:36 +0000 (13:14 -0700)]
layers: Refactor CreateSharedwapChains for recording

Added PreCallValidate and PostCallRecord functions for this API.

Change-Id: Iebf8eb980dadbb29cceffd6a9fefb5340939eb0f

7 years agolayers: Refactor CreateSwapChain for recording
Mark Lobodzinski [Wed, 11 Jan 2017 19:09:31 +0000 (12:09 -0700)]
layers: Refactor CreateSwapChain for recording

Added a PostCallRecord function for this API.

Change-Id: I6f9e67ea5fbcf1ee4f54043c5269ad282339a9db

7 years agolayers: GH1199, Validate SharedSwapchains
Mark Lobodzinski [Wed, 11 Jan 2017 01:10:03 +0000 (18:10 -0700)]
layers: GH1199, Validate SharedSwapchains

Change-Id: I1e382aefdd13ed6c575d3654962e09e9558af97f

7 years agoloader: Add more logging messages
Mark Young [Tue, 10 Jan 2017 21:22:15 +0000 (14:22 -0700)]
loader: Add more logging messages

Add more logging messages on Error cases to help debugging.

Change-Id: I78b6bd7c73d7234283bf94d745c8733d59752422

7 years agoscripts: Remove vulkan.py
Mark Lobodzinski [Tue, 10 Jan 2017 20:15:42 +0000 (13:15 -0700)]
scripts: Remove vulkan.py

Change-Id: I95b1c346d3611c6d6b3a22f108b4b5ff9c313e0c

7 years agoscripts: Remove vk_helper.py
Mark Lobodzinski [Tue, 10 Jan 2017 19:00:25 +0000 (12:00 -0700)]
scripts: Remove vk_helper.py

This functionality is now generated entirely from vk.xml.

Change-Id: Ie3385f924b6ec9a8d74f2ad6fed7064ab0dc0534

7 years agoandroid: Switch safe_struct over to new codegen
Mark Lobodzinski [Tue, 10 Jan 2017 18:55:48 +0000 (11:55 -0700)]
android: Switch safe_struct over to new codegen

Change-Id: Ia89cfec2b836437c2f2009608795d1ee38b811ad

7 years agolayers: Update cmake for safe_struct codegen
Mark Lobodzinski [Mon, 9 Jan 2017 21:42:52 +0000 (14:42 -0700)]
layers: Update cmake for safe_struct codegen

Change-Id: Idc0e76aa479d2c9f3e096a31f620eb96d843849d

7 years agoscripts: Update copyright notice dates for 2017
Mark Lobodzinski [Tue, 10 Jan 2017 18:42:22 +0000 (11:42 -0700)]
scripts: Update copyright notice dates for 2017

Change-Id: I6adc6a8ac07f2ac11814a6f8cd06b7d5b0c49797

7 years agoscripts: Initial version of safe_struct cpp gen
Mark Lobodzinski [Wed, 4 Jan 2017 16:16:00 +0000 (09:16 -0700)]
scripts: Initial version of safe_struct cpp gen

Change-Id: I1f3c28b7737e58731206e93af50fb1d18cd4f937

7 years agoscripts: Update comments in helper generator
Mark Lobodzinski [Tue, 3 Jan 2017 20:25:10 +0000 (13:25 -0700)]
scripts: Update comments in helper generator

Change-Id: Ie4171bb18ff499e54bdbd8ff7237e7026e6cf3e9

7 years agoscripts: Complete safe_struct header generation
Mark Lobodzinski [Tue, 3 Jan 2017 20:22:10 +0000 (13:22 -0700)]
scripts: Complete safe_struct header generation

Change-Id: I87de80173ff414202f6e876db3da688466f3598d

7 years agoscripts: Remove blank lines from end of helper files
Mark Lobodzinski [Tue, 3 Jan 2017 20:22:44 +0000 (13:22 -0700)]
scripts: Remove blank lines from end of helper files

Change-Id: Ie972f2d8b6bca633fbfb4745f29eab183cde7acb

7 years agoscripts: Stub in safe_struct generator source
Mark Lobodzinski [Tue, 3 Jan 2017 18:14:26 +0000 (11:14 -0700)]
scripts: Stub in safe_struct generator source

Change-Id: I060e8bb0eddda0c94bdaed7e04fddac8bf9d5822

7 years agoscripts: Add generator options for safestruct files
Mark Lobodzinski [Tue, 3 Jan 2017 17:55:13 +0000 (10:55 -0700)]
scripts: Add generator options for safestruct files

Change-Id: Iffd19369976ac15ad54251e15a7f49e061a807e8

7 years agolayers: Remove lock held across down-chain call
Mark Lobodzinski [Tue, 10 Jan 2017 22:11:48 +0000 (15:11 -0700)]
layers: Remove lock held across down-chain call

Unnecessary lock was grabbed just before an API call.

Change-Id: I0ef561d9b620f42333ba034dcbc87cba6daea776

7 years agolayers: Reset Valid Usage database check status
Mike Weiblen [Tue, 10 Jan 2017 18:04:51 +0000 (11:04 -0700)]
layers: Reset Valid Usage database check status

Following the audit of existing Valid Usage enums in the LVL codebase,
we can claim that there are no Valid Usage checks in an unknown
state; the existing VU checks are either implemented or not.

This commit resets the check_implemented flags in the VU database,
such that any remaining "U" (Unknown) entries now become "N" (Not
implemented).

Going forward, the check_implemented status flag must be either "Y"
or "N"; "U" is no longer permitted.

Change-Id: Iaf1807cadf02d57e3fa5676108e290d3bab9b271

7 years agoandroid: Fix typos in android-generate script
Mark Lobodzinski [Tue, 10 Jan 2017 20:59:58 +0000 (13:59 -0700)]
android: Fix typos in android-generate script

Change-Id: I31c32e56ae09134b7b91c610b546a9d46c20c007

7 years agobuild: Update travis config to catch build errors on intermediate steps
Cody Northrop [Tue, 10 Jan 2017 20:29:52 +0000 (13:29 -0700)]
build: Update travis config to catch build errors on intermediate steps

7 years agolayers: Transition each aspect individually in TransitionImageLayouts
Alex Smith [Tue, 10 Jan 2017 09:51:22 +0000 (09:51 +0000)]
layers: Transition each aspect individually in TransitionImageLayouts

This fixes the possibility of spurious validation errors like the following,
when attempting to transition multiple aspects of an image after only a subset
of those aspects have previously been used in the command buffer:

  "Cannot query for VkImage 0x599 layout when combined aspect mask 6 has
   multiple initial layout types: VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL and
   VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"

The specific case where this bug was encountered was where both the depth and
stencil aspects of an image were initially in the TRANSFER_DST_OPTIMAL layout.
The first command in the command buffer to reference the image was a
vkCmdClearDepthStencilImage on only the depth aspect of the image, followed
later by a vkCmdPipelineBarrier to transition both aspects to the
DEPTH_STENCIL_ATTACHMENT_OPTIMAL layout.

Since TransitionImageLayouts tries to look up the initial state for all
aspects at the same time, it was picking up the state based on the depth
aspect because of the previous use of that (which had both initialLayout
and layout set to TRANSFER_DST_OPTIMAL), and then calling SetLayout for all
aspects with only the new layout. Since the stencil aspect didn't have any
currently recorded state, it was being added with both initialLayout and
layout set to the new layout, causing a mismatch between the initialLayout for
the two aspects and therefore the spurious error above.

Fix by updating the state for each aspect individually.

7 years agoscripts: Remove unused code from vk_helper.py
Mark Lobodzinski [Thu, 29 Dec 2016 20:09:21 +0000 (13:09 -0700)]
scripts: Remove unused code from vk_helper.py

Struct size helper files are now generated by the helper_file_generator
script.

Change-Id: Ifcb0cceb9621f3f4bb41d948e9f0bb3fca7a0ea1

7 years agoandroid: Add codegen for struct_size_helpers
Mark Lobodzinski [Thu, 29 Dec 2016 21:34:00 +0000 (14:34 -0700)]
android: Add codegen for struct_size_helpers

Change-Id: I264d7ecca323089bda1583dbcf9eb751736146a7

7 years agolayers: Update build dependency target name
Mark Lobodzinski [Thu, 29 Dec 2016 20:00:51 +0000 (13:00 -0700)]
layers: Update build dependency target name

Changed enum_string_helper target to be generic for multiple files.

Change-Id: I760eb634839228211554686aa92c9771602786bb

7 years agolayers: Change struct_size_helper to use new codegen
Mark Lobodzinski [Thu, 29 Dec 2016 19:58:30 +0000 (12:58 -0700)]
layers: Change struct_size_helper to use new codegen

Remove old references, add calls to new generator.

Change-Id: I64ab859e4ae6893870697f16ee6fd596b8a7908b

7 years agolayers: Remove unused header from core_validation
Mark Lobodzinski [Thu, 29 Dec 2016 18:40:23 +0000 (11:40 -0700)]
layers: Remove unused header from core_validation

This header is unused by the module.

Change-Id: Ife7a1b8eb344e2a670e1cfc9ace3e0697c97cd7e

7 years agoscripts: Handle vk.xml latexmath in helper files
Mark Lobodzinski [Fri, 6 Jan 2017 15:47:48 +0000 (08:47 -0700)]
scripts: Handle vk.xml latexmath in helper files

The vk.xml file contains latex-formatted metadata which must be
parsed for codegen.

Change-Id: Ie64c9974371d2bb66ba460165a0c23505991ebd7

7 years agoscripts: Include chain_size helper in struct_size
Mark Lobodzinski [Thu, 29 Dec 2016 21:04:15 +0000 (14:04 -0700)]
scripts: Include chain_size helper in struct_size

Change-Id: I1afcee1ab90ad18d758fdb476d2d0012a891bdfc

7 years agoscripts: Complete struct_size_helper source gen
Mark Lobodzinski [Thu, 29 Dec 2016 17:23:47 +0000 (10:23 -0700)]
scripts: Complete struct_size_helper source gen

This file will now output a complete vk_struct_size_helper.c file.

Change-Id: Ic87fd7d3c9a95daa666e8e4da63a21d31e8bfb86

7 years agoscripts: Add gen for struct_size_helper source file
Mark Lobodzinski [Wed, 28 Dec 2016 22:41:15 +0000 (15:41 -0700)]
scripts: Add gen for struct_size_helper source file

First level code-gen, move some code into functions.

Change-Id: Idf8ee44a1f74c4117aed74b8df5b548df618e790

7 years agoscripts: Add generation of struct_size_helper header
Mark Lobodzinski [Wed, 28 Dec 2016 21:45:34 +0000 (14:45 -0700)]
scripts: Add generation of struct_size_helper header

Added generator-side plumbing to create the vk_struct_size_helper.h
file.

Change-Id: I5ff226131b8db2d773e4422877bdb2993ed76cf4

7 years agoscripts: Add struct_size options for source, header
Mark Lobodzinski [Wed, 28 Dec 2016 17:46:26 +0000 (10:46 -0700)]
scripts: Add struct_size options for source, header

Added struct processing guts for building the struct_size_helper
header and source files.

Change-Id: I8172b921b670b47b8fd66499de6d76ddb3ef934d

7 years agoscripts: Mod helper generator for multiple files
Mark Lobodzinski [Wed, 28 Dec 2016 15:49:46 +0000 (08:49 -0700)]
scripts: Mod helper generator for multiple files

Added parsing of option, conditional file generation to helper file
generator.

Change-Id: Ia7c51d50fb1785f3002dc2868f98d8e384d0e36e

7 years agoscripts: Pass parameters to helper file generator
Mark Lobodzinski [Wed, 28 Dec 2016 15:49:29 +0000 (08:49 -0700)]
scripts: Pass parameters to helper file generator

The helper file generator will be used to output multiple helper
files. Added passing of parameter and test call for this feature
to the generator options block.

Change-Id: I1e417ff50628f395c589282ed6f96f0340758f23

7 years agolayers: Add valid usage enums to core_validation (VL-60)
Mike Schuchardt [Tue, 3 Jan 2017 22:21:24 +0000 (15:21 -0700)]
layers: Add valid usage enums to core_validation (VL-60)

Update valid usage enums in subsection of core validation from
validate_and_capture_pipeline_shader_state() to
checkGraphicsOrComputeBit() inclusive.

Change-Id: I8b71c63de26e42eb073a1eac1abd121d5e57f5c7

7 years agolayers: Remove redundant code
Jeremy Hayes [Tue, 13 Dec 2016 20:09:44 +0000 (13:09 -0700)]
layers: Remove redundant code

This is already being checked in the object tracker layer.

Change-Id: Ie1d5776810c3f8a3df7b9ef920d02e90c0d239b4

7 years agolayers: Update valid usage for Jira VL-59.
Jeremy Hayes [Mon, 12 Dec 2016 18:01:28 +0000 (11:01 -0700)]
layers: Update valid usage for Jira VL-59.

Change-Id: I9aba0480aad5b565eb59f642def7a11e46822566

7 years agolayers: Update Valid Usage enums (VL-69)
Mike Weiblen [Thu, 5 Jan 2017 22:16:11 +0000 (15:16 -0700)]
layers: Update Valid Usage enums (VL-69)

Update Valid Usage enums in parameter_validation.cpp.

Update VU status in the database.

Completes Jira task VL-69.

Change-Id: Ie16c41dd0ad8f264b62b3d5b60d100d7b9b3f229

7 years agolayers: Tag internal helper functions as static
Mike Weiblen [Thu, 5 Jan 2017 22:11:00 +0000 (15:11 -0700)]
layers: Tag internal helper functions as static

Reduce the scope of internal helper functions by
declaring them static.

This is only changes lines related to VL-69,
rather than a full sweep of the code.

Change-Id: I3593e519d11066cd8631f56131de39e6e3b73f50

7 years agolayers: Canonicalize function names in log_msg()
Mike Weiblen [Fri, 6 Jan 2017 23:20:51 +0000 (16:20 -0700)]
layers: Canonicalize function names in log_msg()

For consistancy, Vulkan function names in log_msg strings should
include the vk prefix and end with parens.

Also fix some typos and cut/paste errors.

This only touches lines related to VL-69; it is not a sweep
of all instances in the code.

Change-Id: I41a8f0c9d3b93203f67aef3fa570eb8d95725d31

7 years agolayers: Update Valid Usage enums (VL-63)
Mike Weiblen [Fri, 23 Dec 2016 21:00:22 +0000 (14:00 -0700)]
layers: Update Valid Usage enums (VL-63)

Update Valid Usage enums in a subsection of core_validation.cpp.

Refactored some helper functions to add parameter for msgCode.

Update VU status in the database.

Completes Jira task VL-63.

Change-Id: Iba2cfb978a044d6affb21df9b02a2ac852dfba4e

7 years agoscripts: Remove debugging code from PV
Mark Lobodzinski [Fri, 6 Jan 2017 20:09:19 +0000 (13:09 -0700)]
scripts: Remove debugging code from PV

Change-Id: Ia58e87a07e0e182b6dd447f4d6dc2c7fb2a9f346

7 years agoscripts: Fix handle tracking in parameter validation
Mark Lobodzinski [Fri, 6 Jan 2017 20:08:05 +0000 (13:08 -0700)]
scripts: Fix handle tracking in parameter validation

Handle list was reset for each feature -- accumulate handles across
all Vulkan features to allow exension handle validation to proceed.

Change-Id: Id240404d9cc6757d741f575b9152b0aa82a0c1c2

7 years agolayers: CmdDrawIndirect is not an indexed command
Tony Barbour [Fri, 6 Jan 2017 18:52:50 +0000 (11:52 -0700)]
layers: CmdDrawIndirect is not an indexed command

Change-Id: Ic5e947382f64db366c72fbf058bbbd1118f79e01

7 years agolayers: GH1342, Correct objecttype in object_tracker
Mark Lobodzinski [Fri, 6 Jan 2017 14:37:11 +0000 (07:37 -0700)]
layers: GH1342, Correct objecttype in object_tracker

The IndirectCountAMD extension had the wrong object type specified
for validating its command buffers.

Change-Id: I36707455c6e59f9f0f8456b67b02a320fa4631fa

7 years agoloader: gl167 - Remove unknown inst extensions
Lenny Komow [Thu, 29 Dec 2016 23:27:28 +0000 (16:27 -0700)]
loader: gl167 - Remove unknown inst extensions

Change-Id: I24aecbdab452a04514fd42a9a9ae7f3bcf1cd2ca

7 years agodemos: Make spacebar pause work in cube demo (Linux).
Karl Schultz [Wed, 4 Jan 2017 17:31:20 +0000 (10:31 -0700)]
demos: Make spacebar pause work in cube demo (Linux).

Fixes #1316.
Rework XCB event processing code to handle events
properly and avoid hangs when pausing.
Fix polarity of decrease/increase spin rate keys.  I
suspect that this was an artifact from fixes made
to the transforms a while back.

Change-Id: I74adf7309227fafd175d8972ca930a304c58a1dd

7 years agobuild: Add libxkbcommon to Travis config
Karl Schultz [Thu, 5 Jan 2017 13:43:15 +0000 (06:43 -0700)]
build: Add libxkbcommon to Travis config

libxkbcommon is needed to build VulkanSamples

7 years agodocs: Fix README to show Travis master br status
Karl Schultz [Wed, 4 Jan 2017 22:50:38 +0000 (15:50 -0700)]
docs: Fix README to show Travis master br status

Better to show status only for master branch Travis builds.  Other branches frequently fail and cause the badge to not reflect the status of the master branch.

7 years agoscripts:Adding duplicate error id exceptions
Tobin Ehlis [Wed, 4 Jan 2017 15:11:01 +0000 (08:11 -0700)]
scripts:Adding duplicate error id exceptions

Adding three more exceptions to stats script for duplicate uses of
unique error ids.

7 years agolayers:Remove redundant checks
Tobin Ehlis [Wed, 4 Jan 2017 16:41:47 +0000 (09:41 -0700)]
layers:Remove redundant checks

Remove descriptor set check to make sure that src & dest descriptor
sets of copy update are valid. Object_tracker already verifies this.

7 years agolayers:Remove redundant checks
Tobin Ehlis [Wed, 4 Jan 2017 16:21:17 +0000 (09:21 -0700)]
layers:Remove redundant checks

Remove duplicate checks from core_validation that are already handled
in object_tracker.

7 years agolayers:Add TODO comments for valid usage updates
Tobin Ehlis [Wed, 4 Jan 2017 16:17:01 +0000 (09:17 -0700)]
layers:Add TODO comments for valid usage updates

Note a few unique error enum duplicates that should have their own
unique ids added through spec updates.

7 years agolayers:Remove redundant check
Tobin Ehlis [Wed, 4 Jan 2017 15:23:39 +0000 (08:23 -0700)]
layers:Remove redundant check

Core_validation has a shared to check to verify image layout for both
vkCmdClearColorImage() and vkCmdClearDepthStencilImage(). Removing the
same check for color images from image layer.

7 years agolayers:Remove redundant validation check
Tobin Ehlis [Wed, 4 Jan 2017 14:53:33 +0000 (07:53 -0700)]
layers:Remove redundant validation check

As was noted in a comment, the core_validation check for a valid
instance in EnumeratePhysicalDevices() was replicating the same check
in object_tracker. Killing the core_validation check.

7 years agodemos: Fix CMake file to allow WSI selection
Karl Schultz [Wed, 4 Jan 2017 20:17:06 +0000 (13:17 -0700)]
demos: Fix CMake file to allow WSI selection

Define DEMOS_WSI_SELECTION CMake variable so it can be set
from CMake command line or GUI.

Change-Id: If2531d102fe9b054a1eee4da28431779b173fc10

7 years agoexternal: Back up one spirv-tools commit
Tony Barbour [Wed, 4 Jan 2017 19:09:12 +0000 (12:09 -0700)]
external: Back up one spirv-tools commit

As a workaround for the assert running CTS with validation, back
up one spirv-tools commit until SPIRV-Tools issue 517 is resolved

Change-Id: I4b173add841a67654caabd4fd534fe00a8970009

7 years agoscripts: Fix dynamic array calc in vk_helper.py
Mark Lobodzinski [Wed, 4 Jan 2017 16:27:39 +0000 (09:27 -0700)]
scripts: Fix dynamic array calc in vk_helper.py

VkSubmitInfo->pWaitDstStageMask should be treated as a dynamic array
with a count of VkSubmitInfo->waitSemaphoreCount.

Change-Id: I42da296eeb849f5baabc12d011c938f0f322274a

7 years agobuild: Cleanup warnings when compiling with clang
Karl Schultz [Thu, 29 Dec 2016 22:59:06 +0000 (15:59 -0700)]
build: Cleanup warnings when compiling with clang

Travis-CI is building this repo with gcc and clang.
This commit fixes warnings reported by clang but not by gcc.
All the fixes involved adding an extra set of braces in
initializers.

Change-Id: I88e7841d9ab13afe2e45362b8f85261863d5b7fa

7 years agoscripts:Exceptions for duplicate unique ids
Tobin Ehlis [Tue, 3 Jan 2017 21:09:57 +0000 (14:09 -0700)]
scripts:Exceptions for duplicate unique ids

Added a number of exceptions for duplicate uses of unique error enums
that are valid. Also added some comments to a few cases that need new
unique ids.

7 years agolayers:Remove redundant check
Tobin Ehlis [Tue, 3 Jan 2017 21:07:17 +0000 (14:07 -0700)]
layers:Remove redundant check

Object tracker layer already makes sure that cmd buffers passed into
vkCmdExecuteCommands() are valid so removing the duplicate check from
core_validation.

7 years agolayers:Remove redundant image compatibility check
Tobin Ehlis [Tue, 3 Jan 2017 18:23:30 +0000 (11:23 -0700)]
layers:Remove redundant image compatibility check

The format compatibility check when creating an image view handles case
of color-color check as well as compressed image compatibility check.
Killing the redundant check and comment as this is all handled above.

7 years agoUpdate README to point to Khronos AppVeyor CI
Karl Schultz [Tue, 3 Jan 2017 20:22:15 +0000 (13:22 -0700)]
Update README to point to Khronos AppVeyor CI

7 years agoscripts: Remove hack from safe-struct generation
Mark Lobodzinski [Tue, 3 Jan 2017 15:53:57 +0000 (08:53 -0700)]
scripts: Remove hack from safe-struct generation

Some special-cases were added to safe_struct genration so that it'd
spit out unneeded worker routines for normal functions. Removed the
offending code and the workaround.

Change-Id: I9394b06e3cdda011f417c725622eec3dd224a989

7 years agolayers: Remove bad call to safe_struct worker fcn
Mark Lobodzinski [Tue, 3 Jan 2017 15:52:14 +0000 (08:52 -0700)]
layers: Remove bad call to safe_struct worker fcn

One of the displaymode functions was calling a safe_struct worker
function incorrectly, and a special-case hack was added to have
unique_objects generate this unneeded function.

Change-Id: I9939b56cb254e50b60d48945a14ad223efad775e

7 years agobuild: Return status immediately if a test fails
Cody Northrop [Tue, 3 Jan 2017 15:14:02 +0000 (08:14 -0700)]
build: Return status immediately if a test fails

7 years agobuild: Cache external build directories
Cody Northrop [Tue, 3 Jan 2017 15:07:15 +0000 (08:07 -0700)]
build: Cache external build directories

7 years agobuild: Move to latest Android NDK
Cody Northrop [Tue, 3 Jan 2017 15:06:43 +0000 (08:06 -0700)]
build: Move to latest Android NDK

7 years agobuild: Update Android target revision
Cody Northrop [Tue, 3 Jan 2017 15:06:03 +0000 (08:06 -0700)]
build: Update Android target revision

7 years agotests:Update tests to use unique ids
Tobin Ehlis [Mon, 2 Jan 2017 17:09:07 +0000 (10:09 -0700)]
tests:Update tests to use unique ids

Update a bunch of tests to use the unique id to check for expected
error. Update documentation for a few tests that were incorrect.
Also a couple of minor test updates to fix minor issues.

7 years agolayers:Only flag one aspect error at a time
Tobin Ehlis [Mon, 2 Jan 2017 17:04:56 +0000 (10:04 -0700)]
layers:Only flag one aspect error at a time

For image aspect bit errors, first flag the error if correct bit is not
set, else flag error if additional bits are incorrectly set. There's
not a real benefit to flagging both errors and it complicates testing.
Generally the first error should be sufficient to allow a user to
correctly update their aspect bit usage.

7 years agoscripts:Check for use of error enums in tests
Tobin Ehlis [Thu, 29 Dec 2016 21:51:17 +0000 (14:51 -0700)]
scripts:Check for use of error enums in tests

Update stats script to gather all error enums that are used by tests to
check for validation errors. If the database reports that a test is
checking a specific enum, but that enum is not being used in the
SetDesiredFailureMsg() for that test, report it as a warning.

Ideally all of the checks will start using the explicit enum value to
check for the presence of that error, so this warning will highlight
tests where it should be easy to update them to check for error enum.

7 years agodocs: Update README for AppVeyor Windows CI builds
Karl Schultz [Fri, 30 Dec 2016 17:24:21 +0000 (10:24 -0700)]
docs: Update README for AppVeyor Windows CI builds

7 years agobuild: Add config file for AppVeyor Windows CI
Karl Schultz [Fri, 30 Dec 2016 17:16:33 +0000 (10:16 -0700)]
build: Add config file for AppVeyor Windows CI

7 years agodocs: Update README for Travis
Karl Schultz [Fri, 30 Dec 2016 00:18:10 +0000 (17:18 -0700)]
docs: Update README for Travis

7 years agoexternal: Update Glslang/Spirv-Tools revisions.
Mark Young [Thu, 29 Dec 2016 23:24:45 +0000 (16:24 -0700)]
external: Update Glslang/Spirv-Tools revisions.

Update Glslang to commit 807a0d9e2f4e176
and Spirv-Tools to commit 6993fc413d8da97.

Change-Id: I468ec5ec3bee13f4d1549439bef9b40908245f33

7 years agobuild: Add Android build to travis
Karl Schultz [Thu, 29 Dec 2016 23:23:42 +0000 (16:23 -0700)]
build: Add Android build to travis

Change-Id: I51232194642bd2f36e212b4a0ac1e81272eae450

7 years agoloader: Switch variable appropriately
Mark Young [Wed, 28 Dec 2016 23:10:10 +0000 (16:10 -0700)]
loader: Switch variable appropriately

A delete was being done using a variable that wasn't directly
tied to the array.

Change-Id: I59ba4bc86a72fc8158e3a7c46e13c54fb2409873

7 years agolayers:Variable renaming for style and clarity
Tobin Ehlis [Thu, 29 Dec 2016 19:40:16 +0000 (12:40 -0700)]
layers:Variable renaming for style and clarity

7 years agolayers:Don't pass active binding set around
Tobin Ehlis [Thu, 29 Dec 2016 19:22:32 +0000 (12:22 -0700)]
layers:Don't pass active binding set around

The active bindings set was being passed around but the data is only
used in a couple places and an alternate form of it is available in the
binding->requirement map. Also, the binding set was wrong in that it
stored bindings for all bound sets at draw time, but was being used to
check bindings for individual sets.