aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-28layers: Add 0 check for VkFlags array elementsDustin Graves
- 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
2016-04-28layers: Add VkFlags parameter validationDustin Graves
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
2016-04-28layers: Merge enum array NULL/value checksDustin Graves
- 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
2016-04-28loader: Add compile-time option for layer search paths.Jamie Madill
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
2016-04-28Revert "loader: Remove the default directory paths for ICDs and layers"Jamie Madill
This reverts commit b1e6b564616c40062b81d0b8b90e8689dd9aea11. Change-Id: I9e6bfad81369912c85c3122d6d36093c3c148454
2016-04-28demos+tests: Add HOST_COHERENT to HOST_VISIBLE memory requestsTony Barbour
Where the memory is going to be mapped Change-Id: I66c4f5950fa77fe8b785b12233adbc4e9db797ce
2016-04-28demos: replace raw value with Vulkan constant in demosAlexandre BACQUART
Change-Id: I517467bc1afae07fdf6346596908ddb15757dc5d
2016-04-28docs: #444 Fix clang-format instructionsKarl Schultz
2016-04-28demos: Fix-ups so that cube/tri build and run on both linux & androidTobin Ehlis
2016-04-28android: Start using vulkan_wrapper in cube and triCody Northrop
2016-04-28android: Move vulkan_wrapper to common (from Cody)Tobin Ehlis
2016-04-28Fix cube for android.Michael Lentine
2016-04-28Make tri work on android.Michael Lentine
2016-04-28docs: Add info for layer tests to CONTRIBUTINGKarl Schultz
2016-04-28loader: don't remove loader structs from CreateInfo for ICDJon Ashburn
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
2016-04-28build: Fix Windows build issuesKarl Schultz
2016-04-28android: Fix layer buildCody Northrop
Warning as error, struct field initialization not matching order of declaration.
2016-04-28layers: Use tmp callback for msgs during vk{Create|Destroy}Instance().Ian Elliott
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().
2016-04-28layers: Fix -Wunused-result warning for vasprintfChris Forbes
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>
2016-04-28layers: Add copy constructors and initializers for safe_* structsTobin Ehlis
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.
2016-04-28Fix android build for CV -> spirv-tools depChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-28layers: Integrate SPIRV-Tools validatorChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-28layers: link core_validation against spirv-toolsChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-04-27demos: Acquire WSI image before changing layoutTony Barbour
Change-Id: I1606bd92bcabb40156f8745b58596ae8f1ec429d
2016-04-27layers: Emit safe_*::ptr() members to eliminate some cast noiseChris Forbes
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>
2016-04-26layers: Add missing compute stage sType checkDustin Graves
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
2016-04-26update README to refer to COPYRIGHT.txtJon Ashburn
Change-Id: I32685ef02c245557315a3e44c65eb8c8cf62f9f4
2016-04-26loader: update doc to remove sentence allowing layers to skipJon Ashburn
using app provided allocation callbacks Change-Id: Ib293934b4574864a78f975aba52c9aa5c0a24779
2016-04-26layers: Update layer README file for clarity and bugfixesMark Lobodzinski
Change-Id: I544f72fde8cbbe4d57679c692887fd262073374f
2016-04-26layers: Android DescriptorSetLayout class build fixesTobin Ehlis
2016-04-26layers: Add interface to get descriptor type from layout's global indexTobin Ehlis
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.
2016-04-26layers: Fix object lifetime bugs in DescriptorSetLayoutTobin Ehlis
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.
2016-04-26winrtinstaller: update licenseDavid Pinedo
2016-04-26layers: Break out VkDescriptorSetLayout code into its own classTobin Ehlis
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.
2016-04-25loader: ghlvl#180 Support a ICD interface version negotiationJon Ashburn
Change-Id: I2e5c3717dd7fa86992f617bcc0f93de8ba60759e
2016-04-25loader: update spec doc for ICD interface versioningJon Ashburn
Change-Id: I7c149a4542623e537b44720766006652abe33948
2016-04-25json: Update to version 11.Karl Schultz
Change-Id: Ifcdd5423ab03110326897dd9cda272eda05acc01
2016-04-25layers: GH384 Fix to correctly recognize immutable samplersTobin Ehlis
Actual fix this time. If a binding is immutable samplers skip over it when verifying descriptor bindings.
2016-04-22Merge pull request #342 from KhronosGroup/update_toolchain_20160414greg-lunarg
toolchain: Bump everything to pull in required SPIR-V tools revision
2016-04-22toolchain: Bump everything to pull in required SPIR-V tools revisionCody Northrop
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
2016-04-22header: Update to version 1.0.11Jon Ashburn
No functional change. Change-Id: I190a2af5de66686f070b093bf7bd1459afb9da64
2016-04-22doc: remove rules on vkEnumerate*Properties for layersChia-I Wu
2016-04-22doc: formalize the current loader-layer interfaceChia-I Wu
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.
2016-04-21demos/smoke: Fix validation errors in push-constants mode.Karl Schultz
Change-Id: I48e736ef1c777af831d7e888c8ac6e1647d1f6b2
2016-04-21layers: Reorder to prevent Null deref; add testKarl Schultz
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
2016-04-21loader: fix LX475Jeremy Hayes
Silently ignore VK_NULL_HANDLE in DestroyInstance/Device. Change-Id: I96305088db75932b6f3f824852db9c72b8352120
2016-04-21layers: Add fix for lx172 to catch invalid line widths.Mark Young
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
2016-04-21layers: Fix cmd buffer tracking.Michael Lentine
2016-04-21layers: Cleanup core_validation fence trackingTobin Ehlis
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.
2016-04-21layers: Consider #locations consumed by large VkFormatsChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>