aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-08-29layers: PR887, Add extension white-listMark Lobodzinski
The unique_objects layer wraps objects -- layers that wrap objects should output an error message if used with any extension that is not explicitly supported by the layer. Added a whitelist of supported extensions and error messages for unsupported extensions. Change-Id: I9ce0acb22ddfa5b81e36c7e03fffad0777b5410d
2016-08-29layers: Add white-list helper to layer utilsMark Lobodzinski
Change-Id: Idfc67481589ea9698ab82501889680044fcf8276
2016-08-29layers: Add unique_objects to layer settings fileMark Lobodzinski
Enable config file control of debug output from the unique_objects layer. Change-Id: I31ac885743aa3b03b70b55329b3fea852db2cd27
2016-08-29layers: Add unique_objects to default layer configMark Lobodzinski
Allows messages to be output from this layer in configurations with no explicit output settings. Change-Id: I17c604db7461ae10eedd0b3fb3f9440a6dc52eab
2016-08-29layers: Add debug report support to unique_objectsMark Lobodzinski
Change-Id: Ib276761a94e627c0e5504ca22737649c7722113c
2016-08-29demos: Update some of the WSI code to match the spec example codeIan Elliott
A pending Vulkan spec change contains updates to the WSI example code. This is a coordinated, cosmetic change, that allows the example code and demo code to more-closely match.
2016-08-26build: update spirv and glslang revisionsMark Young
Updated to more recent SPIRV, SPIRV_headers, and glslang commits. This also required updating the overall build to use a new library SPVRemapper.lib. Change-Id: I47573be7a1fe62c519f504920590ceb6510a7a13
2016-08-26loader: Update SO version for 1.0.24 headerMark Lobodzinski
Change-Id: Ie159ffd434b98e5679e7645dc8dc4c913b26fa4f
2016-08-26header: Update vulkan.hpp to 1.0.24Lenny Komow
2016-08-26layers: Modify format queries for enumsMark Lobodzinski
As part of the 1.0.24 header updates, changed the format information query functions to lookup via a map in order to handle non-sequential format enums incorporated as part of an extension. Change-Id: I558d710889c7e9f6878141a8213777afb1077c99
2016-08-26header: Update vk.xml to 1.0.24Mark Lobodzinski
Change-Id: I3825299492a89ea9d43f42052877e91bd2f8f76f
2016-08-26header: Update vk_platform.h to 1.0.24Mark Lobodzinski
Change-Id: Ic256fc2ae1214b26b32a3f61459235359cfd8249
2016-08-26header: Update vulkan.h to 1.0.24Mark Lobodzinski
Change-Id: I1114e34656061fb2de34649c63dd480ec6069d77
2016-08-26layers: Allow input attachment usage in CreateImageViewTony Barbour
Change-Id: Ic0bea63b6ec898e496ba124b57ad8b848bdd0b7d
2016-08-26layers: Update json files for 1.0.24 headerMark Lobodzinski
Change-Id: I151125e8cc140d41b533707eb1b28dbe9b63a914
2016-08-26loader: Update resource context default versionMark Young
The loader had a stale file version. This version gets replaced as part of a standard SDK build, but we should have a unique ID for a developer built loader. I updated it to have build 1111 and patch 2222 by default. Change-Id: I70c3152b2ea5f29a072af94ca5f5a19227bbee67
2016-08-26docs: Update README.md for Glslang issueMark Young
Update the README.md to have a note about updating your Nvidia driver to resolve failures with the glslang hack removal. Change-Id: Id1b71cc7baae90571bef624f07ff1c7511718b0c
2016-08-26Revert "glslang/spirv: Update repo revisions"Mark Young
This reverts commit d6decaa8f78fba8746c55e9247add042b90b56fa. Attempting to see if this is causing the newly encountered errors on Nvidia Linux, or if it's related to the glslang issue that was fixed and people just need to update drivers.
2016-08-26layers: Update layer details docMark Lobodzinski
For new sampleCount/Image tests Change-Id: Ie857e56b38170e343486f2958a4d5afe7fcdcc12
2016-08-26layers: Add validation for image samplecountsMark Lobodzinski
Check that an image's sampleCount is valid for BlitImage, CopyImageToBuffer and CopyBufferToImage. Change-Id: I5e012e35bd2eb87cd42798a0cacdb03ed64b3c3b
2016-08-26glslang : Force update in update_external_sourcesMark Young
Linux's sh file didn't clobber previous external items synced. This is having a problem with the previous changes which reverted the glslang texel fetch patch, and then updated the revision. Change-Id: I0e8e28d11fa40df00a5fb9164624f113b2adf084
2016-08-26glslang/spirv: Update repo revisionsMark Young
Update the SPIR-V Tools, SPIR-V Headers, and Glslang revisions for the upcoming SDK. Change-Id: I12d57d75691d1a0e40efd986247ecdb58bf0bf61
2016-08-26glslang: Remove change to revert texel fetch fix.Mark Young
Previously, we had to revert a texel fetch fix in glslang as part of the update_external_sources.bat/sh due to a bug in the certain drivers. The drivers have been fixed and released so we can remove the change. Change-Id: I018a0dbbc5fb27d7fbd91bc3073f0f5bef5cd346
2016-08-26layers: return collect_* result containers rather than using & outChris Forbes
This is clearer at the call site, should be no slower in C++11+, and complies with the style guide. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-08-25demos: Restore Wayland compile behavior in cubeTony Barbour
And document supported configurations Change-Id: Ib6cdccf48c75373acfc2ebe625719360caa16657
2016-08-25demos: GH862 Fix build errors of demos (cube, vulkaninfo) on the wayland ↵Mun Gwan-gyeong
only window system Change-Id: I76a36e3aad059356bcb69455702ade1cfec8b924 Signed-off-by: Mun Gwan-gyeong <elongbug@gmail.com>
2016-08-24layers: GH849: Defend against poorly-written applicationsIan Elliott
A test application was written that didn't properly call some count-based query commands. In this particular case, they always hard-coded the count variable to 1 the 2nd time the query was called. The swapchain layer was only recording the 1st count value in this case, and this caused a seg fault when the vkCreateSwapchainKHR command validation code was run. This commit better defends against such poorly-written applications, so that the vkCreateSwapchainKHR command validation code won't seg fault. This includes looking for VK_INCOMPLETE as a successful return code from the ICD.
2016-08-24layers: Fix paramter_validation array name codegenDustin Graves
Replace std::string with ParameterName for the generated parameter_validation layer code so that the parameter names printed by the generated code contain the correct array subscript values. Also updates the parameter_validation tests to reflect the change to the printed names. Issues-Addressed: GitHub #462 Change-Id: I3032e08052fc003ba066bbe613e5faf3ed049964
2016-08-24layers: Fix parameter_validation array name formatDustin Graves
Replace std::string with ParameterName for the parameter_validation utility functions so that the parameter names printed by these functions contain the correct array subscript values. Issues-Addressed: GitHub #462 Change-Id: I09fc6a45e8e41ba28ef7d8fc44ce9e8874feefad
2016-08-24layers: Add parameter name formatting classDustin Graves
Add a custom parameter name class with support for deferred formatting of names containing array subscripts. The class stores a format string and a vector of index values, and performs string formatting when an accessor function is called to retrieve the name string. Change-Id: I941116a16b6fa19e63314cbeab33223e0fa072d3
2016-08-24loader: Fix build warning on LinuxMark Lobodzinski
Change-Id: Iae099e6edffacdfad010aebe099e8e13d2ef8510
2016-08-24layers: Update descriptor binding to use an ordered mapTobin Ehlis
When dealing with dynamic offsets, the binding numbers, and array indices within a binding, are all sequential. This is according to the spec "Descriptor Set Binding" section which states, "...entries are ordered by the binding numbers in the descriptor set layouts; and within a binding array, elements are in order." This means when processing the binding numbers to validate the dynamic offsets at draw time, we should do so in order to make sure that the sequential dynamic offset index correctly correlates with the dynamic offset being processed.
2016-08-23tests: Add InvalidCmdBufferDescriptorSetImageSamplerDestroyed testTobin Ehlis
This test hits 3 newly added checks of an invalid cmd buffer at submit time due to: 1. Bound descriptor set sampler being destroyed 2. Bound descriptor set image being destroyed 3. Bound descriptor set being destroyed
2016-08-23tests: Add InvalidCmdBufferDescriptorSetBufferDestroyed testTobin Ehlis
This test creates a cmd buffer and binds a buffer-type descriptor set. Then it detroys the buffer prior to submitting cmd buffer and verifies that the cmd buffer is flagged as invalid.
2016-08-23layers: Add cmd buffer binding for descriptor resourcesTobin Ehlis
This commit creates bindings between a cmd buffer and the images/buffers and their memory allocations that are tied to that cmd buffer's active descriptor slots (set/binding combination). The active resources are anything that's in use during any of the draws issued in the cmd buffer. If any of the bound resources are deleted, the cmd buffer will become invalid and an error will be issued on the next attempt to submit it.
2016-08-23layers: Refactor functions to bing image/buffer to cmd bufferTobin Ehlis
The AddCommandBufferBinding[Image|Buffer]() functions both had an unused parameter that was killed, and they both returned a bool that was not needed so removed that too. Also made layer_data* param const and put prototypes into core_validation_types.h in prepration of using these functions from the DescriptorSet class.
2016-08-23layers: Add tracking between sampler and cmd bufferTobin Ehlis
Update SAMPLER_NODE to inherit from BASE_NODE and keep track of cb_bindings for sampler. At draw time, add any bindings between cmd buffer and samplers that are connected to active descriptors. At DestroySampler() time, set CB_INVALID for any cmd buffers in cb_bindings. Also includes some additional plumbing to prepare for connecting images/buffers that are tied to descriptor sets to cmd buffers that those sets are bound to.
2016-08-23layers: Only bind active sets to cmd buffersTobin Ehlis
Don't create a binding between every set bound to a cmd buffer, but only the sets that are verified active at draw time. Gather up active descriptorset bindings in prepration of also binding the resources from each individual active set to the cmd buffer.
2016-08-23layers: Migrate PIPELINE_NODE to core_validation_types.hTobin Ehlis
Move PIPELINE_NODE struct to core_validation_types.h so that it's visible to descriptorSet class. Update cmd buffer lastBound state to store ptr to PIPELINE_NODE instead of VkPipeline which saves extra lookups.
2016-08-23layers: Minor re-naming in core_validationTobin Ehlis
Rename a bit of code as I touch it to match general code style. Switch a few CamelCase to lower_case and use "dev_data" instead of "my_data" as it's more descriptive.
2016-08-23layers: Add descriptor sets to CB_INVALID trackingTobin Ehlis
This is start of a series intended to enable CB_INVALID tracking for descriptor sets. Much of the tracking is already in place in the special-purpose uniqueBoundSets data struct, so I'll be migrating the tracking from that struct to the more general-purpose object_bindings set.
2016-08-23layers: GH873, Fix ETC2 RGBA format class sizeMark Lobodzinski
These formats were incorrectly specified as using an 8-byte storage class, but each 4x4 block is actually compressed to 128 bits. Change-Id: I33353cbe3574f0c640b68c8c3c544a286c79ed49
2016-08-23layers: GH877, Clear up descriptor state messagesMark Lobodzinski
Plumbed function name through for more descriptive error messages from validate_and_update_drawtime_descriptor_state(). Change-Id: I109e14e07e6a5ba29c45dc3e0ad075ff3575d67f
2016-08-23layers: Update layer details doc for new testsMark Lobodzinski
Change-Id: I9a0cca05f387c291494edf6970e0dd34d5922fe6
2016-08-23layers: Add Image Transfer Granularity checkingMark Lobodzinski
CmdCopyImage and CmdCopyImageToBuffer/CmdCopyBufferToImage have parameters that must respect the Image Transfer Granularity requirements set in queue family property minImageTransferGranularity. Change-Id: Ic0fed33c201310bafe86f6f509a63b675de1d572
2016-08-23layers: Update layer validation details docMark Lobodzinski
Updated entry for new BufferImageCopy checks. Change-Id: I85ea2eeacae6885fbd6729180167cbe1abe4c176
2016-08-23layers: GH763, Add validation for VkBufferImageCopyMark Lobodzinski
Added valid usage checks for members of this structure used in vkCmdCopyImageToBuffer and vkCmdCopyBufferToImage. Change-Id: I62ec7b04504e91fa33c86d1a5b606ba8fb7a294a
2016-08-23layers: Leave INDEX_BUFFER_BOUND set in set_cb_pso_statusTony Barbour
Change-Id: I5ca986c95b97cdf97a0f65b0c34db32d91428645
2016-08-23docs: Add description of new SC casesChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
2016-08-23layers: Allow get_fundamental_type to look through OpTypeImageChris Forbes
Signed-off-by: Chris Forbes <chrisforbes@google.com>