platform/upstream/Vulkan-Tools.git
8 years agoTurn off XLIB define
Tony Barbour [Thu, 31 Mar 2016 19:21:02 +0000 (13:21 -0600)]
Turn off XLIB define

Defining XLIB causes generated layers to silently fail to load

Change-Id: Id630465507383bd61e4e80c184e991ca8e9a1ac8

8 years agolayers: Fix remaining leak in vkDestroyFramebuffers
Chris Forbes [Thu, 31 Mar 2016 03:13:36 +0000 (16:13 +1300)]
layers: Fix remaining leak in vkDestroyFramebuffers

Also simplify & fix the thread safety of this function.
DestroyFramebuffers should not be in anybody's hot path -- and we
absolutely /must/ hold the mutex to touch these maps, so throw away all
the weird unlocking & relocking; just do it the simple way.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Don't leak a VkFramebufferCreateInfo from vkCreateFramebuffer
Chris Forbes [Thu, 31 Mar 2016 03:05:02 +0000 (16:05 +1300)]
layers: Don't leak a VkFramebufferCreateInfo from vkCreateFramebuffer

This allocated and then immediately leaked localFBCI.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix the other half of #212 (bad error)
Chris Forbes [Wed, 30 Mar 2016 22:47:29 +0000 (11:47 +1300)]
layers: Fix the other half of #212 (bad error)

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Don't stash pointer to caller memory in bound function
Chris Forbes [Wed, 30 Mar 2016 22:22:37 +0000 (11:22 +1300)]
layers: Don't stash pointer to caller memory in bound function

We were already accumulating all the events the CB touches -- so just
pass an index into that.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agoSPIR-V: Update glslang and spriv-tools to latest
GregF [Thu, 31 Mar 2016 18:11:06 +0000 (12:11 -0600)]
SPIR-V: Update glslang and spriv-tools to latest

8 years agowinrtinstaller: fix typos in windowsRuntimeInstaller/README.txt
David Pinedo [Wed, 30 Mar 2016 16:13:05 +0000 (10:13 -0600)]
winrtinstaller: fix typos in windowsRuntimeInstaller/README.txt

8 years agolayers: GH215 Removes an invalid check in vkCmdBindDescriptorSets()
Dominik Witczak [Wed, 30 Mar 2016 13:11:53 +0000 (15:11 +0200)]
layers: GH215 Removes an invalid check in vkCmdBindDescriptorSets()

8 years agodocs: Add OSX and Android build steps
Cody Northrop [Tue, 29 Mar 2016 16:31:40 +0000 (10:31 -0600)]
docs: Add OSX and Android build steps

8 years agotoolchain: Add Android specific update scripts
Cody Northrop [Tue, 29 Mar 2016 16:06:49 +0000 (10:06 -0600)]
toolchain: Add Android specific update scripts

Pulls in shaderc dependency automatically.

8 years agolayers: Update descriptor tracking in core_validation
Tobin Ehlis [Fri, 25 Mar 2016 17:49:51 +0000 (11:49 -0600)]
layers: Update descriptor tracking in core_validation

Old mem_tracker code to record updated storage image/buffers was naive in
that is gathered any image/buffer updates to descriptor sets and marked as
updated every such image/buffer that was referenced by currently bound sets.

In reality sets may be bound but not used. This is captured in the
"active_slots" construct of the pipeline.

The code here updates tracking for the updated buffers by waiting until
a draw cmd for gfx pipe or dispatch cmd for compute pipe, and then gathering
the updated images/buffers based on which slots are active.

I've multi-purposed validate_draw_state() to now be
validate_and_update_draw_state() as it includes recording of the images/buffers
from the active_slots, which is then used to mark those as read.
Also, that same function is now being called for compute dispatch cmds so
"draw" state is not ideal.
There is still some rework that needs to be done to improve this situation.

8 years ago#37: vkAcquireNextImageKHR() will no longer treat VK_NULL_HANDLE arg as a valid semap...
Dominik Witczak [Wed, 30 Mar 2016 11:59:48 +0000 (13:59 +0200)]
#37: vkAcquireNextImageKHR() will no longer treat VK_NULL_HANDLE arg as a valid semaphore handle

8 years agolayers: Build up next layer for compute shader validation
Chris Forbes [Wed, 30 Mar 2016 01:04:36 +0000 (14:04 +1300)]
layers: Build up next layer for compute shader validation

Only remaining piece now is to actually call this from
vkCreateComputePipelines!

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: More slight tidying of SC pass
Chris Forbes [Wed, 30 Mar 2016 00:21:20 +0000 (13:21 +1300)]
layers: More slight tidying of SC pass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Make some SC error reporting slightly less misleading
Chris Forbes [Wed, 30 Mar 2016 00:14:22 +0000 (13:14 +1300)]
layers: Make some SC error reporting slightly less misleading

We were reporting that device 0 was interesting. This is nonsense.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Separate out validation of a single pipeline stage
Chris Forbes [Tue, 29 Mar 2016 23:12:01 +0000 (12:12 +1300)]
layers: Separate out validation of a single pipeline stage

This is setting the scene for being able to validate compute shaders

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add device handle in CV layer data
Chris Forbes [Tue, 29 Mar 2016 22:35:21 +0000 (11:35 +1300)]
layers: Add device handle in CV layer data

Avoids having to pass this around quite so much.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Remove dead render_pass forward declaration
Chris Forbes [Tue, 29 Mar 2016 22:14:13 +0000 (11:14 +1300)]
layers: Remove dead render_pass forward declaration

This went away at the same time as the SC/DS merge.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Reduce noise in string conversion of objects
Chris Forbes [Tue, 29 Mar 2016 21:20:37 +0000 (10:20 +1300)]
layers: Reduce noise in string conversion of objects

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: remove unused getTIDIndex function and associated data
Chris Forbes [Tue, 29 Mar 2016 21:18:33 +0000 (10:18 +1300)]
layers: remove unused getTIDIndex function and associated data

This produces warning noise and nobody uses it.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: LX446, Allow GetDeviceQueue to be called multiple times
Mark Lobodzinski [Tue, 29 Mar 2016 15:49:15 +0000 (09:49 -0600)]
layers: LX446, Allow GetDeviceQueue to be called multiple times

Calling this API more than once on the same queue hoses the fence
validation. Also switched queues container from vector to unordered set.

Change-Id: I524347fd11d3b30a66004cf62937d0446e70df22

8 years agolayers: Relax descriptor type match for texel buffers slightly
Chris Forbes [Thu, 24 Mar 2016 01:14:45 +0000 (14:14 +1300)]
layers: Relax descriptor type match for texel buffers slightly

The descriptor doesn't really provide a sampler, but the consuming code
doesn't really look at one either.

Allow VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER to match against
OpTypeSampledImage with an image type having Dim=Buffer and Sampled=1.

8 years agolayers: GH195 Fix core_validation dynamic state checks
Tobin Ehlis [Mon, 28 Mar 2016 17:18:19 +0000 (11:18 -0600)]
layers: GH195 Fix core_validation dynamic state checks

Overhauled validation of dynamic state based on latest details in the
VkPipelineDynamicStateCreateInfo section of the spec.
Because some of the state checks need to be predicated on different pipeline
state, removed the previous flag-based system for check predication and
made it more clear and explicit exactly which pipeline states were gating
each dynamic state check with "if" clauses in validate_draw_state_flags().

The biggest change here is for blend constants, which was the focus of the
referenced GH195. For this case, added blendConstantsEnabled bool to
PIPELINE_NODE and enable it by loop through all attachments to identify if
any have blendEnable set and use the blend constant in any of their
blendFactors.

Also updated all the tests that were affected by this change.

Change-Id: Iaba5d28986c83547575be1ff70b9ae7602435417

8 years agowinrtinstaller: removed vulkaninfo from RT Start Menu
David Pinedo [Tue, 29 Mar 2016 22:29:00 +0000 (16:29 -0600)]
winrtinstaller: removed vulkaninfo from RT Start Menu

8 years agowinrtinstaller: convert RT installer log file to ascii
David Pinedo [Tue, 29 Mar 2016 22:26:50 +0000 (16:26 -0600)]
winrtinstaller: convert RT installer log file to ascii

8 years agolayers: Improve core_validation image layout error message
Mark Lobodzinski [Fri, 25 Mar 2016 21:22:33 +0000 (15:22 -0600)]
layers: Improve core_validation image layout error message

Change-Id: I1e22ef9be4b1d8b22765e1150f828904334380eb

8 years agolayers: Michael's fix for uninit'd data in FindLayout
Mark Lobodzinski [Mon, 28 Mar 2016 20:34:40 +0000 (14:34 -0600)]
layers: Michael's fix for uninit'd data in FindLayout

Change-Id: Ia34d036e15a08c135cf3fb0ea4a80c12f2201ec7

8 years agoRemove device from layer_data_map at destroy in parameter_validation
Tony Barbour [Tue, 29 Mar 2016 21:14:59 +0000 (15:14 -0600)]
Remove device from layer_data_map at destroy in parameter_validation

Change-Id: I964302597c0cbcbb7bb8c73d55fd6b00ebe0e765

8 years agowinrtinstaller: Add logging support to Windows Runtime Installer
David Pinedo [Tue, 29 Mar 2016 19:46:12 +0000 (13:46 -0600)]
winrtinstaller: Add logging support to Windows Runtime Installer

8 years agolayers: Get rid of 1K limit on debug message length
Chris Forbes [Wed, 23 Mar 2016 23:06:35 +0000 (12:06 +1300)]
layers: Get rid of 1K limit on debug message length

Change-Id: I00246f3edd26078d634a8bd1f65755cafcc6467b

8 years agoloader: Fix MSVC post-build event so copy with non-existent dir works
Jon Ashburn [Mon, 28 Mar 2016 20:43:53 +0000 (14:43 -0600)]
loader: Fix MSVC post-build event so copy with non-existent dir works

Change-Id: I4629b36c1fbde76ba025fa38937dfcd22bbd9157

8 years agolayers: Clarify message when query has not been performed.
Michael Lentine [Fri, 25 Mar 2016 22:53:53 +0000 (17:53 -0500)]
layers: Clarify message when query has not been performed.

8 years agoRevert "layers: Make layout checks warnings for pass begin."
Michael Lentine [Fri, 25 Mar 2016 22:06:04 +0000 (17:06 -0500)]
Revert "layers: Make layout checks warnings for pass begin."

This reverts commit 851d28e4759f45bebd151fe163a50741a9947ff0.

8 years agolayers: update json to 1.0.7
Jon Ashburn [Mon, 28 Mar 2016 17:29:14 +0000 (11:29 -0600)]
layers: update json to 1.0.7

Change-Id: I19e6d2a0518f99161bfea0de94b267c5c56fd1ae

8 years agoheader: update to version 1.0.7
Jon Ashburn [Mon, 28 Mar 2016 15:59:08 +0000 (09:59 -0600)]
header: update to version 1.0.7

Change-Id: I11fcbd2746b2d54f2256539a99eac6fe97070118

8 years agoMerge pull request #201 from critsec/vkjson-build-fixes
Jesse Hall [Mon, 28 Mar 2016 15:35:28 +0000 (08:35 -0700)]
Merge pull request #201 from critsec/vkjson-build-fixes

vkjson: Fix include paths and clang errors

8 years agodemos: Change MSVC proj files to remove PATH and add VK_LAYER_PATH
Jon Ashburn [Mon, 28 Mar 2016 14:44:46 +0000 (08:44 -0600)]
demos: Change MSVC proj files to remove PATH  and add VK_LAYER_PATH

The PATH is lower in search order so ICD that install loader in System32
which is now happening no longer find the local built vulkan-1.dll via the
PATH setting. Add the VK_LAYER_PATH  so the local built layers get found.

Change-Id: I56097199a108e30fdf4787e09e62c8ca1544de91

8 years agocmake: Add post build event for MSVC for vulkan dll copy
Jon Ashburn [Fri, 25 Mar 2016 21:57:50 +0000 (15:57 -0600)]
cmake: Add post build event for MSVC for vulkan dll copy

This allows the demos and tests directories to find the locally
built vulkan-1.dll instead of that installed in the system32 directory.

Change-Id: I3177f4ba00d81addbd4df12e1d4f943d95824ff4

8 years agodemos: Fix 32-bit Windows compilation problem.
Karl Schultz [Fri, 25 Mar 2016 21:35:18 +0000 (15:35 -0600)]
demos: Fix 32-bit Windows compilation problem.

8 years agodemos: add missing signal.h to tri.
Karl Schultz [Fri, 25 Mar 2016 20:31:16 +0000 (14:31 -0600)]
demos: add missing signal.h to tri.

Change-Id: If1e509850506495126e827b8605e00fc3ef8c7f9

8 years agodemos: Implement --break for cube and tri.
Karl Schultz [Fri, 25 Mar 2016 20:25:16 +0000 (14:25 -0600)]
demos: Implement --break for cube and tri.

This argument makes the program stop in the debugger on a
validation error.  Only makes sense to use it with --validate.

8 years agolayers: DL - Get inheritedQueries support from physical device features
Tony Barbour [Fri, 25 Mar 2016 19:04:20 +0000 (13:04 -0600)]
layers: DL - Get inheritedQueries support from physical device features

Change-Id: I6f9c045d6154d2c08aa2516caf8e250dcef22e84

8 years agoloader: ghlvl#79, Fix to not report unsupported WSI surface extensions on Linux
Jon Ashburn [Fri, 25 Mar 2016 18:49:35 +0000 (12:49 -0600)]
loader: ghlvl#79, Fix to not report unsupported WSI surface extensions on Linux

Also fix issue where loader would advertise support for these extensions even if
the ICD or layers doesn't support it.  Now ICD must report surface extensions
for the loader to report them.  And on Linux if loader support for a given
surface extension (eg Mir) is compiled out then loader doesn't report it.

Change-Id: I51e302a32f5431f4893a3795ff31be60e9263f43

8 years agodemos: Simplify vulkaninfo to not enable any extensions.
Jon Ashburn [Fri, 25 Mar 2016 18:47:06 +0000 (12:47 -0600)]
demos: Simplify vulkaninfo to not enable any extensions.

For the Linux WSI surface extensions  where BOTH ICD and loader support is
needed for an extension to be supported there was an issue.  If ICD supported
extensions was not equal to loader supported extensions vulkaninfo would error
exit.

Change-Id: Ib6e07d92491b04b1fb90cbf1c6793ae766944d50

8 years agolayers: Use vector::resize instead of reserve to avoid portability issue.
Karl Schultz [Fri, 25 Mar 2016 19:21:25 +0000 (13:21 -0600)]
layers: Use vector::resize instead of reserve to avoid portability issue.

Fixes layer crash on Windows with cube --validate.  On Windows,
std::vector won't bump up the size of a vector (up to the reserved
amount) on an out_of_range access, while linux will.

8 years agolayers: Fix issue when sub-passes have diff attachment count.
Mark Young [Thu, 24 Mar 2016 16:14:35 +0000 (10:14 -0600)]
layers: Fix issue when sub-passes have diff attachment count.

In core_validation, if the attachment count between a primary
and secondary sub-pass was different, then it should treat
the shorter one as UNUSED.  So, if the longer one has the
attachment flags set to UNUSED, it shouldn't be an error.

Change-Id: I3647403551962ef522e7e2ba7ab10a5cb7466c52

8 years agoloader: Fix bugs found in code review.
Ian Elliott [Fri, 25 Mar 2016 15:54:04 +0000 (09:54 -0600)]
loader: Fix bugs found in code review.

8 years agocube: Call vkCreateInstance so that it sets up a temporary callback.
Ian Elliott [Fri, 25 Mar 2016 15:07:19 +0000 (09:07 -0600)]
cube: Call vkCreateInstance so that it sets up a temporary callback.

8 years agoloader: Setup temporary callback for vkDestroyInstance
Ian Elliott [Fri, 25 Mar 2016 14:43:01 +0000 (08:43 -0600)]
loader: Setup temporary callback for vkDestroyInstance

8 years agolayers: Replace ptr-to-ptr descriptor data struct with vector
Tobin Ehlis [Thu, 24 Mar 2016 16:16:09 +0000 (10:16 -0600)]
layers: Replace ptr-to-ptr descriptor data struct with vector

We were using GENERIC_HEADER** ppDescriptors to track updates to slots.
This was pretty messy so make it a bit cleaner with a vector instead.

8 years agolayers: Add check for renderArea being within framebuffer bounds.
Michael Lentine [Fri, 25 Mar 2016 01:48:59 +0000 (20:48 -0500)]
layers: Add check for renderArea being within framebuffer bounds.

8 years agolayers: LX453 fix typo in output message.
Karl Schultz [Fri, 25 Mar 2016 15:10:34 +0000 (09:10 -0600)]
layers: LX453 fix typo in output message.

Change-Id: I7ec8ba429a886bee14dd5a209fa6718941ec19d5

8 years agolayers: Make layout checks warnings for pass begin.
Michael Lentine [Fri, 25 Mar 2016 02:16:00 +0000 (21:16 -0500)]
layers: Make layout checks warnings for pass begin.

8 years agolayers: Update layout mismatch message to provide more detail.
Michael Lentine [Fri, 25 Mar 2016 02:36:53 +0000 (21:36 -0500)]
layers: Update layout mismatch message to provide more detail.

8 years agodemos: Unify cmd arg handling between cube and tri.
Karl Schultz [Fri, 25 Mar 2016 00:43:41 +0000 (18:43 -0600)]
demos: Unify cmd arg handling between cube and tri.

Add --c (frame count) handling to tri to improve testability and
to bring it up to par with cube.
Fix exit code return in both cube and tri for Windows.

Change-Id: I27516b9fc0d13f25f5511ab159a80159c2550237

8 years agoloader: Fix some typos from the recent WSI checkins: broke wayland
Jon Ashburn [Thu, 24 Mar 2016 23:26:59 +0000 (17:26 -0600)]
loader: Fix some typos from the recent WSI checkins: broke wayland

Change-Id: Ie25aaf462498eae7fcc31784015e22376e31a70a

8 years agoloader: Convert fprintf() calls to loader_log()
Ian Elliott [Thu, 24 Mar 2016 21:49:02 +0000 (15:49 -0600)]
loader: Convert fprintf() calls to loader_log()

8 years agolayers: WSI functions should not work unless enabled.
Ian Elliott [Thu, 24 Mar 2016 19:59:22 +0000 (13:59 -0600)]
layers: WSI functions should not work unless enabled.

The WSI extension functions are special.  They are statically exported from the
loader.  This means that an application can directly link against them, and not
have to call a vkGet*ProcAddr function.  However, the application is still
reponsible for for enabling the appropriate WSI extension.

An application was observed that called the WSI functions without enabling the
appropriate extensions.  It worked.  When that application was run with the
validation layers, it crashed.  A change was made to the layer to make sure
that an error was always logged.  It was decided that the loader should change
so that the terminator functions not work (and print a brief message) if an
application calls the function without enabling its extension.  This is done in
the terminator so that the validation layer can be called, which should log a
good error message; and yet still done here in case the application is never
tried with validation turned on.

8 years agoloader: ghlvl 116 Fix CreateDevice to use the proper ICDs PhysDev
Jon Ashburn [Thu, 24 Mar 2016 21:49:57 +0000 (15:49 -0600)]
loader: ghlvl 116 Fix CreateDevice to use the proper ICDs PhysDev

This is needed for querying extensoins from the ICD.

Change-Id: I5655d33d15bf0ea6de506f81821a30dd81ca3d5a

8 years agolayers: Migrate active_sets to active_slots
Tobin Ehlis [Thu, 24 Mar 2016 15:17:25 +0000 (09:17 -0600)]
layers: Migrate active_sets to active_slots

Previously for pipelines we were only tracking which sets were being used.
This change refined active_sets to active_slots. The slots include both the
set and the binding that are in use by the shader. This cleans up a couple
loops and prevents cases where we were checking inactive slots.

8 years agolayers: Fix layout transitions for combined aspect masks.
Michael Lentine [Thu, 24 Mar 2016 20:36:27 +0000 (15:36 -0500)]
layers: Fix layout transitions for combined aspect masks.

8 years agoandroid: Re-enable layer validation tests using shaderc and vulkan_wrapper
Cody Northrop [Wed, 9 Mar 2016 05:25:52 +0000 (22:25 -0700)]
android: Re-enable layer validation tests using shaderc and vulkan_wrapper

8 years agolayers: Additional mutex fixes
Mark Lobodzinski [Thu, 24 Mar 2016 19:38:40 +0000 (13:38 -0600)]
layers: Additional mutex fixes

Change-Id: I0b1678a97f962ec30903c9076f08668ec89fc981

8 years agolayers: GH177 Fix deadlocks
Tobin Ehlis [Thu, 24 Mar 2016 18:50:14 +0000 (12:50 -0600)]
layers: GH177 Fix deadlocks

Fix some early return cases where lock wasn't correctly released.

8 years agolayers: fix bad api version
Jon Ashburn [Thu, 24 Mar 2016 14:32:09 +0000 (08:32 -0600)]
layers: fix bad api version

Change-Id: I664a773b7e8dfd7453754227f6a424311c4aa734

8 years agoGH171: Use relative path for building Android bits
Courtney Goeltzenleuchter [Tue, 22 Mar 2016 16:58:40 +0000 (10:58 -0600)]
GH171: Use relative path for building Android bits

8 years agoGH171: Fix compiler warning
Courtney Goeltzenleuchter [Tue, 22 Mar 2016 22:31:34 +0000 (16:31 -0600)]
GH171: Fix compiler warning

8 years agoGH171: Fix for NDK packaging
Courtney Goeltzenleuchter [Tue, 22 Mar 2016 22:27:25 +0000 (16:27 -0600)]
GH171: Fix for NDK packaging

Script depends on current working directory to
be this same as where the script lives so make
sure that's the case.
Return 0 so NDK tools know things were successful.

8 years agolayers: remove weird double assignment to pAttachments
Chris Forbes [Wed, 23 Mar 2016 22:42:09 +0000 (11:42 +1300)]
layers: remove weird double assignment to pAttachments

8 years agolayers: LX450, Tighten up queueFamilyIndex validation, fix crash
Mark Lobodzinski [Tue, 22 Mar 2016 16:07:26 +0000 (10:07 -0600)]
layers: LX450, Tighten up queueFamilyIndex validation, fix crash

For CreateBuffer and CreateImage the QFIs should be ignored unless
sharingMode is set to CONCURRENT.  Also added QFI validation to
CreateCommandPool and added a special case for when an index is
incorrectly set to QUEUE_FAMILY_IGNORED.

Change-Id: I17639230ea7aa58ab89b9b0dc33e55927e9f1c84

8 years agolayers: Merge renderpass maps in core_validation
Tobin Ehlis [Tue, 22 Mar 2016 19:50:21 +0000 (13:50 -0600)]
layers: Merge renderpass maps in core_validation

Kill passMap, merge all renderpass data into RENDER_PASS_NODE and only use renderPassMap.

8 years agolayers: Merge framebuffer maps in core_validation
Tobin Ehlis [Tue, 22 Mar 2016 19:38:08 +0000 (13:38 -0600)]
layers: Merge framebuffer maps in core_validation

Add attachments container to FRAMEBUFFER_NODE and only use frameBufferMap.

8 years agolayers: LX448, Prevent descriptorSetCount overflow in core_validation
Mark Lobodzinski [Mon, 21 Mar 2016 22:32:53 +0000 (16:32 -0600)]
layers: LX448, Prevent descriptorSetCount overflow in core_validation

Tracking descriptor and descriptorSet counts was incorrect, sometimes causing
integer overflow and application crashes for large createInfo values.

Change-Id: I92196659d6a7476582aa069e42c9a0d7228ba087

8 years agolayers: Fix AV in core_validaton
Mark Lobodzinski [Wed, 23 Mar 2016 20:34:52 +0000 (14:34 -0600)]
layers: Fix AV in core_validaton

Caused crashes in DOTA2

Change-Id: I74d121641872597a63ea42e13ff860112fc7c314

8 years agolayers: Fix up MTMERGE in CV layer to allow disabling mem_tracker validation
Mark Lobodzinski [Wed, 23 Mar 2016 20:33:02 +0000 (14:33 -0600)]
layers: Fix up MTMERGE in CV layer to allow disabling mem_tracker validation

Need this for debugging, it now works again. Renamed .cpp defines to
MTMERGESOURCE to prevent header file conflicts.

Change-Id: Ie144be32dedf8e9b370437583af60413043865ef

8 years agolayers: GH117: Change warning to an error.
Ian Elliott [Wed, 23 Mar 2016 17:13:09 +0000 (11:13 -0600)]
layers: GH117: Change warning to an error.

8 years agolayers: GH117: swapchain layer warns if app uses neither semaphore nor fence.
Ian Elliott [Wed, 23 Mar 2016 14:28:54 +0000 (08:28 -0600)]
layers: GH117: swapchain layer warns if app uses neither semaphore nor fence.

This addresses github issue #117.  Applications should call
vkAcquireNextImageKHR with either a valid semaphore and/or fence.  Issue a
warning if both are set to VK_NULL_HANDLE.

8 years agodemos: cube exit status reflects validation status
Karl Schultz [Tue, 22 Mar 2016 23:06:13 +0000 (17:06 -0600)]
demos: cube exit status reflects validation status

Normal exit code is 0, but exit with code 1 if validation fails.

Change-Id: Ic8bb960b09e1b9f3274188eb4a30151ae6f3d0a0

8 years agowinrtinstaller: sign Config powershell script
David Pinedo [Tue, 22 Mar 2016 20:33:50 +0000 (14:33 -0600)]
winrtinstaller: sign Config powershell script

8 years agotests: Use header macro for API version rather than make_version
Jon Ashburn [Tue, 22 Mar 2016 19:57:46 +0000 (13:57 -0600)]
tests: Use header macro for API version rather than make_version

Change-Id: I454b5d2c4deea46712dff9d5c2af72af683f05a3

8 years agomisc: Update to header version 1.0.6
Jon Ashburn [Tue, 22 Mar 2016 18:57:13 +0000 (12:57 -0600)]
misc: Update to header version 1.0.6

Change-Id: Idf7a9d40278b796e16effa54e9b60668d275b8ec

8 years agoRemove device from layer_data_map at destroy in parameter_validation
Tony Barbour [Tue, 22 Mar 2016 19:23:24 +0000 (13:23 -0600)]
Remove device from layer_data_map at destroy in parameter_validation

Change-Id: Ife2286cc807288c9900b084f5f7c5a09d830f87a

8 years agolayers: Update event tracking to account for sequential cross command buffer and...
Michael Lentine [Fri, 18 Mar 2016 19:11:44 +0000 (14:11 -0500)]
layers: Update event tracking to account for sequential cross command buffer and queue tracking.

8 years agolayers: Merge of cmd buffer maps in core_validation
Tobin Ehlis [Mon, 21 Mar 2016 20:14:44 +0000 (14:14 -0600)]
layers: Merge of cmd buffer maps in core_validation

This is the first step in killing cbMap from mem_tracker and merging
all cmd buffer tracking into commandBufferMap.
This removes all cbMap references, merges some data between the two maps
as appropriate, and replicates some of the mem_tracker data into the
GLOBAL_CB_NODE struct.
There is still some work to be done here in order to remove some of
the replicated data and improve some algorithms that use the
commandBufferMap to avoid duplicate efforts.

8 years agobuild: Cleanup build_windows_targets.bat
Karl Schultz [Tue, 22 Mar 2016 18:05:31 +0000 (12:05 -0600)]
build: Cleanup build_windows_targets.bat

- This batch file can be run in any of the three repos,
  Vulkan-LoaderAndValidationLayers, VulkanTools, and VulkanSamples,
  so remove comments suggesting otherwise.
- Replace spot-check for an artifact with checking errorlevel
  from msbuild to discover build failures.

8 years agolayers: Fix message for array layers to say array layers.
Michael Lentine [Mon, 21 Mar 2016 15:01:33 +0000 (10:01 -0500)]
layers: Fix message for array layers to say array layers.

8 years agolayers: tidy up PIPELINE_NODE a bit
Chris Forbes [Thu, 17 Mar 2016 22:07:59 +0000 (11:07 +1300)]
layers: tidy up PIPELINE_NODE a bit

V2: Incorporate review feedback
V3: Squash warning from printf(size_t).

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Slightly simplify descriptor uses loop in SC
Chris Forbes [Thu, 17 Mar 2016 22:07:35 +0000 (11:07 +1300)]
layers: Slightly simplify descriptor uses loop in SC

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: GH157 Update error messages to be consistent
Tobin Ehlis [Mon, 21 Mar 2016 13:39:14 +0000 (07:39 -0600)]
layers: GH157 Update error messages to be consistent

Print dynamic offset in error messages as hex to be consistent.
Also fix typos of offet->offset

8 years agolayers: Add lock around erase from frameBufferMap in core_validation
Tony Barbour [Mon, 21 Mar 2016 23:18:07 +0000 (17:18 -0600)]
layers: Add lock around erase from frameBufferMap in core_validation

Change-Id: I042573b54876e63c19140948a26d388934e1a3c9

8 years agolayers: Fix core_validation layer cube --validate failure
Mark Lobodzinski [Mon, 21 Mar 2016 22:31:54 +0000 (16:31 -0600)]
layers: Fix core_validation layer cube --validate failure

Change-Id: Ice327b98f0befa0a605155b5ebe3dfe359db6020

8 years agolayers: GH156 (bug-155): Check for WSI enables
Courtney Goeltzenleuchter [Sat, 19 Mar 2016 16:38:52 +0000 (10:38 -0600)]
layers: GH156 (bug-155): Check for WSI enables

https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/155

8 years agolayers: Fix windows issue in smoketest --validate
Mark Lobodzinski [Mon, 21 Mar 2016 19:44:24 +0000 (13:44 -0600)]
layers: Fix windows issue in smoketest --validate

Change-Id: I50a7d39fcd4b6a9c895cfafd2405058e411220f4

8 years agolayers: Rename param_checker to parameter_validation
Mark Lobodzinski [Thu, 17 Mar 2016 21:08:18 +0000 (15:08 -0600)]
layers: Rename param_checker to parameter_validation

Also, param_check.h -> parameter_validation.h and .json files changed.

Change-Id: I9db10563bcc2640fe6b90588d3c80c4fe50a8a83

8 years agoRemove faulty LineLength .clang-format directive.
Karl Schultz [Mon, 21 Mar 2016 16:59:53 +0000 (10:59 -0600)]
Remove faulty LineLength .clang-format directive.

The LineLength: 132 directive was making some clang-format
implementations stop working.  The correct directive is
ColumnLimit.

We also had agreed that the ColumnLimit would be 80 for
all code in this repo except for layers. So remove the
directive here to keep 80 as the default and to reflect
current formatting.

The layers folder has a .clang-format file that correctly
specifies ColumnLimit: 132.

Change-Id: Ic7c2a575e7d52141e3ecbc2e3644210cd85e5ac9

8 years agolayers: Hold shader_module by unique_ptr, clean up properly
Chris Forbes [Fri, 18 Mar 2016 03:30:03 +0000 (16:30 +1300)]
layers: Hold shader_module by unique_ptr, clean up properly

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: More housekeeping: slightly lighten descriptor set compatibility
Chris Forbes [Fri, 18 Mar 2016 02:49:58 +0000 (15:49 +1300)]
layers: More housekeeping: slightly lighten descriptor set compatibility

8 years agolayers: More housekeeping: use stringstreams for describe_type
Chris Forbes [Fri, 18 Mar 2016 01:59:39 +0000 (14:59 +1300)]
layers: More housekeeping: use stringstreams for describe_type

8 years agolayers: Determine required descriptor count when stripping array levels
Chris Forbes [Thu, 17 Mar 2016 22:26:06 +0000 (11:26 +1300)]
layers: Determine required descriptor count when stripping array levels

8 years agolayers: Add check for descriptor count
Chris Forbes [Thu, 17 Mar 2016 22:21:35 +0000 (11:21 +1300)]
layers: Add check for descriptor count

We're not really determining how many descriptors the binding needs yet,
so this only catches the descriptorCount==0 case.