Mark Lobodzinski [Mon, 29 Aug 2016 21:36:23 +0000 (15:36 -0600)]
loader: Add support for NV device extension
Added vkGetMemoryWin32HandleNV from the VK_NV_external_memory_win32
extension to the loader.
Change-Id: If6a959f126cc48ebf2608ed6e113e2883deae871
Mark Lobodzinski [Mon, 29 Aug 2016 20:54:34 +0000 (14:54 -0600)]
loader: Add support for AMD device extension
Added vkCmdDrawIndirectCountAMD and vkCmdDrawIndexedIndirectCountAMD
from the VK_AMD_draw_indirect_count extension to the loader.
Change-Id: I4e1810dd6efcc54291a35d1ce9a15e59830689f3
Mark Lobodzinski [Mon, 29 Aug 2016 20:21:14 +0000 (14:21 -0600)]
loader: Add support for NV instance extension
Added vkGetPhysicalDeviceExternalImageFormat API from the
VK_NV_external_memory_capabilities extension to the loader.
Change-Id: Ib87df7bae333d7944a4e181556bc2f99e1e19416
Mark Lobodzinski [Mon, 29 Aug 2016 18:14:55 +0000 (12:14 -0600)]
layers: Update dispatch tables for new 1.0.25 APIs
Change-Id: I001583402bc99f923a776b238a82db5a60398f03
Mark Lobodzinski [Mon, 29 Aug 2016 17:56:02 +0000 (11:56 -0600)]
layers: Update vulkan.py for new extension APIs
Added extension protos and update extension lists for
VK_AMD_draw_indirect_count, VK_NV_external_memory_capabilities,
and VK_NV_external_memory_win32 new for header version 1.0.25.
Change-Id: Ifac0a2b4b7e36a8f907622e002ec419cc7c54f87
Mark Lobodzinski [Mon, 29 Aug 2016 15:22:21 +0000 (09:22 -0600)]
loader: Bump SOVERSION to 1.0.25
Change-Id: I90a667a45cb02fb582fc59cbe0725ac633780d2d
Mark Lobodzinski [Mon, 29 Aug 2016 15:21:24 +0000 (09:21 -0600)]
layers: Move windows json files to version 1.0.25
Change-Id: I063b38477237c9cd7966131361c44f859fc0d485
Mark Lobodzinski [Mon, 29 Aug 2016 15:20:07 +0000 (09:20 -0600)]
layers: Move linux json files to version 1.0.25
Change-Id: Ice0f12ffea3c4702b9ea288fbe0e155a810185f5
Mark Lobodzinski [Tue, 30 Aug 2016 20:11:39 +0000 (14:11 -0600)]
header: Remove ValidationFlags changes from vk.xml
The validation_flags features will be moved into an extension.
Change-Id: I05e0642c253f0c39361049b3677cdd037cb2a9ef
Mark Lobodzinski [Mon, 29 Aug 2016 15:17:23 +0000 (09:17 -0600)]
header: Move vk.xml to version 1.0.25
Change-Id: I7f24c5a5cbfa00e3f8bc331b63fb26c8912da2dd
Mark Lobodzinski [Mon, 29 Aug 2016 15:16:59 +0000 (09:16 -0600)]
header: Move vk_platform.h to version 1.0.25
Change-Id: I71d8609bbd75af5832923c94e0fee9f1b2b0fcac
Mark Lobodzinski [Tue, 30 Aug 2016 20:11:18 +0000 (14:11 -0600)]
header: Remove ValidationFlags changes from vulkan.h
The validation_flags features will be moved into an extension.
Change-Id: I435e75da8d8917f876e5bc904922cda26a87845a
Mark Lobodzinski [Mon, 29 Aug 2016 15:02:13 +0000 (09:02 -0600)]
header: Move vulkan.h to version 1.0.25
Change-Id: I2ad2c33c720f992953e8d5886dc2c55ad789fe83
Mark Young [Wed, 31 Aug 2016 17:53:26 +0000 (11:53 -0600)]
doc: Update loaderandlayerinterface
Added more information about layer wrapping, specifically requiring
support for extensions.
Change-Id: Ie60952f41c976b8e0245810c550b133dc5843097
Lenny Komow [Wed, 31 Aug 2016 16:41:19 +0000 (10:41 -0600)]
winsdk: Correct installer log renaming
Mark Mueller [Thu, 25 Aug 2016 21:43:30 +0000 (15:43 -0600)]
docs: GH428 Update doc for sync validation test cases
Change-Id: I101b66f6413b82e54ebc3931dc740695921a57bf
Mark Mueller [Wed, 24 Aug 2016 16:42:17 +0000 (10:42 -0600)]
layers: GH428 Adding skip_call to DestroySemaphore
Use skip_call return from log_msg callback to decide
whether or not to pass the call to lower layers.
Change-Id: I96090539e9001bbda32533055b143c872d88e4bf
Lenny Komow [Wed, 31 Aug 2016 15:45:46 +0000 (09:45 -0600)]
winsdk: Fix powershell error to say ConfigureRT
Lenny Komow [Wed, 31 Aug 2016 00:38:05 +0000 (18:38 -0600)]
winsdk: Remove rt installer using msvcr120.dll
Lenny Komow [Tue, 30 Aug 2016 22:43:39 +0000 (16:43 -0600)]
winsdk: Fix uninstall log not clearing old copies
Mark Lobodzinski [Tue, 30 Aug 2016 17:30:04 +0000 (11:30 -0600)]
layers: Fix Dota2 crash in Windows
Two issues, in_use was not initialized in SAMPLER_NODE and an invalid
access during resource tracking for SAMPLER_NODE and SET_NODE. This
occured during GetFenceStatus after a call to DestroySampler.
Change-Id: I7654a7c4a2677450097643422f44290be5dbac2a
Mark Lobodzinski [Fri, 26 Aug 2016 14:48:02 +0000 (08:48 -0600)]
layers: PR887, Add extension white-list
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
Mark Lobodzinski [Fri, 26 Aug 2016 14:47:37 +0000 (08:47 -0600)]
layers: Add white-list helper to layer utils
Change-Id: Idfc67481589ea9698ab82501889680044fcf8276
Mark Lobodzinski [Fri, 26 Aug 2016 14:37:44 +0000 (08:37 -0600)]
layers: Add unique_objects to layer settings file
Enable config file control of debug output from the unique_objects
layer.
Change-Id: I31ac885743aa3b03b70b55329b3fea852db2cd27
Mark Lobodzinski [Fri, 26 Aug 2016 14:35:19 +0000 (08:35 -0600)]
layers: Add unique_objects to default layer config
Allows messages to be output from this layer in configurations with
no explicit output settings.
Change-Id: I17c604db7461ae10eedd0b3fb3f9440a6dc52eab
Mark Lobodzinski [Thu, 25 Aug 2016 20:49:38 +0000 (14:49 -0600)]
layers: Add debug report support to unique_objects
Change-Id: Ib276761a94e627c0e5504ca22737649c7722113c
Ian Elliott [Fri, 19 Aug 2016 09:46:58 +0000 (03:46 -0600)]
demos: Update some of the WSI code to match the spec example code
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.
Mark Young [Fri, 26 Aug 2016 22:54:43 +0000 (16:54 -0600)]
build: update spirv and glslang revisions
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
Mark Lobodzinski [Fri, 26 Aug 2016 21:06:31 +0000 (15:06 -0600)]
loader: Update SO version for 1.0.24 header
Change-Id: Ie159ffd434b98e5679e7645dc8dc4c913b26fa4f
Lenny Komow [Fri, 26 Aug 2016 20:10:08 +0000 (14:10 -0600)]
header: Update vulkan.hpp to 1.0.24
Mark Lobodzinski [Fri, 26 Aug 2016 17:31:25 +0000 (11:31 -0600)]
layers: Modify format queries for enums
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
Mark Lobodzinski [Fri, 26 Aug 2016 16:25:27 +0000 (10:25 -0600)]
header: Update vk.xml to 1.0.24
Change-Id: I3825299492a89ea9d43f42052877e91bd2f8f76f
Mark Lobodzinski [Fri, 26 Aug 2016 16:19:57 +0000 (10:19 -0600)]
header: Update vk_platform.h to 1.0.24
Change-Id: Ic256fc2ae1214b26b32a3f61459235359cfd8249
Mark Lobodzinski [Fri, 26 Aug 2016 16:19:18 +0000 (10:19 -0600)]
header: Update vulkan.h to 1.0.24
Change-Id: I1114e34656061fb2de34649c63dd480ec6069d77
Tony Barbour [Fri, 26 Aug 2016 19:01:43 +0000 (13:01 -0600)]
layers: Allow input attachment usage in CreateImageView
Change-Id: Ic0bea63b6ec898e496ba124b57ad8b848bdd0b7d
Mark Lobodzinski [Fri, 26 Aug 2016 20:41:42 +0000 (14:41 -0600)]
layers: Update json files for 1.0.24 header
Change-Id: I151125e8cc140d41b533707eb1b28dbe9b63a914
Mark Young [Fri, 26 Aug 2016 20:14:47 +0000 (14:14 -0600)]
loader: Update resource context default version
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
Mark Young [Fri, 26 Aug 2016 19:22:31 +0000 (13:22 -0600)]
docs: Update README.md for Glslang issue
Update the README.md to have a note about updating your Nvidia
driver to resolve failures with the glslang hack removal.
Change-Id: Id1b71cc7baae90571bef624f07ff1c7511718b0c
Mark Young [Fri, 26 Aug 2016 17:50:50 +0000 (11:50 -0600)]
Revert "glslang/spirv: Update repo revisions"
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.
Mark Lobodzinski [Wed, 24 Aug 2016 13:53:27 +0000 (07:53 -0600)]
layers: Update layer details doc
For new sampleCount/Image tests
Change-Id: Ie857e56b38170e343486f2958a4d5afe7fcdcc12
Mark Lobodzinski [Tue, 23 Aug 2016 21:10:36 +0000 (15:10 -0600)]
layers: Add validation for image samplecounts
Check that an image's sampleCount is valid for BlitImage,
CopyImageToBuffer and CopyBufferToImage.
Change-Id: I5e012e35bd2eb87cd42798a0cacdb03ed64b3c3b
Mark Young [Fri, 26 Aug 2016 17:17:39 +0000 (11:17 -0600)]
glslang : Force update in update_external_sources
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
Mark Young [Fri, 26 Aug 2016 15:04:24 +0000 (09:04 -0600)]
glslang/spirv: Update repo revisions
Update the SPIR-V Tools, SPIR-V Headers, and Glslang revisions
for the upcoming SDK.
Change-Id: I12d57d75691d1a0e40efd986247ecdb58bf0bf61
Mark Young [Fri, 26 Aug 2016 02:12:05 +0000 (20:12 -0600)]
glslang: Remove change to revert texel fetch fix.
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
Chris Forbes [Tue, 23 Aug 2016 01:04:34 +0000 (13:04 +1200)]
layers: return collect_* result containers rather than using & out
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>
Tony Barbour [Thu, 25 Aug 2016 19:14:45 +0000 (13:14 -0600)]
demos: Restore Wayland compile behavior in cube
And document supported configurations
Change-Id: Ib6cdccf48c75373acfc2ebe625719360caa16657
Mun Gwan-gyeong [Sat, 20 Aug 2016 05:46:22 +0000 (14:46 +0900)]
demos: GH862 Fix build errors of demos (cube, vulkaninfo) on the wayland only window system
Change-Id: I76a36e3aad059356bcb69455702ade1cfec8b924
Signed-off-by: Mun Gwan-gyeong <elongbug@gmail.com>
Ian Elliott [Wed, 24 Aug 2016 17:30:45 +0000 (11:30 -0600)]
layers: GH849: Defend against poorly-written applications
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.
Dustin Graves [Fri, 22 Jul 2016 19:20:44 +0000 (13:20 -0600)]
layers: Fix paramter_validation array name codegen
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
Dustin Graves [Fri, 22 Jul 2016 19:19:46 +0000 (13:19 -0600)]
layers: Fix parameter_validation array name format
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
Dustin Graves [Fri, 22 Jul 2016 19:19:02 +0000 (13:19 -0600)]
layers: Add parameter name formatting class
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
Mark Lobodzinski [Wed, 24 Aug 2016 14:09:29 +0000 (08:09 -0600)]
loader: Fix build warning on Linux
Change-Id: Iae099e6edffacdfad010aebe099e8e13d2ef8510
Tobin Ehlis [Mon, 22 Aug 2016 16:10:43 +0000 (10:10 -0600)]
layers: Update descriptor binding to use an ordered map
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.
Tobin Ehlis [Wed, 17 Aug 2016 23:00:07 +0000 (17:00 -0600)]
tests: Add InvalidCmdBufferDescriptorSetImageSamplerDestroyed test
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
Tobin Ehlis [Wed, 17 Aug 2016 20:57:58 +0000 (14:57 -0600)]
tests: Add InvalidCmdBufferDescriptorSetBufferDestroyed test
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.
Tobin Ehlis [Wed, 17 Aug 2016 19:33:44 +0000 (13:33 -0600)]
layers: Add cmd buffer binding for descriptor resources
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.
Tobin Ehlis [Wed, 17 Aug 2016 19:12:19 +0000 (13:12 -0600)]
layers: Refactor functions to bing image/buffer to cmd buffer
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.
Tobin Ehlis [Wed, 17 Aug 2016 17:10:41 +0000 (11:10 -0600)]
layers: Add tracking between sampler and cmd buffer
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.
Tobin Ehlis [Wed, 17 Aug 2016 15:49:13 +0000 (09:49 -0600)]
layers: Only bind active sets to cmd buffers
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.
Tobin Ehlis [Wed, 17 Aug 2016 13:55:55 +0000 (07:55 -0600)]
layers: Migrate PIPELINE_NODE to core_validation_types.h
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.
Tobin Ehlis [Thu, 21 Jul 2016 23:51:22 +0000 (17:51 -0600)]
layers: Minor re-naming in core_validation
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.
Tobin Ehlis [Thu, 21 Jul 2016 20:40:22 +0000 (14:40 -0600)]
layers: Add descriptor sets to CB_INVALID tracking
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.
Mark Lobodzinski [Tue, 23 Aug 2016 14:49:36 +0000 (08:49 -0600)]
layers: GH873, Fix ETC2 RGBA format class size
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
Mark Lobodzinski [Tue, 23 Aug 2016 17:12:05 +0000 (11:12 -0600)]
layers: GH877, Clear up descriptor state messages
Plumbed function name through for more descriptive error
messages from validate_and_update_drawtime_descriptor_state().
Change-Id: I109e14e07e6a5ba29c45dc3e0ad075ff3575d67f
Mark Lobodzinski [Mon, 22 Aug 2016 17:34:50 +0000 (11:34 -0600)]
layers: Update layer details doc for new tests
Change-Id: I9a0cca05f387c291494edf6970e0dd34d5922fe6
Mark Lobodzinski [Mon, 22 Aug 2016 15:21:03 +0000 (09:21 -0600)]
layers: Add Image Transfer Granularity checking
CmdCopyImage and CmdCopyImageToBuffer/CmdCopyBufferToImage have
parameters that must respect the Image Transfer Granularity
requirements set in queue family property minImageTransferGranularity.
Change-Id: Ic0fed33c201310bafe86f6f509a63b675de1d572
Mark Lobodzinski [Fri, 19 Aug 2016 17:03:01 +0000 (11:03 -0600)]
layers: Update layer validation details doc
Updated entry for new BufferImageCopy checks.
Change-Id: I85ea2eeacae6885fbd6729180167cbe1abe4c176
Mark Lobodzinski [Fri, 19 Aug 2016 14:50:15 +0000 (08:50 -0600)]
layers: GH763, Add validation for VkBufferImageCopy
Added valid usage checks for members of this structure used in
vkCmdCopyImageToBuffer and vkCmdCopyBufferToImage.
Change-Id: I62ec7b04504e91fa33c86d1a5b606ba8fb7a294a
Tony Barbour [Mon, 22 Aug 2016 22:10:02 +0000 (16:10 -0600)]
layers: Leave INDEX_BUFFER_BOUND set in set_cb_pso_status
Change-Id: I5ca986c95b97cdf97a0f65b0c34db32d91428645
Chris Forbes [Mon, 22 Aug 2016 04:53:12 +0000 (16:53 +1200)]
docs: Add description of new SC cases
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 22 Aug 2016 04:36:54 +0000 (16:36 +1200)]
layers: Allow get_fundamental_type to look through OpTypeImage
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 22 Aug 2016 04:11:22 +0000 (16:11 +1200)]
layers: Validate fundamental type for input attachments
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 22 Aug 2016 03:31:18 +0000 (15:31 +1200)]
layers: Correctly handle input attachment collection w/ arrays
Fixes the test added in the previous commit
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 22 Aug 2016 03:20:11 +0000 (15:20 +1200)]
layers: Require every input attachment used by FS to be present.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 22 Aug 2016 02:58:35 +0000 (14:58 +1200)]
layers: Add helper to collect shader's use of input attachments
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Mon, 22 Aug 2016 14:12:23 +0000 (08:12 -0600)]
layers: Fix spelling dynami->dynamic
Mark Young [Fri, 19 Aug 2016 21:25:08 +0000 (15:25 -0600)]
loader: Fix CTS failures in simulate_oom tests.
The simulate_oom tests continue the trend of testing what happens
when the user-provided allocators fail. It validates two things:
1) That the loader returns the proper error message when this
occurs.
2) That the loader cleans up any allocated items prior to
returning.
Change-Id: Ic80ff4345e1f3524d5e11ce787b10c391a37d760
David Hubbard [Fri, 19 Aug 2016 19:30:06 +0000 (13:30 -0600)]
adding vulkan.py extension.ifdef field to vulkan.py
Some extensions are disabled at compile time and must not be included
in generated code. Issue #72 gh72. This adds a new optional field
ifdef which contains the #define symbol to insert as a guard around
generated code.
Change-Id: I30b521dd1ff77d0db1608cb11c8c999cef40dff2
Nanley Chery [Tue, 12 Jul 2016 18:22:38 +0000 (11:22 -0700)]
layers: Fix spelling error in README
Change-Id: I2e6aa600f30d89d22ce5f6f1c2e84555ba8e0b71
Mark Lobodzinski [Mon, 15 Aug 2016 20:27:26 +0000 (14:27 -0600)]
layers: GH820, MapMemory shadow copy alignment
For host-visible non-coherent memory, the validation layers use a
shadow copy of the mapped memory region. Added proper alignment
for the shadow copy, fixed handling of offsets, and implemented
resolve of the shadow data on invalidate calls.
Change-Id: I88815799865d3a30c76e16cf96ace630e1bbcf2d
Tobin Ehlis [Thu, 18 Aug 2016 16:53:58 +0000 (10:53 -0600)]
layers: GH859 Fix error messages for viewport/scissors state
The checks are correct but error messages were backwards and stated
"contains" instead of "does not contain".
Mark Lobodzinski [Thu, 18 Aug 2016 14:50:16 +0000 (08:50 -0600)]
demos: Clean up vulkaninfo source formatting
A few spots where clang-format is disabled need some cleanup.
Change-Id: I1adc64d479244fc5f655b3e3e7cd74d64499f682
Mark Lobodzinski [Tue, 16 Aug 2016 15:06:15 +0000 (09:06 -0600)]
layers: VT59, Change query count errors to warnings
In patterns where an API call is normally made twice, the first with
a NULL pointer returning the count of structures to receive followed
by second call with a pointer to the appropriately-sized buffer, the
swapchain layer was returning validation errors if the size call was
made. However, this is legal behavior so these now return validation
warnings. Also updated the relevant validation tests.
Change-Id: I9f493b27bf4fa0bec6385499c76c5cece1ad86b9
Chris Forbes [Mon, 1 Aug 2016 03:15:30 +0000 (15:15 +1200)]
layers: Rework work tracking
This fixes cross-queue work tracking, while keeping everything else
working.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Mark Lobodzinski [Tue, 16 Aug 2016 15:06:15 +0000 (09:06 -0600)]
layers: GH819, Fix non-coherent memory shadow copy
InvalidateMappedMemoryRanges was not updating core validation's
shadow copy of non-coherent memory.
Change-Id: I7b5e05791405871489014d6b08595c9bae941185
Mark Lobodzinski [Mon, 15 Aug 2016 21:00:12 +0000 (15:00 -0600)]
layers: GH822, handle WHOLE_SIZE for mapped memory
A support routine for FlushMappedMemoryRanges and InvalidateMapped-
MemoryRanges ignored VK_WHOLE_SIZE, causing invalid memory accesses.
Change-Id: I28616faa1339a394a3462e72780efd1b852ac489
Lenny Komow [Wed, 17 Aug 2016 20:50:13 +0000 (14:50 -0600)]
winsdk: Create layer registry if it doesn't exist
Mark Mueller [Tue, 16 Aug 2016 19:51:38 +0000 (13:51 -0600)]
docs: GH424 Update validation test documentation
Doc changes to reflect test additions
Change-Id: I18488615b2323dc38505e6a2df18fd960ea56bf4
Mark Mueller [Tue, 16 Aug 2016 15:47:31 +0000 (09:47 -0600)]
layers: GH424 add check of skip_call results to CreateDevice
skip_call result was ignored allowing for exception violations
under some test conditions.
Change-Id: Ied673a9b932210de52ed189c67221af60415cae9
Mark Lobodzinski [Tue, 16 Aug 2016 17:51:12 +0000 (11:51 -0600)]
layers: LX581, Warn for null-region blits
Parameters specifying the extents for VkCmdBlitImage are often
misinterpreted from the spec. Add warningis if the extents do not
specify a positively-sized area.
Change-Id: I11324dcf4523b094d7545f406d5f87a1145e0563
Mark Lobodzinski [Mon, 8 Aug 2016 20:41:55 +0000 (14:41 -0600)]
layers: Run swapchain source through clang-format
Change-Id: Iaebe81e34e76d4760d1097da23d52d7ca2ef4273
Mark Lobodzinski [Mon, 8 Aug 2016 20:36:58 +0000 (14:36 -0600)]
layers: Some simple style tweaks for swapchain
Fixed some variable names and removed c-style casts.
Change-Id: I994ca311665a59d0f81ce0cfdeda4a66deb632be
Mark Lobodzinski [Mon, 8 Aug 2016 17:23:58 +0000 (11:23 -0600)]
layers: Removed swapchain pNext validation
This validation is already performed in parameter_validation.
Change-Id: I5fd8e92c885300aa35537d825ea67fabb723062e
Mark Lobodzinski [Mon, 8 Aug 2016 17:20:36 +0000 (11:20 -0600)]
layers: Fixed swapchain layer warning messages
Macro used incorrect parameter layout -- removed and in-lined log_msg
calls.
Change-Id: I2a21be76f83eed9fb3055f6f57f22204c9ea76f0
Mark Lobodzinski [Mon, 8 Aug 2016 17:14:52 +0000 (11:14 -0600)]
layers: Removed unused macro in swapchain
LOG_PERF_WARNING was not used.
Change-Id: I89f84611b37a809493e3d23c53809263d48b3065
Mark Lobodzinski [Mon, 8 Aug 2016 17:09:27 +0000 (11:09 -0600)]
layers: Moved swapchain QFI checks into function
Correct object pointers passed now.
Change-Id: Ib18e1849da2761373386eb44c2549be7c28752ab
Mark Lobodzinski [Mon, 8 Aug 2016 16:41:18 +0000 (10:41 -0600)]
layers: Removed swapchain ZERO_VALUE check
This validation is already performed in parameter_validation.
Change-Id: I3c1a7f17d68fa81f7770b7dd88cb075be8e59175
Mark Lobodzinski [Mon, 8 Aug 2016 16:34:56 +0000 (10:34 -0600)]
layers: Remove swapchain WRONG_STYPE checks
This validation is already performed in parameter_validation.
Change-Id: I0b9e83cf241bfa5de93c90898f6cd5b6d9b745b5
Mark Lobodzinski [Mon, 8 Aug 2016 16:29:34 +0000 (10:29 -0600)]
layers: In-line swapchain zero_prior_count macro
Change-Id: Ib9c58f05ef045f0450f1ba62dfc7ea4498ac119e
Mark Lobodzinski [Mon, 8 Aug 2016 16:18:49 +0000 (10:18 -0600)]
layers: Remove swapchain INVALID_COUNT macro
Change-Id: I44d19882af69541cfe9876a22fecc0a09056ba0b