platform/upstream/Vulkan-Tools.git
8 years agoexternal: GH#246, Move glslang and spirv-tools inside of dir tree
Jon Ashburn [Mon, 2 May 2016 14:39:14 +0000 (08:39 -0600)]
external: GH#246, Move glslang and spirv-tools inside of dir tree

Have update_external_sources create a sub-directory "external" to
fetch these components into. This way the update_external_sources
does not potentially overwrite files outside the directory tree.

Change-Id: Ia03d1fb9e4dad9d9db26a46e596fb1bf24fcb033

8 years agodemos: Add location to smoketest varyings
Jon Ashburn [Tue, 3 May 2016 15:45:42 +0000 (09:45 -0600)]
demos: Add location to smoketest varyings

Change-Id: I6fb9d1d0ffd8b51988bc0768afedc0e9fb510cc5

8 years agoheader: Move to header version 1.0.12
Jon Ashburn [Tue, 3 May 2016 14:52:58 +0000 (08:52 -0600)]
header: Move to  header version 1.0.12
Adds an AMD rasterization order extension

Change-Id: I62d17b0437e190da4d44f65a59b8cc246f05b567

8 years agolayers: Add extension-enabled check to vkDestroySurfaceKHR().
Ian Elliott [Fri, 29 Apr 2016 19:03:17 +0000 (13:03 -0600)]
layers: Add extension-enabled check to vkDestroySurfaceKHR().

Because the WSI functions are statically exported (i.e. no need to call gpa()
functions), the swapchain layer is supposed to issue an error if any WSI
function is called without its corresponding extension being enabled.  For
example, the VK_KHR_swapchain extension must be enabled before the
vkCreateSwapchainKHR() function is called.

8 years agowinrtinstaller: added patch file to be used when building nsis
David Pinedo [Mon, 2 May 2016 18:12:04 +0000 (12:12 -0600)]
winrtinstaller: added patch file to be used when building nsis

8 years agolayers: Make unique object IDs unique cross-device and cross-instance
Mark Lobodzinski [Thu, 28 Apr 2016 22:36:58 +0000 (16:36 -0600)]
layers: Make unique object IDs unique cross-device and cross-instance

Change-Id: Ic45e21bd3137dc0474c59f0f4cf9331f070dac20

8 years agoRemove fences once they have been waited on.
Michael Lentine [Fri, 29 Apr 2016 23:37:32 +0000 (18:37 -0500)]
Remove fences once they have been waited on.

8 years agolayers: Add fence in use for bind sparse info.
Michael Lentine [Fri, 29 Apr 2016 22:46:35 +0000 (17:46 -0500)]
layers: Add fence in use for bind sparse info.

8 years agolayers: GH463 Fix layout compatibility check
Tobin Ehlis [Mon, 2 May 2016 16:17:07 +0000 (10:17 -0600)]
layers: GH463 Fix layout compatibility check

After lh and rh layout descriptorCounts were verified to be the same, the
next check was testing the descriptor count for each binding in the lh binding
against the entire descriptor count for the rh layout. The check should be made
just against the descriptor count for the specific binding we're checking in
the rh layout.

8 years agolayers: GH439 Fix locking in Destroy* funcs
Karl Schultz [Fri, 29 Apr 2016 23:22:50 +0000 (17:22 -0600)]
layers: GH439 Fix locking in Destroy* funcs

Change-Id: Icd9c2b63f8e59b39ad0349bc5a4456cbd88a5803

8 years agodemos: Change tri to not require shaderClipDistance
Jon Ashburn [Fri, 29 Apr 2016 22:03:10 +0000 (16:03 -0600)]
demos: Change tri to not require shaderClipDistance

Change-Id: Iaa1afa361d29022388005c173054f714c64fb7d7

8 years agolayers: Fix access violation
Dustin Graves [Fri, 29 Apr 2016 17:55:43 +0000 (11:55 -0600)]
layers: Fix access violation

Move the get_dispatch_key(instance/device) call before calling the
driver's vkDestroyDevice/vkDestroyInstance functions in
unique_objects.  This addresses an access violation error reported
by Application Verifier on Windows due to the previously destroyed
instance/device handle being dereferenced.

Change-Id: I151d42fb8a897d9d3b3c988813108b0b6b5b6b0d

8 years agowindowsRuntimeInstaller: improve documentation on how to build RT installer
David Pinedo [Fri, 29 Apr 2016 17:33:59 +0000 (11:33 -0600)]
windowsRuntimeInstaller: improve documentation on how to build RT installer

8 years agolayers: Clarify error message for pipelineLayout incompatible
Tobin Ehlis [Fri, 29 Apr 2016 13:32:31 +0000 (07:32 -0600)]
layers: Clarify error message for pipelineLayout incompatible

8 years agolayers: Add 0 check for VkFlags array elements
Dustin Graves [Thu, 28 Apr 2016 23:58:59 +0000 (17:58 -0600)]
layers: Add 0 check for VkFlags array elements

- Add parameter validation for the case where the elements in an
  array of VkFlags values must not be 0
- Replace the template parameter in the VkFlags validation functions
  with the VkFlags base type.

Change-Id: Ie85d4d048b21e73409ff817425a1db64570e1b2f

8 years agolayers: Add VkFlags parameter validation
Dustin Graves [Tue, 26 Apr 2016 21:37:10 +0000 (15:37 -0600)]
layers: Add VkFlags parameter validation

Add parameter validation for VkFlags derived types to the
parameter_validation layer's code generation scripts.  The following
validation checks are performed:
 - If a VkFlags parameter is not marked as optional in the XML, a message
   is generated when the parameter is 0.
 - If a VkFlags parameter is not 0, a message is generated if it combines
   bits that are not defined by its associated flag bits enumeration.
 - If a VkFlags parameter does not have an associated flag bits
   enumeration it is treated as a reserved value that must be 0.

Change-Id: I6daed360cde46e2a27c84deda1e0798621f92d50

8 years agolayers: Merge enum array NULL/value checks
Dustin Graves [Tue, 26 Apr 2016 22:34:10 +0000 (16:34 -0600)]
layers: Merge enum array NULL/value checks

- Merge the NULL checks and enumeration value checks performed for arrays
  of enumeration values into a single function call.  This is consistent
  with the validation for arrays of other types.
- Reduce duplicate array checking code.

Change-Id: I8c4e05542bb2f52f5623fe6c7ed3629b9b2680e0

8 years agoloader: Add compile-time option for layer search paths.
Jamie Madill [Wed, 6 Apr 2016 22:26:46 +0000 (18:26 -0400)]
loader: Add compile-time option for layer search paths.

This enables programatically specifying search directories for the
layer JSON files. This makes deploying and running compiled layers
in local and automated testing with multiple configurations a much
simpler process.

Change-Id: I0904ef230d020004d8d71cbe265e83cdb6120db8

8 years agoRevert "loader: Remove the default directory paths for ICDs and layers"
Jamie Madill [Wed, 27 Apr 2016 20:33:23 +0000 (16:33 -0400)]
Revert "loader: Remove the default directory paths for ICDs and layers"

This reverts commit b1e6b564616c40062b81d0b8b90e8689dd9aea11.

Change-Id: I9e6bfad81369912c85c3122d6d36093c3c148454

8 years agodemos+tests: Add HOST_COHERENT to HOST_VISIBLE memory requests
Tony Barbour [Thu, 28 Apr 2016 21:05:09 +0000 (15:05 -0600)]
demos+tests: Add HOST_COHERENT to HOST_VISIBLE memory requests

Where the memory is going to be mapped

Change-Id: I66c4f5950fa77fe8b785b12233adbc4e9db797ce

8 years agodemos: replace raw value with Vulkan constant in demos
Alexandre BACQUART [Thu, 28 Apr 2016 20:25:09 +0000 (14:25 -0600)]
demos: replace raw value with Vulkan constant in demos

Change-Id: I517467bc1afae07fdf6346596908ddb15757dc5d

8 years agodocs: #444 Fix clang-format instructions
Karl Schultz [Thu, 28 Apr 2016 20:20:13 +0000 (14:20 -0600)]
docs: #444 Fix clang-format instructions

8 years agodemos: Fix-ups so that cube/tri build and run on both linux & android
Tobin Ehlis [Thu, 28 Apr 2016 16:17:33 +0000 (10:17 -0600)]
demos: Fix-ups so that cube/tri build and run on both linux & android

8 years agoandroid: Start using vulkan_wrapper in cube and tri
Cody Northrop [Wed, 27 Apr 2016 01:59:19 +0000 (19:59 -0600)]
android: Start using vulkan_wrapper in cube and tri

8 years agoandroid: Move vulkan_wrapper to common (from Cody)
Tobin Ehlis [Thu, 28 Apr 2016 15:00:47 +0000 (09:00 -0600)]
android: Move vulkan_wrapper to common (from Cody)

8 years agoFix cube for android.
Michael Lentine [Mon, 18 Apr 2016 18:20:45 +0000 (13:20 -0500)]
Fix cube for android.

8 years agoMake tri work on android.
Michael Lentine [Mon, 18 Apr 2016 15:14:32 +0000 (10:14 -0500)]
Make tri work on android.

8 years agodocs: Add info for layer tests to CONTRIBUTING
Karl Schultz [Thu, 28 Apr 2016 19:55:42 +0000 (13:55 -0600)]
docs: Add info for layer tests to CONTRIBUTING

8 years agoloader: don't remove loader structs from CreateInfo for ICD
Jon Ashburn [Thu, 28 Apr 2016 18:03:57 +0000 (12:03 -0600)]
loader: don't remove loader structs from CreateInfo for ICD

pNext/sType extension structs  that are unknown to a component must
be ignored by those components (layers, loader, ICDs).  Loader was
stripping off the pNext structs it added to DeviceCreateInfo and
InstanceCreateInfo. Remove this stripping as the loader passes needed
info to layers and ICDs via this.

Change-Id: I49f169660474cffba276afac0c224e1b74eaa4bc

8 years agobuild: Fix Windows build issues
Karl Schultz [Thu, 28 Apr 2016 18:09:34 +0000 (12:09 -0600)]
build: Fix Windows build issues

8 years agoandroid: Fix layer build
Cody Northrop [Thu, 28 Apr 2016 15:55:08 +0000 (09:55 -0600)]
android: Fix layer build

Warning as error, struct field initialization not matching
order of declaration.

8 years agolayers: Use tmp callback for msgs during vk{Create|Destroy}Instance().
Ian Elliott [Thu, 28 Apr 2016 15:08:13 +0000 (09:08 -0600)]
layers: Use tmp callback for msgs during vk{Create|Destroy}Instance().

This is implements some relatively-new functionality of the VK_EXT_debug_report
extension.  An application can pass VkDebugReportCallbackCreateInfoEXT structs
on the pNext chain given to vkCreateInstance(), in order to setup one or more
callbacks that can be used during vk{Create|Destroy}Instance().  These special,
"temporary callbacks" allow messages (e.g. errors) to be logged during the time
when the debug_report extension is normally not setup.

A set of utilities copy VkDebugReportCallbackCreateInfoEXT structs from the
pNext chain given to vkCreateInstance().  These utilities are used by the
validation layers that may have messages (e.g. errors) during
vk{Create|Destroy}Instance().

8 years agolayers: Fix -Wunused-result warning for vasprintf
Chris Forbes [Thu, 28 Apr 2016 02:27:19 +0000 (14:27 +1200)]
layers: Fix -Wunused-result warning for vasprintf

In case of allocation failure, glibc's vasprintf doesn't make any
guarantees about the ptr -- the return value is the only way to handle
this safely.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add copy constructors and initializers for safe_* structs
Tobin Ehlis [Tue, 26 Apr 2016 20:17:19 +0000 (14:17 -0600)]
layers: Add copy constructors and initializers for safe_* structs

Any safe struct for which default copy constructor was incorrect was
broken (anything with embedded ptrs). This change fixes that by adding
correct copy constructors. Also had to add initializers that can take
object ptrs in order for copy constructor code to work.

8 years agoFix android build for CV -> spirv-tools dep
Chris Forbes [Wed, 27 Apr 2016 22:09:11 +0000 (10:09 +1200)]
Fix android build for CV -> spirv-tools dep

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Integrate SPIRV-Tools validator
Chris Forbes [Sun, 3 Apr 2016 22:48:35 +0000 (10:48 +1200)]
layers: Integrate SPIRV-Tools validator

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: link core_validation against spirv-tools
Chris Forbes [Sun, 3 Apr 2016 21:52:11 +0000 (09:52 +1200)]
layers: link core_validation against spirv-tools

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agodemos: Acquire WSI image before changing layout
Tony Barbour [Tue, 26 Apr 2016 17:13:48 +0000 (11:13 -0600)]
demos: Acquire WSI image before changing layout

Change-Id: I1606bd92bcabb40156f8745b58596ae8f1ec429d

8 years agolayers: Emit safe_*::ptr() members to eliminate some cast noise
Chris Forbes [Wed, 27 Apr 2016 02:00:44 +0000 (14:00 +1200)]
layers: Emit safe_*::ptr() members to eliminate some cast noise

These casts were annoying noise, and uncheckable. Move them into the
generator where we know the one type that makes sense.

Drop spurious reinterpret_cast of stage create info to itself -- it's
all raw types once the root pCreateInfo is unwrapped.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add missing compute stage sType check
Dustin Graves [Mon, 25 Apr 2016 21:54:16 +0000 (15:54 -0600)]
layers: Add missing compute stage sType check

The parameter_validation code generator was only generating sType checks
for pointers to structures.  There is one case where a non-pointer struct
parameter needs to be validated: the VkComputePipelineCreateInfo::stage
member of the vkCreateComputePipelines pCreateInfos parameter.  The code
generator has been updated to handle this case.

Change-Id: I1e695fcc875574eae94912ceb6338428d7ed8b49

8 years agoupdate README to refer to COPYRIGHT.txt
Jon Ashburn [Tue, 26 Apr 2016 23:00:03 +0000 (17:00 -0600)]
update README to refer to COPYRIGHT.txt

Change-Id: I32685ef02c245557315a3e44c65eb8c8cf62f9f4

8 years agoloader: update doc to remove sentence allowing layers to skip
Jon Ashburn [Tue, 26 Apr 2016 18:02:58 +0000 (12:02 -0600)]
loader: update doc to remove sentence allowing layers to skip
using app provided allocation callbacks

Change-Id: Ib293934b4574864a78f975aba52c9aa5c0a24779

8 years agolayers: Update layer README file for clarity and bugfixes
Mark Lobodzinski [Tue, 26 Apr 2016 22:02:19 +0000 (16:02 -0600)]
layers: Update layer README file for clarity and bugfixes

Change-Id: I544f72fde8cbbe4d57679c692887fd262073374f

8 years agolayers: Android DescriptorSetLayout class build fixes
Tobin Ehlis [Tue, 26 Apr 2016 22:00:56 +0000 (16:00 -0600)]
layers: Android DescriptorSetLayout class build fixes

8 years agolayers: Add interface to get descriptor type from layout's global index
Tobin Ehlis [Tue, 26 Apr 2016 19:09:51 +0000 (13:09 -0600)]
layers: Add interface to get descriptor type from layout's global index

We match up dynamic descriptor offsets one at a time so added an interface
to get descriptor type from the global index in addition to the original
pBinding index. This allows us to iterate over all of the descriptors in a
set and easily grab their type.

8 years agolayers: Fix object lifetime bugs in DescriptorSetLayout
Tobin Ehlis [Tue, 26 Apr 2016 17:06:05 +0000 (11:06 -0600)]
layers: Fix object lifetime bugs in DescriptorSetLayout

Incomplete copy construction of DescriptorSetLayout and safe_* types
causes embedded pointers (such as pImmutableSamplers) to become invalid
before they should. Fixing this for now by moving DescriptorSetLayout
and its embedded safe_* struct to ptrs within their containers and
explicitly deleting.

8 years agowinrtinstaller: update license
David Pinedo [Tue, 26 Apr 2016 17:30:13 +0000 (11:30 -0600)]
winrtinstaller: update license

8 years agolayers: Break out VkDescriptorSetLayout code into its own class
Tobin Ehlis [Thu, 21 Apr 2016 20:19:26 +0000 (14:19 -0600)]
layers: Break out VkDescriptorSetLayout code into its own class

This is the start of a refactor to pull code out of core_validation.cpp
into its own separate classes. I'm starting with descriptor set code as
it isolates reasonably well and it's old and could use some updating anyway.

For this first piece I've broken VkDescriptorSetLayout into its own
class currently called DescriptorSetLayout. I don't know if that's a great
name as it's close to VkDescriptorSetLayout, so I'm open to changing it.
Provided a brief class description in comment in new file descriptor_sets.h.

I made the class interfaces based on what other code is currently using.
I'm planning to pull more descriptor set code into its own classes and I
anticipate that will cause some flux in the class interfaces until most
of the work is done.

8 years agoloader: ghlvl#180 Support a ICD interface version negotiation
Jon Ashburn [Mon, 25 Apr 2016 17:09:37 +0000 (11:09 -0600)]
loader: ghlvl#180 Support a ICD interface version negotiation

Change-Id: I2e5c3717dd7fa86992f617bcc0f93de8ba60759e

8 years agoloader: update spec doc for ICD interface versioning
Jon Ashburn [Fri, 22 Apr 2016 20:40:07 +0000 (14:40 -0600)]
loader: update spec doc for ICD interface versioning

Change-Id: I7c149a4542623e537b44720766006652abe33948

8 years agojson: Update to version 11.
Karl Schultz [Mon, 25 Apr 2016 16:52:21 +0000 (10:52 -0600)]
json: Update to version 11.

Change-Id: Ifcdd5423ab03110326897dd9cda272eda05acc01

8 years agolayers: GH384 Fix to correctly recognize immutable samplers
Tobin Ehlis [Fri, 22 Apr 2016 15:16:20 +0000 (09:16 -0600)]
layers: GH384 Fix to correctly recognize immutable samplers

Actual fix this time. If a binding is immutable samplers
skip over it when verifying descriptor bindings.

8 years agoMerge pull request #342 from KhronosGroup/update_toolchain_20160414
greg-lunarg [Fri, 22 Apr 2016 20:28:25 +0000 (14:28 -0600)]
Merge pull request #342 from KhronosGroup/update_toolchain_20160414

toolchain: Bump everything to pull in required SPIR-V tools revision

8 years agotoolchain: Bump everything to pull in required SPIR-V tools revision
Cody Northrop [Thu, 14 Apr 2016 17:18:30 +0000 (11:18 -0600)]
toolchain: Bump everything to pull in required SPIR-V tools revision

Encompasses pull request #261 from Chris.

Also gets things building again reflecting upstream changesi, mainly
HLSL libs for glslang.

Desktop build/test results w/ update_external_sources.sh/bat
 Windows on Skylake: _run_all_tests.ps1, demos with --validate
 Ubuntu on Skylake: vk_layer_validation_tests, cube --validate

Android build/test results w/ update_external_sources_android.sh/bat:
 Windows: VkLayerValidationTests pass
 OSX: VkLayerValidationTests pass
 Ubuntu: VkLayerValidationTests pass

8 years agoheader: Update to version 1.0.11
Jon Ashburn [Fri, 22 Apr 2016 14:49:39 +0000 (08:49 -0600)]
header: Update to version 1.0.11

No functional change.

Change-Id: I190a2af5de66686f070b093bf7bd1459afb9da64

8 years agodoc: remove rules on vkEnumerate*Properties for layers
Chia-I Wu [Fri, 22 Apr 2016 00:12:19 +0000 (08:12 +0800)]
doc: remove rules on vkEnumerate*Properties for layers

8 years agodoc: formalize the current loader-layer interface
Chia-I Wu [Tue, 19 Apr 2016 22:23:24 +0000 (06:23 +0800)]
doc: formalize the current loader-layer interface

Expand the section "Discovery of layer entry points" into "Layer Library
Interface".  In general, the new section defines an interface that allows
a loader to discover and insert layers while staying compliant.  Other
sections have additional guidelines for layers to follow.

8 years agodemos/smoke: Fix validation errors in push-constants mode.
Karl Schultz [Thu, 21 Apr 2016 22:45:12 +0000 (16:45 -0600)]
demos/smoke:  Fix validation errors in push-constants mode.

Change-Id: I48e736ef1c777af831d7e888c8ac6e1647d1f6b2

8 years agolayers: Reorder to prevent Null deref; add test
Karl Schultz [Thu, 21 Apr 2016 21:57:51 +0000 (15:57 -0600)]
layers: Reorder to prevent Null deref; add test

Found by running Hologram with validation and push constants
using args "-p -v".
Hologram is issuing a memory barrier in the push constants
mode.  This will be fixed in Hologram, but validation should
not be crashing.

Change-Id: I1e76c3fca0152fc3bf8c1de3db3b044f650c202f

8 years agoloader: fix LX475
Jeremy Hayes [Thu, 21 Apr 2016 19:19:41 +0000 (13:19 -0600)]
loader: fix LX475

Silently ignore VK_NULL_HANDLE in DestroyInstance/Device.

Change-Id: I96305088db75932b6f3f824852db9c72b8352120

8 years agolayers: Add fix for lx172 to catch invalid line widths.
Mark Young [Thu, 31 Mar 2016 20:56:43 +0000 (14:56 -0600)]
layers: Add fix for lx172 to catch invalid line widths.

Validate line wdith in both vkCreateGraphicsPipelines and in
vkCmdSetLineWidth.  Also, add a warning in vkCmdSetLineWidth
if the user calls it but doesn't enable dynamic line width.

Also, updated demos to fix missing lineWidth setting as well.

Change-Id: I62118da9cb5282fcc22b1506e9be2db82b5f4a40

8 years agolayers: Fix cmd buffer tracking.
Michael Lentine [Thu, 21 Apr 2016 04:01:26 +0000 (23:01 -0500)]
layers: Fix cmd buffer tracking.

8 years agolayers: Cleanup core_validation fence tracking
Tobin Ehlis [Mon, 18 Apr 2016 21:45:20 +0000 (15:45 -0600)]
layers: Cleanup core_validation fence tracking

There were two separate mechanisms for tracking fence state in core_validation.
This change removes the last[Retired|Submitted]Id per queue method.
We also no longer over-write the fence createInfo to track fence state, but
just use the needsSignaled bool for all fence state tracking.
Finally, there was a validation test/check flagging an error if an
unsignaled fence was reset, but this is valid based on the spec so removed
the check and changed test to be a positive test expected to pass.

8 years agolayers: Consider #locations consumed by large VkFormats
Chris Forbes [Thu, 21 Apr 2016 03:00:58 +0000 (15:00 +1200)]
layers: Consider #locations consumed by large VkFormats

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Consider element type bit width for #locations consumed.
Chris Forbes [Thu, 21 Apr 2016 02:46:48 +0000 (14:46 +1200)]
layers: Consider element type bit width for #locations consumed.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agodemos: Add xlib wsi path to cube
Tony Barbour [Tue, 19 Apr 2016 16:57:58 +0000 (10:57 -0600)]
demos: Add xlib wsi path to cube

Change-Id: I8df42b71a40318b6d46a6b65cc9d8060a8f912a8

8 years agoloader: ghlvl 361, Simplify library resource handling
Jon Ashburn [Wed, 20 Apr 2016 19:21:17 +0000 (13:21 -0600)]
loader: ghlvl 361, Simplify library resource handling

Layer and ICD libraries are opened and closed as needed. No ref counting,
no knowledge of if a library contains multiple layers or ICDs.

Change-Id: Ie88b671cd1671187a42d3d838d20e3af1afc67cc

8 years agoandroid: Unify source used for build.gradle
Cody Northrop [Wed, 20 Apr 2016 01:01:55 +0000 (19:01 -0600)]
android: Unify source used for build.gradle

In previous commit we modified build.gradle to be cross platform,
so we can stop using the windows specific version.

8 years agogradle: Workaround for clang on Windows problems
Cody Northrop [Tue, 19 Apr 2016 20:55:13 +0000 (14:55 -0600)]
gradle: Workaround for clang on Windows problems

Use gcc instead if building on Windows.

8 years agopython: Update script to include all platforms when generating ifdef code
Cody Northrop [Tue, 19 Apr 2016 16:37:36 +0000 (10:37 -0600)]
python: Update script to include all platforms when generating ifdef code

This commit cleans up the platform detection code that was emitting some
(but not all) ifdef wrappers around platform specific code.  It changes
the logic to wrap all the functions that are platform specific.  This
allows us to use these generated files on multiple platforms, not just
the platform is was generated on.

8 years agolayers: Fix for clearing layouts and cmdbuffers.
Michael Lentine [Wed, 20 Apr 2016 16:39:50 +0000 (11:39 -0500)]
layers: Fix for clearing layouts and cmdbuffers.

8 years agolayers: Add handle NULL checks to codegen
Dustin Graves [Tue, 19 Apr 2016 00:33:21 +0000 (18:33 -0600)]
layers: Add handle NULL checks to codegen

Add support for validating that required handle parameters are not
specified as VK_NULL_HANDLE to the parameter validation layer's code
generator.
 - Add new parameter validation utility functions to validate required
   handles and arrays of handles.
 - Add new parameter validation layer entrypoints for functions that
   previously had no parameters to validate.
 - Add handle validation logic to the parameter validation code generator.

Change-Id: I7a5680954245db4c1b12587f78e30e17c3903d6c

8 years agolayers: Add missing 64bpc formats to get_format_type
Chris Forbes [Wed, 20 Apr 2016 02:22:07 +0000 (14:22 +1200)]
layers: Add missing 64bpc formats to get_format_type

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix get_format_type for VK_FORMAT_A8R8G8B8_{S,U}INT_PACK32
Chris Forbes [Wed, 20 Apr 2016 02:16:10 +0000 (14:16 +1200)]
layers: Fix get_format_type for VK_FORMAT_A8R8G8B8_{S,U}INT_PACK32

Fixes GH #330.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: block members do not express extra array level in member type
Chris Forbes [Wed, 20 Apr 2016 01:34:27 +0000 (13:34 +1200)]
layers: block members do not express extra array level in member type

Fixes GH #377.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: GH384 Fix descriptor update check for immutable samplers
Tobin Ehlis [Tue, 19 Apr 2016 14:15:03 +0000 (08:15 -0600)]
layers: GH384 Fix descriptor update check for immutable samplers

If a descriptor is an immutable sampler of type VK_DESCRIPTOR_TYPE_SAMPLER
then it doesn't need to be explicitly updated so don't flag errors in this case.

8 years agowinrtinstaller: change formatting in RT rtf license
David Pinedo [Wed, 20 Apr 2016 02:34:59 +0000 (20:34 -0600)]
winrtinstaller: change formatting in RT rtf license

8 years agowinrtinstaller: formatting of license files, make them more readable
David Pinedo [Tue, 19 Apr 2016 22:16:50 +0000 (16:16 -0600)]
winrtinstaller: formatting of license files, make them more readable

8 years agowinrtinstaller: fix COPYRIGHT.txt filename
David Pinedo [Tue, 19 Apr 2016 19:36:49 +0000 (13:36 -0600)]
winrtinstaller: fix COPYRIGHT.txt filename

8 years agowinrtinstaller: get LICENSE.txt file from LVL
David Pinedo [Tue, 19 Apr 2016 18:52:10 +0000 (12:52 -0600)]
winrtinstaller: get LICENSE.txt file from LVL

8 years agodemos: Fix paths in gradle file.
Michael Lentine [Tue, 19 Apr 2016 14:27:01 +0000 (09:27 -0500)]
demos: Fix paths in gradle file.

8 years agomisc: Update licenses to Apache 2.0
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0

Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97

8 years agolayers: LX468, Prevent bad core_validation error message
Mark Lobodzinski [Tue, 12 Apr 2016 16:41:59 +0000 (10:41 -0600)]
layers: LX468, Prevent bad core_validation error message

Properly track commandBuffer/FrameBuffer references.

Change-Id: Ibbc078b582b204bee26cdc510575c57023cf9d6b

8 years agoUpdate typo in doc
ttyio [Sun, 10 Apr 2016 14:09:44 +0000 (22:09 +0800)]
Update typo in doc

8 years agolayers: Fix object_tracker bugs
Tobin Ehlis [Mon, 18 Apr 2016 21:40:59 +0000 (15:40 -0600)]
layers: Fix object_tracker bugs

A couple of bugs in object_tracker hand-coded sections that MarkY tracked down.
In DestroyInstance case we were attempting to delete wrong map key.
Then, for vkDestroyCommandPool we were using wrong function to clean-up the
command buffers in that pool which would result in occassional crashes.

8 years agodoc: fix typos in doc
David Pinedo [Mon, 18 Apr 2016 22:59:59 +0000 (16:59 -0600)]
doc: fix typos in doc

8 years agolayers: Make logicOp param validation conditional
Dustin Graves [Sat, 16 Apr 2016 00:06:14 +0000 (18:06 -0600)]
layers: Make logicOp param validation conditional

- Only validate that VkPipelineColorBlendStateCreateInfo::logicOp is
  a valid VkLogicOp enumeration value when
  VkPipelineColorBlendStateCreateInfo::logicOpEnable is set to VK_TRUE.
- Remove redundant VkPipelineColorBlendStateCreateInfo validation (hand
  written code replaced by generated code).

Change-Id: I075c58342678219c5ed1dd5c401e0da2cea53232

8 years agolayers: Improved generated struct validation code
Dustin Graves [Thu, 14 Apr 2016 21:03:31 +0000 (15:03 -0600)]
layers: Improved generated struct validation code

Improvements to the parameter validation code generator, primarily to
eliminate string concatenations performed when processing structs.  A
validation function was being produced for each struct, which received a
string specifying the name of the struct parameter.  This string was then
concatenated with the names of the struct members.  The struct validation
code is no longer in a separate function, and a single string containing
the full names of each struct member (eg. pCreateInfo->pApplicationInfo)
is created at code generation time.

Change-Id: I2800bfbc26247e4e4c6f8c885c0e7c4b8b3776a2

8 years agolayers: Simplify generated param validation code
Dustin Graves [Mon, 11 Apr 2016 22:06:25 +0000 (16:06 -0600)]
layers: Simplify generated param validation code

- Remove unnecessary conditional checks for input vs. output parameters
  from the generated C++ code.
- Split some generator code into smaller functions.

Change-Id: I32e47d417ab884e5cc0fc7af40cb5657b39c176d

8 years agolayers: core_validation - use std mutex
Jeremy Hayes [Wed, 13 Apr 2016 22:20:24 +0000 (16:20 -0600)]
layers: core_validation - use std mutex

Change-Id: I88af1e86c0ef93dbeab303977b8190ad1968c00d

8 years agolayers: swapchain - use std mutex
Jeremy Hayes [Wed, 13 Apr 2016 17:57:20 +0000 (11:57 -0600)]
layers: swapchain - use std mutex

Change-Id: I2c5584a5d36edc097b061db2e49fba2505bd1d65

8 years agolayers: object_tracker - use std mutex
Jeremy Hayes [Wed, 13 Apr 2016 16:54:17 +0000 (10:54 -0600)]
layers: object_tracker - use std mutex

Change-Id: I5f9ed9dc92daccaada895808e3fea3189ef81212

8 years agolayers: threading - use std mutex
Jeremy Hayes [Tue, 12 Apr 2016 19:48:52 +0000 (13:48 -0600)]
layers: threading - use std mutex

Change-Id: I773ea148807e5b634ad021ea58b001cd3d1bad87

8 years agolayers: image - use std mutex
Jeremy Hayes [Fri, 8 Apr 2016 15:53:54 +0000 (09:53 -0600)]
layers: image - use std mutex

Change-Id: Ie132289c0e601397f54b06c1ef758c65b712f906

8 years agolayers: Correctly remove secondary cmd buffers from in-flight
Tobin Ehlis [Thu, 14 Apr 2016 18:22:03 +0000 (12:22 -0600)]
layers: Correctly remove secondary cmd buffers from in-flight

Secondary command buffers are considered executing, or "in-flight"
at the time they're bound into a primary command buffer. This leads
to a couple of corner case bugs if the primary command buffer is
never submitted on a queue. This change fixes those bugs:

1. If a secondary cmd buffer is being freed and is in the global
in-flight set, remove it if associated primary is not in-flight
2. When a primary cmd buffer is reset, remove its secondary
cmd buffers from in-flight

8 years agolayers: Fix vkResetDescriptorPool
Tobin Ehlis [Fri, 15 Apr 2016 17:59:39 +0000 (11:59 -0600)]
layers: Fix vkResetDescriptorPool

When we reset descriptor pool, need to remove the allocated
descriptors from setMap and free them.

8 years agoRevert "loader: Temp workaround to add WSI surface extensions enumerated."
Jon Ashburn [Fri, 15 Apr 2016 22:24:44 +0000 (16:24 -0600)]
Revert "loader: Temp workaround to add WSI surface extensions enumerated."

This reverts commit 884065fcd89540dca9a710389641bf1c39cedce0.

8 years agoRevert "loader: temp workaround for advertising linux wsi surface extensions"
Jon Ashburn [Fri, 15 Apr 2016 22:24:12 +0000 (16:24 -0600)]
Revert "loader: temp workaround for advertising linux wsi surface extensions"

This reverts commit 23b248d32c943c136589e679e1fcc3444488d906.

8 years agolayers: Update JSON files to 1.0.10
Jon Ashburn [Fri, 15 Apr 2016 22:02:07 +0000 (16:02 -0600)]
layers: Update JSON files to 1.0.10

Change-Id: I2020999bac6090fe40688f977f15c9818b828cf4

8 years agoheader: Update to 1.0.10 header
Jon Ashburn [Fri, 15 Apr 2016 21:51:08 +0000 (15:51 -0600)]
header: Update to 1.0.10 header
No functional changes.

Change-Id: Ia57a172a2ab0c7e082ad30aef64354cd1427b528