platform/upstream/Vulkan-LoaderAndValidationLayers.git
7 years agobuild: Update docs for Linux 32-bit
Karl Schultz [Sat, 19 Nov 2016 17:24:47 +0000 (10:24 -0700)]
build: Update docs for Linux 32-bit

Change-Id: I38c19a166b25af8dba6bdac4d4c09eb1cfdc698d

7 years agobuild: loader: Fix warnings for 32-bit linux
Karl Schultz [Sat, 19 Nov 2016 16:02:27 +0000 (09:02 -0700)]
build: loader: Fix warnings for 32-bit linux

Change-Id: Ied7668aa7edeef01675dd4f358916d3e8bc07b27

7 years agobuild: Update .gitignore w/new __pycache__ location
Mark Lobodzinski [Fri, 18 Nov 2016 22:10:27 +0000 (15:10 -0700)]
build: Update .gitignore w/new __pycache__ location

Change-Id: I096d61d7e1ff20ab34672efe24a3cfaa888f0018

7 years agobuild: Move vk.xml file into scripts dir
Mark Lobodzinski [Fri, 18 Nov 2016 22:04:50 +0000 (15:04 -0700)]
build: Move vk.xml file into scripts dir

- Update android-generate batch/script files
- Update layers CMakeLists.txt file

Change-Id: I6423f441d61daa20aef2cc5e8bc719113fd7978d

7 years agobuild: Move XML codegen scripts into scripts dir
Mark Lobodzinski [Fri, 18 Nov 2016 21:58:57 +0000 (14:58 -0700)]
build: Move XML codegen scripts into scripts dir

- Update android-generate.bat and android-generate.sh
- Updated layer CMakeLists.txt files for new path

Change-Id: I1b1c9dbc9e944c90e95542fcfdda1d2e804517f3

7 years agobuild: Move codegen scripts into scripts dir
Mark Lobodzinski [Fri, 18 Nov 2016 21:44:37 +0000 (14:44 -0700)]
build: Move codegen scripts into scripts dir

- Set SCRIPTS_DIR in root CMakeLists.txt
- Update android-generate.bat and android-generate.sh
- Updated layer/loader/tests CMakeLists.txt files for new path
- Updated test layer doc scripts for new location

Change-Id: I2d519ec40883ebeec4e9daab8641ad65515bb08c

7 years agoscripts: Move determine_vs_version into scripts dir
Mark Lobodzinski [Fri, 18 Nov 2016 21:12:01 +0000 (14:12 -0700)]
scripts: Move determine_vs_version into scripts dir

- Moved determine_vs_version.py into scripts dir
- Updated build_windows_targets.bat
- Updated update_external_sources.bat

Change-Id: I951a05763a7004f2ba641dad72ae3c109ce0aa5c

7 years agolayers:Warn on cmd buffer invalidate
Tobin Ehlis [Mon, 21 Nov 2016 15:31:01 +0000 (08:31 -0700)]
layers:Warn on cmd buffer invalidate

From Mikko Strandborg

When a resource gets deleted, any command buffer that references it
gets invalidated, and an error gets thrown whenever that command buffer
is submitted. However, for a developer, it's quite hard to deduce what
exactly caused that to happen. This patch emits a warning whenever a
command buffer that's in CB_RECORDING state (meaning that it has had
its vkBeginCommandBuffer called but not End). This way the developer
can set a breakpoint on that to see exactly what causes the buffer to
be invalidated.

Destroying a resource that's being used in an open command buffer is
almost certainly a bug, but there might still be cases where it might
be valid behavior (for example, when the application decides to abort
an operation), therefore it's not an error but a warning instead.

7 years agoscripts:Update unique error enums as of 11/21/16
Tobin Ehlis [Mon, 21 Nov 2016 15:08:17 +0000 (08:08 -0700)]
scripts:Update unique error enums as of 11/21/16

4 Updated checks and 1 new check.

Cmd line was:
python spec.py -update -remap 918-768,2:1096-936:2170-1964 > output.txt

7 years agoscripts:Check image.cpp for unique error enums
Tobin Ehlis [Fri, 18 Nov 2016 23:56:15 +0000 (16:56 -0700)]
scripts:Check image.cpp for unique error enums

Stats script wasn't checking image.cpp when looking for implemented
unique error enums.

Also updated script to include number of enums that it finds which are
claiming to be implemented but not located in source.

7 years agoUpdate out of range attachment check to use unique enum
Chris Forbes [Sun, 20 Nov 2016 21:45:39 +0000 (10:45 +1300)]
Update out of range attachment check to use unique enum

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Only call ValidateLayouts if no prior error
Chris Forbes [Wed, 16 Nov 2016 01:30:05 +0000 (14:30 +1300)]
layers: Only call ValidateLayouts if no prior error

The long-term solution here is to merge some of this code together, but
validating the layouts later and only if nothing else was bogus is a
good start.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agotests: Add a test for an out of range attachment reference.
Chris Forbes [Tue, 15 Nov 2016 19:59:10 +0000 (08:59 +1300)]
tests: Add a test for an out of range attachment reference.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Improve wording of attachment-index-out-of-range error
Chris Forbes [Tue, 15 Nov 2016 19:58:32 +0000 (08:58 +1300)]
layers: Improve wording of attachment-index-out-of-range error

This wasn't correct for the == case.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agovulkaninfo: Fix variable, struct and function names
joey-lunarg [Mon, 7 Nov 2016 18:27:00 +0000 (11:27 -0700)]
vulkaninfo: Fix variable, struct and function names

Cleanup to match Google c++ style guide.

Change-Id: Ifecbf5c8680159684e24a184421e907d1d815627

8 years agovulkaninfo: Add surface present modes
joey-lunarg [Wed, 2 Nov 2016 20:36:19 +0000 (14:36 -0600)]
vulkaninfo: Add surface present modes

Change-Id: Icb6c30a81743cf5854fd7ecc974d87e814be856d

8 years agodemos: fix validation error
Jeremy Hayes [Fri, 18 Nov 2016 18:59:55 +0000 (11:59 -0700)]
demos: fix validation error

Change-Id: Idd89d98bf8932c07df2c1452f27d2f3002fb2d8a

8 years agodemos: call DeviceWaitIdle before DestroyDevice
Jeremy Hayes [Wed, 16 Nov 2016 21:54:41 +0000 (14:54 -0700)]
demos: call DeviceWaitIdle before DestroyDevice

Change-Id: Ic5819027b706e8c5d66ae78d0d0da1133c16085b

8 years agodemos: make present mode a command line option
Jeremy Hayes [Wed, 16 Nov 2016 21:47:13 +0000 (14:47 -0700)]
demos: make present mode a command line option

Change-Id: I0dedd685225f5aecaba968ba81da487e5d05da26

8 years agodemos: move staging texture to demo struct
Jeremy Hayes [Wed, 16 Nov 2016 21:15:25 +0000 (14:15 -0700)]
demos: move staging texture to demo struct

Change-Id: I8b0319d0f0bab8aba6c41e8fa324f0a9f7128baf

8 years agodemos: move cmd bfr creation out of layout util
Jeremy Hayes [Wed, 16 Nov 2016 20:42:08 +0000 (13:42 -0700)]
demos: move cmd bfr creation out of layout util

Change-Id: I01c4f59497f4ac22f2a96bda535c7965d34156d8

8 years agoheader: Update header files to version 1.0.34
Mark Lobodzinski [Fri, 18 Nov 2016 15:36:15 +0000 (08:36 -0700)]
header: Update header files to version 1.0.34

 - Updated vulkan.h
 - Updated vk.xml
 - updated windows/linux *.json files
 - updated Linux SOVERSION
 - updated vulkan.hpp

Change-Id: I288e2646445aec88aa4a3a9243dd65293fe1028a

8 years agolayers:Check reqs before call to BindImageMemory
Tobin Ehlis [Thu, 17 Nov 2016 20:51:54 +0000 (13:51 -0700)]
layers:Check reqs before call to BindImageMemory

There's an implicit spec requirement that GetImageMemoryRequirements()
should be called prior to calling BindImageMemory() b/c various return
values from GetImageMemoryRequirements() are expected to be complied
with.

This change adds a warning if GetImageMemoryRequirements() has not
been called prior to BindImageMemory(). In this case it will make the
call itself in order to populate internal state tracking.

8 years agolayers:Check reqs before call to BindBufferMemory
Tobin Ehlis [Thu, 17 Nov 2016 20:39:57 +0000 (13:39 -0700)]
layers:Check reqs before call to BindBufferMemory

There's an implicit spec requirement that GetBufferMemoryRequirements()
should be called prior to calling BindBufferMemory() b/c various return
values from GetBufferMemoryRequirements() are expected to be complied
with.

This change adds a warning if GetBufferMemoryRequirements() has not
been called prior to BindBufferMemory(). In this case it will make the
call itself in order to populate internal state tracking.

8 years agolayers:Rename BUFFER_NODE->BUFFER_STATE
Tobin Ehlis [Wed, 16 Nov 2016 16:30:23 +0000 (09:30 -0700)]
layers:Rename BUFFER_NODE->BUFFER_STATE

8 years agolayers:Check all memory bindings
Tobin Ehlis [Tue, 15 Nov 2016 22:37:18 +0000 (15:37 -0700)]
layers:Check all memory bindings

There are a few places in the code where we assume that an image or
buffer doesn't have a sparse binding. These cases break with sparse
bindings.

To fix I added a function to BINDING class to retrieve all memory
bindings and then updated a few spots with bad assumption to make use
of this new GetBoundMemory() function.

8 years agolayers:Check buffer offset against required size
Tobin Ehlis [Wed, 16 Nov 2016 16:01:28 +0000 (09:01 -0700)]
layers:Check buffer offset against required size

Fixes #1030

Use the required memory size instead of bound memory size when
validating the offset into a memory buffer. This will correctly handle
both sparse and non-sparse cases.

8 years agolayers:Save memory requirements
Tobin Ehlis [Wed, 16 Nov 2016 15:57:22 +0000 (08:57 -0700)]
layers:Save memory requirements

Add memory requirements member to the BINDABLE class and save memory
requirements for images and buffers in their respective
Get*MemoryRequirements() functions.

8 years agocodegen: change script to handle NV ext structs
David Pinedo [Thu, 17 Nov 2016 22:03:16 +0000 (15:03 -0700)]
codegen: change script to handle NV ext structs

Modified vk_helper.py to handle NV-specific structures

8 years agolayers: GH949, Fix ObjTrkr to destroy NULL handles
Mark Lobodzinski [Thu, 17 Nov 2016 17:56:14 +0000 (10:56 -0700)]
layers: GH949, Fix ObjTrkr to destroy NULL handles

ObjectTracker emitted errors when a destroy/free call was made with
VK_NULL_HANDLE, which *is* allowed by the spec.

Change-Id: I2b4e19999e539d68b5856139566d4a7a8a530ca6

8 years agotests:Add test DynamicOffsetWithInactiveBinding
Tobin Ehlis [Thu, 17 Nov 2016 17:54:13 +0000 (10:54 -0700)]
tests:Add test DynamicOffsetWithInactiveBinding

This is a positive test that features an inactive binding with a
dynamic descriptor and an associated dynamic offset passed in at bind
time.

This previously caused an invalid validation error b/c we weren't
skipping entries in the dynamic offset array for inactive bindings

8 years agolayers:Fix descriptor dynamic offset handling
Tobin Ehlis [Thu, 17 Nov 2016 17:50:52 +0000 (10:50 -0700)]
layers:Fix descriptor dynamic offset handling

Fixes #1162

The dynamic offsets passed in at descriptor bind time are ordered based
on the binding order and any consecutive array indicies within those
bindings. When we validate the dynamic offsets at draw time, we were
using the entire dynamic offset array, but only the active bindings.

If we had an inactive dynamic binding before the end of the bindings
we would use the wrong offsets.

This change fixes the issue by creating a mapping between bindings and
dynamic offset array indicies at descriptor layout creation time. At
draw time the mapping is then used to lookup the correct dynamic offset
array index for a given binding.

8 years agoRevert "layers: Update vulkan.py with new extensions"
Mark Lobodzinski [Thu, 17 Nov 2016 17:20:12 +0000 (10:20 -0700)]
Revert "layers: Update vulkan.py with new extensions"

This reverts commit f504ff6e45bb15a0517a8de2e2d75e90df7e4627.
This caused huge issues in the VulkanTools repo, reverting for
now.

8 years agolayers: Update vulkan.py with new extensions
Mark Lobodzinski [Wed, 16 Nov 2016 21:53:26 +0000 (14:53 -0700)]
layers: Update vulkan.py with new extensions

Change-Id: I1b0623587d7d02849ece97de00ddb1c6bad58819

8 years agoheader: Update header files to version 1.0.33
Mark Lobodzinski [Wed, 16 Nov 2016 22:34:26 +0000 (15:34 -0700)]
header: Update header files to version 1.0.33

- Updated vulkan.h
- Updated vk.xml
- updated windows/linux *.json files
- updated Linux SOVERSION
- updated vulkan.hpp

Change-Id: I8128a610d1cd24a1ac49712f28d566f712f4cc94

8 years agodocs: add libxkbcommon dependency (Keyboard handling)
Rene Lindsay [Thu, 17 Nov 2016 01:52:55 +0000 (18:52 -0700)]
docs: add libxkbcommon dependency (Keyboard handling)

8 years agolayers: Update error enum database
Mark Lobodzinski [Tue, 15 Nov 2016 16:40:32 +0000 (09:40 -0700)]
layers: Update error enum database

Updated status for new MappedMemoryRanges device limits checks.

Change-Id: Id5e1973fa2b7d798abfa3e54f751b69c1b29f2d1

8 years agotests: Add LVTs for MapMemRange device limits
Mark Lobodzinski [Tue, 15 Nov 2016 16:38:51 +0000 (09:38 -0700)]
tests: Add LVTs for MapMemRange device limits

Tacked them onto InvalidMemoryMapping test.

Change-Id: I62a094461730bcac14649a2ad6adf5cfdd0f2c58

8 years agotests: Fix unexpected errors in InvalidMemoryMapping
Mark Lobodzinski [Tue, 15 Nov 2016 16:14:24 +0000 (09:14 -0700)]
tests: Fix unexpected errors in InvalidMemoryMapping

Old tests for offset/size range violations did not respect device
limits.

Change-Id: I83a1360197db1cdf6a2d9fcc521627643d3ef74d

8 years agolayers: GH329, Add MappedMemoryRanges limits checks
Mark Lobodzinski [Mon, 14 Nov 2016 23:28:01 +0000 (16:28 -0700)]
layers: GH329, Add MappedMemoryRanges limits checks

When VkMappedMemoryRange structures are used, the offset and size
members must be a multiple of the device limit nonCoherentAtomSize.
Added these checks in core_validation.

Change-Id: If7eded4c52d31c1a25740ac08ec5434c93c5cecc

8 years agolayers: Fixup MappedMemRanges call ordering
Mark Lobodzinski [Tue, 15 Nov 2016 14:59:58 +0000 (07:59 -0700)]
layers: Fixup MappedMemRanges call ordering

Moved validation out of API calls.

Change-Id: I95f3b24d69d469ea98b7c955bbab56c9b47ad487

8 years agolayers: Fixup MappedMemory variable names for style
Mark Lobodzinski [Tue, 15 Nov 2016 14:48:49 +0000 (07:48 -0700)]
layers: Fixup MappedMemory variable names for style

Change-Id: I4f8aae213753dc69ae28a945d7f34cff2af7ccd9

8 years agolayers: Fixup validateMemoryIsMapped for style
Mark Lobodzinski [Tue, 15 Nov 2016 20:55:22 +0000 (13:55 -0700)]
layers: Fixup validateMemoryIsMapped for style

Var names.

Change-Id: I69b441f986c017f2d34a62669c8b3e7511a2dd5f

8 years agolayers: Update ValidateMemIsMapped error enums
Mark Lobodzinski [Tue, 15 Nov 2016 15:56:03 +0000 (08:56 -0700)]
layers: Update ValidateMemIsMapped error enums

Plumbed in VU error enums, updated tests and database.

Change-Id: I114d269c686cddd6b1d3acb098d0b2f5fe4fdc17

8 years agolayers: Updated error database for new check
Mark Lobodzinski [Tue, 15 Nov 2016 20:40:03 +0000 (13:40 -0700)]
layers: Updated error database for new check

Vertex attribute formats, 1413.

Change-Id: Ieddd05c0f40a643db074ade79659f9c09699c436

8 years agotests: Add test for Vtx Attr Format check
Mark Lobodzinski [Tue, 15 Nov 2016 20:30:38 +0000 (13:30 -0700)]
tests: Add test for Vtx Attr Format check

Change-Id: Iee24796050cc87d6f912033ccdf0b18785bb2f60

8 years agolayers: GH1143, Validate vertex attribute formats
Mark Lobodzinski [Wed, 16 Nov 2016 18:12:30 +0000 (11:12 -0700)]
layers: GH1143, Validate vertex attribute formats

Formats specified as vertex attributes (createGraphicsPipelines->
pCreateInfos->pVertexInputState->pVertexAttributeDescriptions.format)
must have the VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT set.

Change-Id: I907c37e2edbcfb7bcb405f912cea8d215acccb11

8 years agolayers: Save PDev in device's layer data
Mark Lobodzinski [Wed, 16 Nov 2016 19:12:56 +0000 (12:12 -0700)]
layers: Save PDev in device's layer data

Needed for physical-device calls or to access data belonging to
the physical device.

Change-Id: I2a1f6eadcaf82c2247a68c91c39d97ef3284b22a

8 years agolayers: Update CGP var names for style
Mark Lobodzinski [Wed, 16 Nov 2016 17:11:02 +0000 (10:11 -0700)]
layers: Update CGP var names for style

Changed CreateGraphicsPipeline local vars to match style guidelines.

Change-Id: I3204ce878b37ef3cb0ce58ecff00d65a4fed4f28

8 years agolayers: Move val to PreCallCreateGraphicsPipelines
Mark Lobodzinski [Wed, 16 Nov 2016 17:05:30 +0000 (10:05 -0700)]
layers: Move val to PreCallCreateGraphicsPipelines

In core validation, created a pre-call function and moved the
validation calls into it.

Change-Id: Ib7831c3d2f36628e24b90083be902ac724f25483

8 years agolayers: Remove verifyPipeLlineCreateState unused parm
Mark Lobodzinski [Wed, 16 Nov 2016 16:51:44 +0000 (09:51 -0700)]
layers: Remove verifyPipeLlineCreateState unused parm

Core-validation, device was unused.

Change-Id: Ia02ff0a3c9ce85c69b175c3e80b101dd2ddc8214

8 years agolayers: update valid usage
Jeremy Hayes [Tue, 15 Nov 2016 22:41:47 +0000 (15:41 -0700)]
layers: update valid usage

Change-Id: Ia46300db1e9140e0547c3e089cef17f774b44cf3

8 years agodemos: Enable building combinations of xcb and xlib
Tony Barbour [Mon, 14 Nov 2016 21:46:33 +0000 (14:46 -0700)]
demos: Enable building combinations of xcb and xlib

Change-Id: I055c12e8c93d05db747239df46611386eb8b8278

8 years agoscripts:Update unique error enums as of 11/15/16
Tobin Ehlis [Tue, 15 Nov 2016 17:18:56 +0000 (10:18 -0700)]
scripts:Update unique error enums as of 11/15/16

2 new checks and 1 deleted check.

Cmd line was "python spec.py -update"

8 years agodemos: Fix compiler warning in smoketest
joey-lunarg [Mon, 14 Nov 2016 22:20:43 +0000 (15:20 -0700)]
demos: Fix compiler warning in smoketest

Replaced snprintf with stringstream.

8 years agolayers: gh125 Add check for memory obj max count
Karl Schultz [Fri, 11 Nov 2016 23:09:47 +0000 (16:09 -0700)]
layers: gh125 Add check for memory obj max count

Fixes #125

Change-Id: I1b0b4eb2894494dc6df9c8dd1beab6f3645a707c

8 years agoandroid: Add default core count in case ncpus not available
Cody Northrop [Mon, 14 Nov 2016 22:48:08 +0000 (15:48 -0700)]
android: Add default core count in case ncpus not available

8 years agolayers: GH1141, Fix host-bit/PREINITIALIZED warning
qnope [Thu, 10 Nov 2016 17:56:51 +0000 (18:56 +0100)]
layers: GH1141, Fix host-bit/PREINITIALIZED warning

Validation layers [core_validation] give a warning when transitioning
an image layout from PREINITIALIZED with srcAccessMask = 0. Since the
barrier should be done implicitly when the commandBuffer is submitted,
the message from the validation layers is incorrect.

Change-Id: I0ebc9f300b029237d4d3527e411d88f64c485ac4

8 years agoandroid: Move external under build-android
Cody Northrop [Thu, 3 Nov 2016 20:44:55 +0000 (14:44 -0600)]
android: Move external under build-android

8 years agoandroid: Build toolchain with more cores
Cody Northrop [Thu, 3 Nov 2016 20:35:08 +0000 (14:35 -0600)]
android: Build toolchain with more cores

8 years agoandroid: Pull known good toolchain versions
Cody Northrop [Thu, 3 Nov 2016 20:34:17 +0000 (14:34 -0600)]
android: Pull known good toolchain versions

This includes pulling libSPIRV-Tools-opt into the build
to satisfy new shaderc revision.

8 years agoloader: Fix pointer dereference issue.
Mark Young [Mon, 14 Nov 2016 22:03:34 +0000 (15:03 -0700)]
loader: Fix pointer dereference issue.

I was setting a value after the object containing it was deleted.

Change-Id: I8c41d454d3f9c89144e876c5b9feaf32af6e2500

8 years agovulkaninfo: Fix unused label err for Windows
Karl Schultz [Mon, 14 Nov 2016 18:53:08 +0000 (11:53 -0700)]
vulkaninfo: Fix unused label err for Windows

Also other rework of previous commit for vulkaninfo:
- remove label and goto
- make Xcb and Xlib display open failure handling more consistent.

Change-Id: Ibfa5cc6f591b987eda26d1ff7059a44dd41c220f

8 years agoRevert "tests: Back DeviceWaitIdle out of test bindings"
Mark Lobodzinski [Mon, 14 Nov 2016 18:39:39 +0000 (11:39 -0700)]
Revert "tests: Back DeviceWaitIdle out of test bindings"

This reverts commit cd64bc300668e99aa56f3872f591a4d39db0f07f.
A DeviceWaitIdle was added to vktestbinding.cpp (which is correct),
but this caused crashes in LVTs. The commit was reverted, tests/layers
were fixed for crashes, and DevWaitIdle was added back. This caused
failures in the loader validation tests due to DS errors generated
during test teardown in LVTs. Once again, temporarily removing the
devicewaitidle until the layers can be fixed to close up some holes
(see github issues 945 and 1031).

Change-Id: If72d10d7173f8bea5efbbd7db9232c64e04e3e40

8 years agoloader: gh1120/gh1134 - Object wrapping issues
Mark Young [Mon, 7 Nov 2016 20:27:02 +0000 (13:27 -0700)]
loader: gh1120/gh1134 - Object wrapping issues

First issue was that we needed to override vkGetDeviceProcAddr.  Instead
of allowing this to always go directly to the ICD, we needed to intercept
a few commands because they require a loader trampoline and terminator
call.  Most commands still return a pointer directly to ICD command.

GH1120 - Unwrap both the physical device handles and the
KHR_surface handles in the loader during both the trampoline and
terminator calls for DebugMarker commands.  This has to be done since the
values given to an application are the loader trampoline versions, and the
values given to the last layer is the loader terminator versions.

GH1134 - We were passing down the wrong device object to the ICD functions
when querying the ICD command function address and comparing it in the
override functions.

Thanks to Baldur (Mr. Renderdoc) for discovering this, testing my
fixes, and resolving several bugs.

Change-Id: I7618d71ffee6c53d9842758210a9261f6b3a1797

8 years agovulkaninfo: fix segfault when DISPLAY is not set
Awais Belal [Fri, 11 Nov 2016 10:13:40 +0000 (15:13 +0500)]
vulkaninfo: fix segfault when DISPLAY is not set

Both xlib and xcb interfaces expect the DISPLAY environment
variable to be set before creation of a window and the
display creation mechanism would segfault if that is
not the case and won't provide the user with details on
what has to be done to correct the problem.
We now handle such scenarios and exit cleanly after
providing the user with some details.

Signed-off-by: Awais Belal <awais_belal@mentor.com>
8 years agolayers: GH321, vkAllocateMemory return code handling
Mark Lobodzinski [Mon, 14 Nov 2016 15:18:09 +0000 (08:18 -0700)]
layers: GH321, vkAllocateMemory return code handling

If a custom allocator is used and fails, validation will continue,
using a null pointer and leading to invalid/unuseful validation
errors. Added a check for a good return code.

Change-Id: I2a91f2e9b3b951296b1e452364c863bca6b67b9f

8 years agoRevert "tests: Back DeviceWaitIdle out of test bindings"
Mark Lobodzinski [Fri, 11 Nov 2016 22:53:35 +0000 (15:53 -0700)]
Revert "tests: Back DeviceWaitIdle out of test bindings"

This reverts commit 93288504c01c2c89a4ba01c34f4af00ec1f507fa. Null-
checks were added to core_validation and the test was updated, so
this commit should no longer crash the layers.

8 years agotests: Fix CommandBufferTwoSubmits unexpected error
Mark Lobodzinski [Fri, 11 Nov 2016 22:51:31 +0000 (15:51 -0700)]
tests: Fix CommandBufferTwoSubmits unexpected error

Needed some kindo of wait after the submits.

Change-Id: Ib365b3f9f1c6e87fbe4c8da24ee214b9c30d48b3

8 years agolayers: Add null checks to RetireWorkOnQueue
Mark Lobodzinski [Fri, 11 Nov 2016 22:27:12 +0000 (15:27 -0700)]
layers: Add null checks to RetireWorkOnQueue

API misuse was causing invalid object dereferences and crashes.

Change-Id: I81ff28b029b984a106a6c60063810e61a07cb945

8 years agoloader: Fix failure on ICD loading
Mark Young [Fri, 11 Nov 2016 16:31:55 +0000 (09:31 -0700)]
loader: Fix failure on ICD loading

Piers (Nvidia) discovered a bug where the ICD would fail in different ways
depending on which ICD failed to load properly during the vkCreateInstance
call.  If the first ICD failed, but the second one succeeded, everything
would work fine, if the second failed, but the first succeeded, it would
fail completely because the last ICD failed.

Change-Id: I9f63146e60baf1ff310c948d8ef84c645519c075

8 years agotests: Back DeviceWaitIdle out of test bindings
Tony Barbour [Fri, 11 Nov 2016 20:20:55 +0000 (13:20 -0700)]
tests: Back DeviceWaitIdle out of test bindings

Take the DeviceWaitIdle out of the test bindings device destructor
until we can fix the problem running CommandBufferTwoSubmits with
validation enabled

Change-Id: I3ac85a7345b5e0ffcf8fb98ec915f55da66e7045

8 years agolayers: Enable destroy_msg_callback dbg msgs
Mark Lobodzinski [Thu, 10 Nov 2016 16:12:57 +0000 (09:12 -0700)]
layers: Enable destroy_msg_callback dbg msgs

These DEBUG_REPORT_DEBUG messages would never get printed as the
active_flags were zeroed out before the log_msg call. Temporarily
used the current callback's flags.

Change-Id: If1cc8ac2edb7dad9964049a7b755b4666f562104

8 years agolayers: GH1129, Fix debug report flags
Mark Lobodzinski [Thu, 10 Nov 2016 16:10:08 +0000 (09:10 -0700)]
layers: GH1129, Fix debug report flags

When a debug report callback was created, destroyed, and re-created using
different flags, the flags controlling enabled message types could not be
unset. Fixed to clear message flags when installing a new debug callback.

Change-Id: If784fc41bf413c814343101bf4083c45224d6d8b

8 years agoexternal: Update glslang and spirv-tools revisions
Mark Young [Fri, 11 Nov 2016 18:21:11 +0000 (11:21 -0700)]
external: Update glslang and spirv-tools revisions

Change-Id: I8eec3ac1a1dedc14fac79ba47a10998842a8ffe4

8 years agodemos: Call DeviceWaitIdle before DestroyDevice
Tony Barbour [Thu, 10 Nov 2016 23:45:15 +0000 (16:45 -0700)]
demos: Call DeviceWaitIdle before DestroyDevice

Complying with best practice from Vulkan Programming Guide
page 31 - Shutting Down Cleanly

Change-Id: I19640071d26f765ffc0a2f5e5fc4d60920395e0b

8 years agowinsdk: Fix missing file extension in runtime
Lenny Komow [Fri, 11 Nov 2016 01:36:05 +0000 (18:36 -0700)]
winsdk: Fix missing file extension in runtime

Change-Id: I251663fb2932823d387af11e94bcd1e2586e0772

8 years agodemos: fix gcc warning
Jeremy Hayes [Thu, 10 Nov 2016 20:24:47 +0000 (13:24 -0700)]
demos: fix gcc warning

Change-Id: I9f4371334bf958bb01e89621008b6e569002d9a1

8 years agolayers: update valid usage
Jeremy Hayes [Thu, 3 Nov 2016 16:49:44 +0000 (10:49 -0600)]
layers: update valid usage

Change-Id: Id7556ddc1be59ee7fe5ab9273257cbc399724a3e

8 years agodemos: Fix argument consistency for smoketest
joey-lunarg [Thu, 3 Nov 2016 20:27:05 +0000 (14:27 -0600)]
demos: Fix argument consistency for smoketest

All arguments now have double-dashes

Change-Id: I19548d60a008cc259326efb1b62b6fd9d3bbdd70

8 years agodemos: Add testing features for smoke
joey-lunarg [Thu, 3 Nov 2016 19:49:49 +0000 (13:49 -0600)]
demos: Add testing features for smoke

Smoketest will now output # of frames rendered and elapsed ms.
Command line argument added to limit the rendered frames,
usage: 'smoketest --c <framecount>'

Change-Id: Id6bc0186169b6511823c4406be655f6d8ca18324

8 years agodemos: Add Game class file for smoke
joey-lunarg [Thu, 3 Nov 2016 19:45:54 +0000 (13:45 -0600)]
demos: Add Game class file for smoke

Change-Id: I385f8fd0676f665b1d774f38767b5691ddae6f7a

8 years agolayers: GH1092 sync CreateGraphicsPipeline enums
Mike Weiblen [Tue, 1 Nov 2016 05:59:10 +0000 (23:59 -0600)]
layers: GH1092 sync CreateGraphicsPipeline enums

Update enum error database with status of implemented checks
inside CreateGraphicsPipeline().

Change-Id: Ie74b51cb65db7c8bff5e40c90617781269bc95a9

8 years agotests: GH934 Testing SetViewport bounds
Mike Weiblen [Tue, 1 Nov 2016 04:35:00 +0000 (22:35 -0600)]
tests: GH934 Testing SetViewport bounds

Add viewport bounds check testing.
Also remove superfluous Vulkan framework setup from the
ViewportBoundsChecking test.

Change-Id: I8ecb4b1e97f3ac2aba181ac7ff4e4bac315a97d1

8 years agolayers: GH934 Bounds checking on SetViewport
Mike Weiblen [Tue, 1 Nov 2016 03:04:10 +0000 (21:04 -0600)]
layers: GH934 Bounds checking on SetViewport

Add viewport bounds checking.

Change-Id: I8ec8a663c5ce3d90447f8f6228ce3ed8fcbb4454

8 years agodemos: fix cubepp fence creation
Jeremy Hayes [Tue, 8 Nov 2016 22:52:05 +0000 (15:52 -0700)]
demos: fix cubepp fence creation

Change-Id: I8019075d3ba7e44cfaf78f6b242cc2e4a8b6505f

8 years agowinsdk: Set runtime to use parameterized build
Lenny Komow [Mon, 7 Nov 2016 22:20:54 +0000 (15:20 -0700)]
winsdk: Set runtime to use parameterized build

Change-Id: I2f315a25667219620f5dcc3c36ad66d225134eef

8 years agoloader: Parameterize locations of drivers/layers
Lenny Komow [Mon, 7 Nov 2016 18:40:00 +0000 (11:40 -0700)]
loader: Parameterize locations of drivers/layers

Change-Id: I79c16e01f336b3cf90ec7e6e66901ad363502e7b

8 years agobuild: Allow the use of a custom-named vulkan dll
Lenny Komow [Mon, 7 Nov 2016 17:44:23 +0000 (10:44 -0700)]
build: Allow the use of a custom-named vulkan dll

Change-Id: Ibeae30386ca2a91717d6b4c3039ada884003a1a4

8 years agowinsdk: Parameterize ConfigureRT program
Lenny Komow [Fri, 4 Nov 2016 16:38:39 +0000 (10:38 -0600)]
winsdk: Parameterize ConfigureRT program

Change-Id: I2f869d5a71fb6c5411aa2ab6a3b133c37fb52a09

8 years agowinsdk: Parameterize runtime NSIS script
Lenny Komow [Thu, 3 Nov 2016 21:43:59 +0000 (15:43 -0600)]
winsdk: Parameterize runtime NSIS script

Change-Id: If1d767f29b6189a44e3f942ab96a55062a2f9cb7

8 years agoloader: Remove warning on missing implicit layer
Mark Young [Mon, 7 Nov 2016 23:26:17 +0000 (16:26 -0700)]
loader: Remove warning on missing implicit layer

If the Implicit Layer registry location was missing, validation
would throw a warning.  This is not correct behavior as many systems will
not have Implicit layers.  Modify so the warning/error is only thrown if
either a driver manifest path, or an explicit layer path.

Change-Id: Ideccc730e0b1c613c4cc58c5f64ae31ba19bc05c

8 years agolayers: Adjust doc to describe PV EXTENSION_NOT_ENABLED
Chris Forbes [Mon, 7 Nov 2016 23:17:12 +0000 (12:17 +1300)]
layers: Adjust doc to describe PV EXTENSION_NOT_ENABLED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agotests: Fix ResetEventThenSet to be a negative test
Tony Barbour [Fri, 4 Nov 2016 17:49:52 +0000 (11:49 -0600)]
tests: Fix ResetEventThenSet to be a negative test

Make it a negative test that resets in the command buffer and then sets from
the CPU without synchronization.  Also don't hang the GPU by waiting for the
event that never gets set.

Change-Id: I70acf0068ee9cb68659f51ad270878d7c33d8738

8 years agolayers: Avoid calling functions not produced by the pv codegen
Chris Forbes [Mon, 7 Nov 2016 19:45:03 +0000 (08:45 +1300)]
layers: Avoid calling functions not produced by the pv codegen

Still need to investigate why the generator doesn't produce everything
it should, but this should be enough to get us going.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix unused variable breaking android build
Chris Forbes [Thu, 3 Nov 2016 20:16:04 +0000 (09:16 +1300)]
layers: Fix unused variable breaking android build

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Move platform entrypoints into main list in PV
Chris Forbes [Wed, 2 Nov 2016 22:28:19 +0000 (11:28 +1300)]
layers: Move platform entrypoints into main list in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Do extension checks for KHR_display in PV
Chris Forbes [Wed, 2 Nov 2016 21:18:35 +0000 (10:18 +1300)]
layers: Do extension checks for KHR_display in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add tracking for VK_KHR_display extension in PV
Chris Forbes [Wed, 2 Nov 2016 21:18:18 +0000 (10:18 +1300)]
layers: Add tracking for VK_KHR_display extension in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Move display swapchain entrypoint into main block
Chris Forbes [Wed, 2 Nov 2016 21:15:31 +0000 (10:15 +1300)]
layers: Move display swapchain entrypoint into main block

This used to be separate because the FPs were only conditionally
returned. Now we always return them.

Signed-off-by: Chris Forbes <chrisforbes@google.com>