platform/upstream/Vulkan-Tools.git
7 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

7 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

7 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

7 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

7 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

7 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

7 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"

7 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.

7 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

7 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

7 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

7 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

7 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

7 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.

7 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

7 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

7 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

7 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>
7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agolayers: s/skip_call/skip/ in PV
Chris Forbes [Wed, 2 Nov 2016 20:53:59 +0000 (09:53 +1300)]
layers: s/skip_call/skip/ in PV

V2: slight tweak for upstream change to PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Introduce require_instance_extension in PV
Chris Forbes [Wed, 2 Nov 2016 20:51:48 +0000 (09:51 +1300)]
layers: Introduce require_instance_extension in PV

More noise going away.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Introduce require_device_extension function in PV
Chris Forbes [Wed, 2 Nov 2016 20:29:52 +0000 (09:29 +1300)]
layers: Introduce require_device_extension function in PV

This gets rid of a bit of redundancy.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move swapchain and surface extension enable checks to PV
Chris Forbes [Wed, 2 Nov 2016 05:34:25 +0000 (18:34 +1300)]
layers: Move swapchain and surface extension enable checks to PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Use uniform initialization better in PV::layer_data
Chris Forbes [Wed, 2 Nov 2016 04:56:50 +0000 (17:56 +1300)]
layers: Use uniform initialization better in PV::layer_data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Rename device ext flags to match extensions in PV
Chris Forbes [Wed, 2 Nov 2016 04:54:21 +0000 (17:54 +1300)]
layers: Rename device ext flags to match extensions in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move enable checks for KHR_surface to PV
Chris Forbes [Wed, 2 Nov 2016 04:43:34 +0000 (17:43 +1300)]
layers: Move enable checks for KHR_surface to PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Rename ambiguous 'wsi_enabled' to 'surface_enabled' in PV
Chris Forbes [Wed, 2 Nov 2016 04:36:42 +0000 (17:36 +1300)]
layers: Rename ambiguous 'wsi_enabled' to 'surface_enabled' in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove dead plumbing for platform extension enables
Chris Forbes [Wed, 2 Nov 2016 04:32:51 +0000 (17:32 +1300)]
layers: Remove dead plumbing for platform extension enables

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Move platform WSI extension checks from swapchain to PV
Chris Forbes [Wed, 2 Nov 2016 03:58:15 +0000 (16:58 +1300)]
layers: Move platform WSI extension checks from swapchain to PV

We want to do all extension checks in PV-- we'll return a good FP for
anything we recognize, and complain upfront if the appropriate extension
wasn't enabled.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove mdd() from PV
Chris Forbes [Wed, 2 Nov 2016 03:21:28 +0000 (16:21 +1300)]
layers: Remove mdd() from PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Remove one remaining use of mid() in PV
Chris Forbes [Wed, 2 Nov 2016 03:13:01 +0000 (16:13 +1300)]
layers: Remove one remaining use of mid() in PV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers:Handle secondary cmd buffer transitions
Tobin Ehlis [Thu, 3 Nov 2016 16:46:44 +0000 (10:46 -0600)]
layers:Handle secondary cmd buffer transitions

When recording a secondary command buffer into a primary command buffer
record any image layout transitions from the secondary cb into the
primary cb.

At QueueSubmit time we validate the layouts at the primary cmd buffer
level so this change will allow that code to correctly work if
layout transitions occur in the secondary command buffer.

7 years agolayers:Set framebuffer for secondary cmd buffer
Tobin Ehlis [Thu, 3 Nov 2016 13:26:28 +0000 (07:26 -0600)]
layers:Set framebuffer for secondary cmd buffer

If a secondary cmd buffer is inheriting state, need to update the
activeFramebuffer in same way we update active renderPass and subpass.

7 years agoloader: Rename icd and physical device vars
Mark Young [Thu, 3 Nov 2016 20:27:13 +0000 (14:27 -0600)]
loader: Rename icd and physical device vars

Clean up the names of the icd and physical device structs, lists, and
variables used throughout the loader.  Before, it was hard to tell where
the item was to be used appropriately.  Now, the names include a hint as
to where they are expected to be allocated, freed, and used.

Also, fixed a bug where we were using a trampoline item in a terminator
function, which caused issues.  Thanks to Piers @ Nvidia for discovering
this.

Change-Id: If98628a5496e9f645eff94b73e80ae7f8408f7b4

7 years agolayers: GH1115 Add missing VK_LAYER_EXPORT decorations
Karl Schultz [Thu, 3 Nov 2016 18:31:41 +0000 (12:31 -0600)]
layers: GH1115 Add missing VK_LAYER_EXPORT decorations

Functions in the vk_layer_extension_utils file were
not getting exported correctly.

Change-Id: If1bf6456cb8e79a1b6292ea76bd72e3e89a2b430

7 years agoloader: Remove vk-loader-generate.py
Mark Lobodzinski [Wed, 2 Nov 2016 21:49:08 +0000 (15:49 -0600)]
loader: Remove vk-loader-generate.py

Loader-specific version of this script was unnecessary. Moved this
functionality into vk-generate.py.

Change-Id: I2f2b7de7a6fdf368d3090c587f7fe78c31176a85

7 years agoloader: Use vk-generate.py instead of loader version
Mark Lobodzinski [Wed, 2 Nov 2016 21:43:04 +0000 (15:43 -0600)]
loader: Use vk-generate.py instead of loader version

Modify cmake to use non-loader-specific script.

Change-Id: Ibe1008badc9380fa399daf207e57438114d0b1e0

7 years agoscripts: Extend vk-generate for 'all' parameter
Mark Lobodzinski [Wed, 2 Nov 2016 21:25:26 +0000 (15:25 -0600)]
scripts: Extend vk-generate for 'all' parameter

A different script is used to generate the loader's windows
def file (loader\vk-loader-generate.py). Added the ability for the
main script to also create the loader's def file.

Change-Id: Ib5caaefe85f84489e3a9f70e20104c27f070c0e8

7 years agoscripts:Initial version of validation stats script
Tobin Ehlis [Mon, 31 Oct 2016 19:27:36 +0000 (13:27 -0600)]
scripts:Initial version of validation stats script

Adding vk_validation_stat.py script to display validation stats.

It parses the database file, unique enum header, source, and testfiles
and reports on the total number of checks and any discrepancies between
the database file and what's actually implemented.

7 years agodocs: Remove references to "this repo"
Karl Schultz [Wed, 2 Nov 2016 19:50:35 +0000 (13:50 -0600)]
docs: Remove references to "this repo"

Remove references to "this repository" in the loader and layers design doc since this file can appear on web sites, etc.

7 years agolayers: GH934 Bounds checking on SetScissor
Mike Weiblen [Mon, 31 Oct 2016 17:05:56 +0000 (11:05 -0600)]
layers: GH934 Bounds checking on SetScissor

Change-Id: I3b14cc79f851eb66401da659cb0dade9888d84a8

7 years agoloader: Fix icd reference in WSI code
Mark Young [Wed, 2 Nov 2016 15:37:08 +0000 (09:37 -0600)]
loader: Fix icd reference in WSI code

Piers Daniell (Nvidia) found a nasty bug where the loader code
was incorrectly incrementing through the ICDs as if the list was
an array.  This may fix some multi-GPU issues he has found.

Change-Id: I42dd4a153c3226ac36b82f4cda8ad21bea8b2f66

7 years agolayers: Change to including vk_safe_struct code.
Mike Stroyan [Tue, 1 Nov 2016 17:50:16 +0000 (11:50 -0600)]
layers: Change to including vk_safe_struct code.

Cmake on windows cannot handle multiple projects using generated library code.

7 years agoloader: Call ICD for CreateDisplayPlaneSurfaceKHR
Mark Young [Wed, 2 Nov 2016 01:20:41 +0000 (19:20 -0600)]
loader: Call ICD for CreateDisplayPlaneSurfaceKHR

Add vkCreateDisplayPlaneSurfaceKHR to the functions that can call
down to an ICD and let it create the KHR_surface object.

Change-Id: I32dd88868c25149a903304f23bdf3a720cdd99af

7 years agoscripts: Build single dispatch table helper
Mark Lobodzinski [Mon, 31 Oct 2016 16:23:17 +0000 (10:23 -0600)]
scripts: Build single dispatch table helper

Modified layers and tests/layers to use 'AllPlatforms' param
instead of displayserver.

Change-Id: I39d53e3991aab4f01854b227e1f6eb030850473d

7 years agoscripts: Add ifdef protection to non_wsi ext APIs
Mark Lobodzinski [Mon, 31 Oct 2016 22:53:40 +0000 (16:53 -0600)]
scripts: Add ifdef protection to non_wsi ext APIs

Dispatch_table_helper.h should not be platform dependent, wrap all
platform dependencies in pre-processor directives for safe
compilation.

Change-Id: I6c876efaceb4d3c38c719f1db9e93d7bd543370e

7 years agoscripts: Re-added AllPlatforms wsi option
Johannes van Waveren [Sun, 30 Oct 2016 04:47:59 +0000 (05:47 +0100)]
scripts: Re-added AllPlatforms wsi option

A single cross-platform dispatch table helper file is preferable.
Added the AllPlatforms parameter back into vk-generate.py

Change-Id: Icc00c04504d58007270eb55fc269651c215aa9b4

7 years agodocs: Updates for Linux loader /usr/local search paths.
Karl Schultz [Mon, 31 Oct 2016 21:58:21 +0000 (15:58 -0600)]
docs: Updates for Linux loader /usr/local search paths.

Change-Id: I899c55815ef51efd141c22a5ce37b0800c2a8430

7 years agolayers: Tweak CmdClearAttachment handling for error DB
Chris Forbes [Wed, 26 Oct 2016 20:32:34 +0000 (09:32 +1300)]
layers: Tweak CmdClearAttachment handling for error DB

- Align the 'ignored' cases with the 1.0.32 spec
- Use unique error enums in the error cases.
- 01125 isn't a perfect match for what I was trying to fix with
  this change, but the code does cover the VU statement.
  Possibly an area we can adjust in the spec.

V2: - Set test names properly too.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Validate VkClearAttachment::aspectMask against aspects present
Chris Forbes [Tue, 25 Oct 2016 23:40:31 +0000 (12:40 +1300)]
layers: Validate VkClearAttachment::aspectMask against aspects present

Fixes #1085

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers: Rework some names a bit in CmdClearAttachments
Chris Forbes [Tue, 25 Oct 2016 03:32:54 +0000 (16:32 +1300)]
layers: Rework some names a bit in CmdClearAttachments

I want to use some of these names for other things...

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agodemos: Fix uninitialized variables in vulkaninfo
Tony Barbour [Fri, 28 Oct 2016 19:52:29 +0000 (13:52 -0600)]
demos: Fix uninitialized variables in vulkaninfo

Getting validation errors from uninitialized flags fields

Change-Id: I052cafcd3dc2cfd031b9d0ec75e654e318e1f320

7 years agoscripts:Add newline at end of database file
Tobin Ehlis [Mon, 31 Oct 2016 17:10:38 +0000 (11:10 -0600)]
scripts:Add newline at end of database file

This intends to always keep the newline there for consistency.

7 years agoscripts:Update unique error enums as of 10/31/16
Tobin Ehlis [Mon, 31 Oct 2016 13:55:19 +0000 (07:55 -0600)]
scripts:Update unique error enums as of 10/31/16

No new checks this week, updated script to handle blank lines and also
to not output the API name debug info by default.

Cmd line was "python spec.py -update"

7 years agoexternal: Update external commit IDs
Mark Young [Mon, 31 Oct 2016 15:49:06 +0000 (09:49 -0600)]
external: Update external commit IDs

Use latest version of Spir-V tools, Spir-V headers, and Glslang.

Change-Id: Id4675f369e016c507b09a355663b487d29b980c5

7 years agodocs: LX617: Fix Android layer path info
Karl Schultz [Mon, 31 Oct 2016 14:52:38 +0000 (08:52 -0600)]
docs: LX617: Fix Android layer path info

7 years agolayers: update error database
Jeremy Hayes [Fri, 28 Oct 2016 21:17:03 +0000 (15:17 -0600)]
layers: update error database

Change-Id: Ib7cbe624aabedec172bead14d0f6d8314f7fc743

7 years agodemos: Make present mode a command line option
Tony Barbour [Fri, 21 Oct 2016 20:47:07 +0000 (14:47 -0600)]
demos: Make present mode a command line option

rather than a compile time decision

Change-Id: Ia13400f03d1881ca3d923f47f76b068a19670435

7 years agodemos: Move staging texture to demo struct
Tony Barbour [Wed, 19 Oct 2016 20:15:49 +0000 (14:15 -0600)]
demos: Move staging texture to demo struct

Get rid of flush in staging code where it's probably unexpected, considering
it doesn't begin another command buffer, and then wait until the expected
flush to free staging texture resources

Change-Id: I80945c3f002a7efe212608895b91ccf0934fe6f9

7 years agodemos: Move command buffer creation out of layout util
Tony Barbour [Wed, 19 Oct 2016 19:41:16 +0000 (13:41 -0600)]
demos: Move command buffer creation out of layout util

Create, begin, end, and submit the setup command buffer all from the same routine
Change-Id: I1ea93e14e930dc3330f722fe212cd8f66555f618

7 years agoheader: Update header files to version 1.0.32
Mark Lobodzinski [Fri, 28 Oct 2016 14:50:56 +0000 (08:50 -0600)]
header: Update header files to version 1.0.32

 - updated vulkan.h
 - updated vk.xml (note that the validity tags have been removed in
   this update)
 - updated vulkan.hpp
 - updated loader's SOVERSION
 - updated json files to version 1.0.32

Change-Id: Ie650c1d6e0bdff3c8cc9c38d74715c454dec37de

7 years agotests: PV cmdSetViewport code style updates
Mark Lobodzinski [Fri, 28 Oct 2016 18:59:47 +0000 (12:59 -0600)]
tests: PV cmdSetViewport code style updates

Was mucking around in here anyway, so fixed up a few var names.

Change-Id: I15f6eab8a94ed73ad3d2f0db143f099732ff54f7

7 years agotests: Fix header 1.0.32 PV issues
Mark Lobodzinski [Fri, 28 Oct 2016 18:57:23 +0000 (12:57 -0600)]
tests: Fix header 1.0.32 PV issues

The validity checks have been removed from vk.xml. PV needed a small
fixup to replace a check that was formerly autogen'd.

Change-Id: Ic4249ff17c22899b6e5324131c644d054ac2a0cf

7 years agotests:Add RenderPassInUseDestroyedSignaled
Tobin Ehlis [Thu, 27 Oct 2016 13:53:36 +0000 (07:53 -0600)]
tests:Add RenderPassInUseDestroyedSignaled

Added RenderPassInUseDestroyedSignaled test to verify
VALIDATION_ERROR_00393, renderPass in-use when destroyed.

This test exercises case when renderPass is bound to cmd buffer as
a child of a bound pipeline.

Updated database file.

7 years agolayers:Add binding for renderpass in pipeline
Tobin Ehlis [Wed, 26 Oct 2016 20:30:06 +0000 (14:30 -0600)]
layers:Add binding for renderpass in pipeline

When creating the cmd buffer<->object linkage, need to account for any
renderPass that is tied to the pipeline and bind it as well.

7 years agoscripts: Make vk-generate more generic
Mark Lobodzinski [Thu, 27 Oct 2016 14:33:09 +0000 (08:33 -0600)]
scripts: Make vk-generate more generic

Removing 'AllPlatforms' arg simplifies and further isolates this
script from API changes.

Change-Id: Iaa3e7c63984e177471fe207b342d79bffa0614b7

7 years agolayers: Make dispatch_table_helper platform specific
Mark Lobodzinski [Thu, 27 Oct 2016 14:32:01 +0000 (08:32 -0600)]
layers: Make dispatch_table_helper platform specific

Allplatforms was specified unnecessarily, resulting in more work
downstream to filter out undefined entrypoints.

Change-Id: Iba542dd4cf4b51592833e704f3d166be5e73b046

7 years agoscripts: Add simplified extension groups to vulkan.py
Mark Lobodzinski [Thu, 27 Oct 2016 15:52:30 +0000 (09:52 -0600)]
scripts: Add simplified extension groups to vulkan.py

Change-Id: I349e8513e8de69580e3a2bed6b69205c377079cb

7 years agoscripts: Update vulkan.py extension lists
Mark Lobodzinski [Thu, 27 Oct 2016 15:48:53 +0000 (09:48 -0600)]
scripts: Update vulkan.py extension lists

Reduced the number of lists, standardized the accepted parameters
for using vulkan.py, and fixed up naming in preparation for
codegening vulkan.py.

Change-Id: I4dd4fff15733fc73bf0712b306fc651333568ece

7 years agobuild: Update cmake files to use variables as destinations for make install
John Zupin [Thu, 27 Oct 2016 19:15:27 +0000 (13:15 -0600)]
build: Update cmake files to use variables as destinations for make install

Change-Id: Ic1d6ebdb73e796cbb1207963973e410c9928c04f

7 years agoloader: fix duplicate detection of manifests when CMAKE_INSTALL_PREFIX is defined
Dor Askayo [Sat, 22 Oct 2016 19:20:29 +0000 (22:20 +0300)]
loader: fix duplicate detection of manifests when CMAKE_INSTALL_PREFIX is defined

This commit fixes GH-1084. (see the issue for more details)

Note that this adds /usr/local/etc and /usr/local/share to the
loader's search path for drivers and layers.

Change-Id: I2cf502cc7d905225c8d38383ea6f856a4daed3ea
Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
7 years agoloader: use CMAKE_INSTALL_FULL_<dir> to improve Linux filesystem compatibility
Dor Askayo [Sat, 22 Oct 2016 17:42:44 +0000 (20:42 +0300)]
loader: use CMAKE_INSTALL_FULL_<dir> to improve Linux filesystem compatibility

In order to improve the loader's compatibility with different filesystem hierarchies
under Linux, use CMake's CMAKE_INSTALL_FULL_<dir> instead of CMAKE_INSTALL_<dir> to
correctly resolve the absolute paths of SYSCONFDIR and DATADIR in compliance with
the GNU Coding Standard [1] and Linux Foundation's Filesystem Hierarchy Standard [2],
as explained in CMake's documentation [3].

Note to packagers: When using CMAKE_INSTALL_PREFIX, this commit obviates the
definition of other CMAKE_INSTALL_ defines to properly detect ICD and layer
manifests in GNU/Linux-compliant filesystems.

This commit fixes GH-1083. (see the issue for more details)

[1] https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
[2] https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
[3] https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html

Change-Id: If743a3c8f5f7381e00c0d23b95b9e13c0dead144
Signed-off-by: Dor Askayo <dor.askayo@gmail.com>