History log of /external/vulkan-validation-layers/layers/core_validation.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
47705d01140c9f1492885e6efc5fa262e7e1c6a0 26-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor PostCallRecordFreeMemory()

Simplify the code based on review feedback. Don't need loop guard and
don't need to clear the set of struct that's about to be freed.
/external/vulkan-validation-layers/layers/core_validation.cpp
94165f5005d1fa37801d49067fe7751789b89d27 26-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Fix destroy functions w/ disable flags

All of the Destroy functions Pre* calls had a bug where, if the disable
flag was on, the state ptr and object struct were not correctly set.

Updated all of these cases to first update state ptr and obj_struct and
only then check the disable flag.
/external/vulkan-validation-layers/layers/core_validation.cpp
4710dda89a1dd2e023334d4eda710a394b211cdc 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename EVENT_NODE->EVENT_STATE
/external/vulkan-validation-layers/layers/core_validation.cpp
d379c77e4254a740aa838a82e7af186525524617 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyEvent

Update DestroyEvent to use the Pre/Post call pattern and add a
validation flag.
/external/vulkan-validation-layers/layers/core_validation.cpp
177063aac84fac6f4e650c2629a08b48be643f96 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor FreeMemory()

Updated FreeMemory to follow the Pre/Post call pattern. There was some
old code that I was able to just throw away such as clearing memory
struct members before the struct was freed, a few separate info
messages that aren't very useful, and some broken code that would clear
every mem reference on a cmd buffer when only a single mem object would
be freed.

Also added validation flag, unique error enum, and updated database
file.
/external/vulkan-validation-layers/layers/core_validation.cpp
f6b163ba3de27441b74b200a10285385e3f124c4 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Variable renaming

Rename some vars from camelCase to lowercase to meet style guide.
There was one line where we re-did a calculation that I updated to use
the already calculated value.
/external/vulkan-validation-layers/layers/core_validation.cpp
d74f8771414d9e80618cd7604ea4b1c459dfa42e 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Remove duplicate cmd buffer binding

Memory objects inherit cb_bindings from BASE_NODE so don't need
redundant command_buffer_bindings. Remove that and update the code to
use the standard cb_bindings.
Also renamed a few vars from camelCase while touching code.
/external/vulkan-validation-layers/layers/core_validation.cpp
5f9c0dbd099bd351bc564e0f05170ceeadcc995d 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyCommandPool

Update DestroyCommandPool to use the Pre/Post pattern and add a
validation flag for these checks.
/external/vulkan-validation-layers/layers/core_validation.cpp
cdc73d5b6b64942b377db7220cd16b4045f73c9a 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Update enums for cmdbuffer in-use cases

Add 4 unique enums for cmd buffer & pool free and reset cases.
Update the database file as well.
/external/vulkan-validation-layers/layers/core_validation.cpp
d31a44af6da568692a73201825459689c9431867 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename SAMPLER_NODE->SAMPLER_STATE
/external/vulkan-validation-layers/layers/core_validation.cpp
806095ea973371ad4c82bd0c2c58d53cc5557f0b 20-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroySampler

Update DestroySampler to use the Pre/Post pattern and add a validation
flag for these checks.
/external/vulkan-validation-layers/layers/core_validation.cpp
3f1d2ba6852cf6b1bb4e1f06d690293565108e2c 26-Oct-2016 Tobin Ehlis <tobine@google.com> layers:CreateDescriptorSetLayout cleanup

Streamline duplicate binding check, use [] operator instead of emplace,
remove dead comment and add new comment.
/external/vulkan-validation-layers/layers/core_validation.cpp
0c347fc6b08172b778c259e1a1219a2403495d48 25-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor CreateDescriptorSetLayout

Update CreateDescriptorSetLayout() to use Pre/Post pattern and split
out validation of createInfo for the layout to occur before the
creation of the layout.
/external/vulkan-validation-layers/layers/core_validation.cpp
2083721ccdace484e9cf6f820223d2d471e12fd7 25-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Update error enum for duplicate bindings

Add unique error enum for the case where descriptor bindings are
duplicated.
/external/vulkan-validation-layers/layers/core_validation.cpp
4052946ae557337ff95f3725e879131b1c63f865 25-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename cmd buffer flags for clarity

Fixes #870

CBSTATUS_ALL was not clear so changed to more descriptive
CBSTATUS_ALL_STATE_SET. This mask is used to flag all of the pipeline
state for a cmd buffer as "set." The setting can then be adjusted based
on which state was flagged as dynamic in the pipeline state object.
/external/vulkan-validation-layers/layers/core_validation.cpp
2d0b3724d6f7038d6cea5608b7c3be9637034b84 21-Oct-2016 Jan-Harald Fredriksen <jan-harald.fredriksen@arm.com> Adding input attachment access as optional for attachment optimal layouts.

Change-Id: I0ef3d1af2ef38d218f1721e98eb1d98b326cd340
/external/vulkan-validation-layers/layers/core_validation.cpp
d79335137b414d5f89284a9ab3e014beb4ada3eb 18-Oct-2016 Mike Weiblen <mikew@lunarg.com> layers: Reword from cryptic abbreviations to readable words

Expand abbreviations to improve readability:
DS=depth/stencil
DS=descriptor set
CB=command buffer
VS=vertex shader
FS=fragment shader
VTX=vertex
PSO=pipeline state object

Change-Id: I48fe917aac50d1911fe2a3aa1ed2c739637c7645
/external/vulkan-validation-layers/layers/core_validation.cpp
32cfeefe331adc1f1d779b02b4f60221d9935985 19-Oct-2016 Mike Stroyan <stroyan@google.com> layers: Fix core_validation function declarations

Add VKAPI_ATTR to FlushMappedMemoryRanges and
InvalidateMappedMemoryRanges function declarations.
/external/vulkan-validation-layers/layers/core_validation.cpp
82ed6a21be1831c0c712be3215c34dea6ff79926 18-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Fix cmd buffer to buffer binding

Bind the buffer to the cmd buffer independent of the buffer memory.
Previously in the null memory case we'd bind the cmd buffer to the
buffer without binding the buffer to the cmd buffer. This fixes that
imbalance.
/external/vulkan-validation-layers/layers/core_validation.cpp
4bd8f42e6f6542c0eac2492ce70edc6bebc6a2d8 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Fix memory cleanup at DestroyImage time

Need to ClearMemoryObjectBindings() when an image is destroyed. Do
this even if mem_info is NULL which it will be for sparse bindings.
/external/vulkan-validation-layers/layers/core_validation.cpp
f19cf73769d6fc784ef4c3bf70b85739b4810693 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Update memory helper funcs to use BINDABLE

When getting, setting & clearing memory bindings, work with the updated
BINDABLE superclass of IMAGE & BUFFER state objects.
/external/vulkan-validation-layers/layers/core_validation.cpp
e46491ee6f16b9d29e68914fc6522aba2fde0ad4 11-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Add BINDABLE superclass for image/buffer state

Support for sparse memory binding is virually non-existant in current
validation layers. This is a first step down a long path to improve
sparse binding support.

The BINDABLE superclass is sub-classed by IMAGE & BUFFER state objs
and contains memory binding info in both the single binding and
sparse binding cases.

Bindings are initially encapsulated in the new MEM_BINDING struct.
For single binding cases, things are almost exactly the same as they
have always been. For sparse binding, the various bindings will be
stored in the sparse_bindings set where we initally don't have complete
information on the sparse binding as we only store the MEM_BINDING info
but this is a start.
/external/vulkan-validation-layers/layers/core_validation.cpp
6de0e43adfbd3c049252412d998524e7edbd3796 17-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Fix bad use of PIPELINE_STATE ptr value in errors

Fixes #1056.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
3ec39aeb6d6f08fb1ee45f64f72543a710754c62 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Kill old MTMERGE defines

Just a couple of these lingering that we can now axe
/external/vulkan-validation-layers/layers/core_validation.cpp
219f00ffed576643641976122fa1db8e5fce5dc1 13-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Stop copying INSTANCE_STATE into device

V2: Squash in second patch; resolve conflicts with @tobine's renames.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c2a5a36d03bbe52f5854a5884346e4a84115e259 13-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Pipeline state rename fixup

Overzealous bulk replace changed getPipelineLayout to getPipelineState
layout. This should not have been changed so reverting here.
/external/vulkan-validation-layers/layers/core_validation.cpp
1facd2c91911508b9fb61f54a56269841299f663 13-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename IMAGE_NODE to IMAGE_STATE

Another node->state rename pass.
/external/vulkan-validation-layers/layers/core_validation.cpp
2a0dd15a44bf665c97a3ff6adcbe7fe5853cdf60 13-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyImage

Add validation flag for DestroyImage and update it to follow the
Pre/Post pattern.
/external/vulkan-validation-layers/layers/core_validation.cpp
0ffd03853dc28123fa113e6cd49264838559ee39 13-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyRenderPass

Add validation flag for DestroyRenderPass and update it to follow the
Pre/Post pattern.
/external/vulkan-validation-layers/layers/core_validation.cpp
127937bcdb5817ee4568887c298ce36c88f3c58b 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename RENDER_PASS_NODE to *_STATE

Another node->state rename pass.
/external/vulkan-validation-layers/layers/core_validation.cpp
a21f0d8ac8389dc4e23749efc02d82a7ec1eaee3 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename DESCRIPTOR_POOL_NODE to *_STATE

Continuing the NODE->STATE renaming effort
/external/vulkan-validation-layers/layers/core_validation.cpp
447df22fc9abae1c38637b5b0a660d2b900a110b 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Kill outdated comment
/external/vulkan-validation-layers/layers/core_validation.cpp
0245b74a083d2cb3b083571deb0fe13b4ab428a4 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Fix framebuffer cmd buffer binding

Wasn't correctly establishing binding between framebuffer object and
cmd buffer object that it's used in. Updated code to use standard
addCommandBufferBinding() function.
/external/vulkan-validation-layers/layers/core_validation.cpp
c54e405a4ce05f4de10bb78bfc3a4769c41d2d59 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename FRAMEBUFFER_NODE to *_STATE

Part of ongoing effort to kill nebulous "NODE" moniker and switch to
"STATE" instead.
/external/vulkan-validation-layers/layers/core_validation.cpp
728a3e68af2277743cc59185dab7281e96480efe 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyFramebuffer

Add validation flag for DestroyFramebuffer and update it to follow the
Pre/Post pattern. This function didn't previously perform an in-use
check so added that check.
Updated database file.
/external/vulkan-validation-layers/layers/core_validation.cpp
1803032f91d772ff3589c9f5a51ade5b299ba538 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Add in-use unique error enums

Pass error enum into ValidateObjectNotInUse function and update
all of the existing calls to pass correct enum.
Also update database file to record checks as implemented and note
test status.
/external/vulkan-validation-layers/layers/core_validation.cpp
c656e38f76da254b8b19e653d0945cabb43329bc 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Add validation to DestroyDescriptorPool

Add validation flag for DestroyDescriptorPool and update it with
validation code using the Pre/Post pattern.
Flag error if descriptor pool is in use and invalidate any cmd buffers
that it was bound to. Remove pool state from map when it's destroyed.
When the pool is destroyed make sure all of its descriptor sets are
also freed.
/external/vulkan-validation-layers/layers/core_validation.cpp
4c0df90de562aa248b524a28b355765d8e3eff25 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Rename PIPELINE_NODE to PIPELINE_STATE

Would like to migrate "NODE" structs to "STATE" as it's more
descriptive of their purpose. This commit changes PIPELINE_NODE
to PIPELINE_STATE.
/external/vulkan-validation-layers/layers/core_validation.cpp
a123662876eebfa844faa65ae3f071d3d77618eb 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Reduce locking window

Don't need to lock around these decls in DestroyImage/BufferView
/external/vulkan-validation-layers/layers/core_validation.cpp
8bd2ec9a26cca477de2de93304774cdba0af77bc 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyPipeline

Add validation flag for DestroyPipeline and update it to follow the
Pre/Post pattern.
/external/vulkan-validation-layers/layers/core_validation.cpp
f61017735c3291a2665487f2bac310578fc60a68 12-Oct-2016 Tobin Ehlis <tobine@google.com> layers:Refactor DestroyImageView

Add validation flag for DestroyImageView and update it to follow the
Pre/Post pattern.

Also made a couple minor tweaks to DestroyBufferView based on review.
/external/vulkan-validation-layers/layers/core_validation.cpp
4f38db6ace251a2f5302c9de6c5d7c791a610505 07-Oct-2016 Karl Schultz <karl@lunarg.com> layers: Updating some CreateBuffer checks to use unique enums

Small batch of updates to use unique validation error enums and
messages for a few checks. Updated the database file and
flagged some other checks that are missing with the error
enums and TODO notes.

Change-Id: I2020a88bbdcf7ea6d725f667523e89b160fe7ab8
/external/vulkan-validation-layers/layers/core_validation.cpp
793fead81a7a480b5609b36121dc5ddd31d7e9df 10-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Add validation flag for descriptor updates

Add update_descriptor_sets flag to bypass validation for
vkUpdateDescriptorSets() call.
/external/vulkan-validation-layers/layers/core_validation.cpp
7286e20c06011d3c6fa7edfbdbadd42bb6e8cc35 07-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Pass unique error codes through descriptor validation

Descriptor validation builds up error strings at multiple levels such as
UpdateError->WriteUpdate->BufferUpdate->BufferOffset. The final error is
then reported via a log_msg() call at the top level.

In order for this design to allow for the new unique error codes, we need
to pass error codes down the chain in the same way we pass error strings
down the chain.

This change adds error msg passing for descriptor updates. Many error
codes are added in as well as comments for codes that are missing or need
to be updated.

The database file is also updated to account for all of the checks that
were updated and/or reviewed.
/external/vulkan-validation-layers/layers/core_validation.cpp
0dcd0f7b37456e2e552d37094ba503c0d089b906 06-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Add flags for some descriptor validation

Add flags that can gate descriptor checks for in-use descriptor,
push constant ranges, and allocate & free descriptors.
/external/vulkan-validation-layers/layers/core_validation.cpp
1c48e214b2ed50690da7f42f2013be3a6ef267df 06-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Updating descriptor checks to use unique enums

Initial batch of updates to use unique validation error enums and
messages for a few checks. Updated the database file and flagged
some other checks that are missing along with "TODO" notes in the
code.
/external/vulkan-validation-layers/layers/core_validation.cpp
a9c6cc532ce0ef61d48d1419a96aae51b0e4c64a 06-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Fix wayland build break

Cut-and-paste error
/external/vulkan-validation-layers/layers/core_validation.cpp
77aa75f997ecb8c39c815d79042d1553c08a9b85 06-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Initial codegen of unique error enums

This is the initial commit of spec.py script that's used to generate a header
and database file that contain unique error enums per valid usage line in the
spec.

The basic usage is just "python spec.py" which will write out a header file to
"vk_validation_error_messages.h" that contains unique error enum values for
each valid usage line in the current spec that's online at
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html

The header also contains validation_error_map with unique enum values as keys
that map to customized output messages for each validation error.

Updated one check to use the new model in core_validation.

The database file contains an enum value and error message on each line, as well
as fields indicating if the enum has been implemented in code and the testname
for a layer validation test that verifies that particular check. Initially the
implemented fields are set to 'U' and testname set to 'Unknown' to indicate that
they haven't yet been checked. Will be updated manually as the code is scrubbed
and new error enums are added.

When updating the header as the spec changes, the "-update" option to spec.py
will pull the database file and use it as a baseline reference to compare against
the updated spec. The script will attempt to keep errors with same message to have
the same error enum. When it's unsure if messages are updated or new, the script
will flag errors for manual review.
/external/vulkan-validation-layers/layers/core_validation.cpp
c6f1a9ab8d9bee0a805a298c9d28f5e81f8877b5 06-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Fix buffer_view destroy ordering

Don't destroy buffer_view from map until after invalidating bound cmd buffers.
/external/vulkan-validation-layers/layers/core_validation.cpp
d3b3114fb37a32af2ba563f784da54a877492b23 06-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Migrate surface/swapchain interaction from swapchain to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ddc5201048319558ce66701163a4546ee957af19 06-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Track current and prev swapchains for each surface in CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0441e6079807d182bec4060d49abc4333551d605 06-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Add handle to SWAPCHAIN_NODE

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4b5890faffa54a735782a6b0a628a991ddc86944 04-Oct-2016 Mike Weiblen <mikew@lunarg.com> layers: Change 'VS' to 'vertex shader'

Change-Id: Ib9b20635225528d2fd6d012e6487d95f27a0f95d
/external/vulkan-validation-layers/layers/core_validation.cpp
d8a53ade6b5501256798a8b4ec0bc14f72adc1fa 05-Oct-2016 Tobin Ehlis <tobine@google.com> layers: Fix state tracking for vkFlushMappedMemoryRanges()

Checks for underflow and overflow when flushing mapped memory where using the
flush offset instead of the original mapped region offset to determine size of
total mapped region.
/external/vulkan-validation-layers/layers/core_validation.cpp
747ce6dd32eafd93da3dc12a6ffd670e746ae453 04-Oct-2016 Chris Forbes <chrisforbes@google.com> layer: Add tracking of surface extensions (and surface objects) to CV

V2: Don't leave commented-out junk lying around; init
SURFACE_STATE::surface in default-constructed case.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
d678ec4f57d80aa89c24562e9ffe941d8d69e455 04-Oct-2016 Tony Barbour <tony@LunarG.com> layers: Only validate access masks if layout changes

Change-Id: I21af32fb017de15760d72d4b32d99d84c383755f
/external/vulkan-validation-layers/layers/core_validation.cpp
08d0512735df3d7ee6d2b085e4a2fbcac9d990c2 29-Sep-2016 Tony Barbour <tony@LunarG.com> layers: Check for srcAccess in present barriers

Change-Id: I7722a31a6ef576cf8bc79c6893e70bc4b1cf1c09
/external/vulkan-validation-layers/layers/core_validation.cpp
6e17c244b21ce43ac57404a00a0d844039eed363 04-Oct-2016 Mark Lobodzinski <mark@lunarg.com> layers: Clean up Windows build warnings

Change-Id: Iec47464d56c862cb1a6f132241d200d6f68efa21
/external/vulkan-validation-layers/layers/core_validation.cpp
4a0754042cf090e131e9e769d8a3633c228625be 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Hold device dispatch table by value too

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
9172b640a0ae6a92f24ad0609d92b2c228cde89c 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Hold instane dispatch table by value

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
8860b85a52096f9f9b28616bc37feed505497a54 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Rename my_data->instance_data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f0f7d8aa2286bd7516d9fb5c2e58890505e3e5d4 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Split CV device and instance data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7d8b6ab1b68c397da50bad43deb1fba389ebace7 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Move queue_family_properties into PHYSICAL_DEVICE_STATE

This isn't instance-wide.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
1f8e18308ae29b5220ce300f0d4dc964bc0941d6 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Dont pretend this is phy_dev_data in
GetPhysicalDeviceQueueFamilyProperties

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4b293996aa6a9bd92ef1f0175eca4b0e8a9fd9fc 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of remaining use of single physical_device_state in
instance

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
07a464bd7fec9583f346b8c4b8d43c88d2e9ffa4 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Store ptr from device data to instance data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f71dd305f197826a61f398bff725267a20ea1d90 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Pull enabled_features out into layer_data, rename for clarity

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
3bb2c67470811e4eaf908b3eade82f73aa3f87bc 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Stop pretending phys devices have their own layer_data

They don't -- the dispatch key is the same as the instance.
EnumeratePhysicalDevices just made a mess if there were multiple
physical devices in the system.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b1f16c99e817d67a9f6c87d92e312478de4721d7 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Rename my_data -> instance_data in EnumeratePhysicalDevices

Makes it clearer what this is.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
d3578035fec44db2380099c2f59d3e4d8e0b98d6 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Use member initialization for CV state

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
3ac5d5cf74fb5c944554ce5082a5d2fc73e240fa 03-Oct-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of duplication of logic op test between PV and CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f48a83f5b5548cd46a12770c7542ff902537ad3e 30-Sep-2016 Karl Schultz <karl@lunarg.com> layers: gh965 Reading undefined memory is now a warning

Change-Id: I03d021784649f4dbdced4dc34bcf39e7c7a0cfac
/external/vulkan-validation-layers/layers/core_validation.cpp
c307df2953e6b023531a6ef7fd11e3ee2f2c58b0 28-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Complain about subpass mismatch between CB and pipeline

Fixes #933.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a1a137ec383fef3881f86d4c202b1de56a91edf0 27-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Use cmd buffer as src object in callback

One less TODO.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7626815e3c23be98681f3fcf733ee938022af612 28-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Added flags for in_use checks

Added object_in_use flag to disable all in_use checks.
Added destroy_buffer_view flag to disable validation checks at
DestroyBufferView() time.
/external/vulkan-validation-layers/layers/core_validation.cpp
8e0ffae5b5c87fa062229b8c003be10c7e48aea1 28-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Update DestroyBufferView to use Pre/Post paradigm

Add PreCallValidate* and PostCallRecord* functions to DestroyBufferView
according to long-term core_validation architecture plans.
/external/vulkan-validation-layers/layers/core_validation.cpp
77b6217754b9c167b08cb151e70b41a948e36277 28-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add binding between cmd buffer and bufferView

For a texel descriptor update, add binding between bufferView and the
command buffer as well as between underlying buffer and command buffer.
/external/vulkan-validation-layers/layers/core_validation.cpp
38e26abbaa884eb48bfec4ddb4e0ae2c90634e06 27-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add in-use detection for VkBufferView

When VkBufferView is destroyed, flag error if in-use and mark any
bound cmd buffers as invalid.
/external/vulkan-validation-layers/layers/core_validation.cpp
c264142df95edb7eb96b5dc2d87562efce6ded43 28-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add bool to guard command buffer state check

This is the first check-in demonstrating the boolean model to allow validation
checks to be disabled. Going forward we'd like to guard all checks in such
bools which can then be set based on VkValidationCheckEXT enum values passed
in at vkCreateInstance() time.

In the course of adding this noticed a bug where instance_state was not getting
initialized in device layer_data at CreateDevice time. Fixed this bug.
/external/vulkan-validation-layers/layers/core_validation.cpp
75b0d6603382dcb3e3de24c11ea6e4aa2ef8b4d2 27-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Indicate correct source for validateCommandBufferState() error

Fixes #982

Instead of hard-coding vkQueueSubmit, take a parameter to clarify if the error
originates from vkQueueSubmit() or vkCmdExecuteCommands()
/external/vulkan-validation-layers/layers/core_validation.cpp
fb13c2c4174108223d9f8e43084020eb09115ed6 26-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Convert RENDER_PASS_NODE::pCreateInfo to use safe struct

Gets rid of a memory leak, and simplifies the code.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
48a43d923a7b126a78770bd209d63902ffa0520a 26-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Don't accidentally copy safe_VkFramebufferCreateInfo

This isn't cheap.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
66a7318a24c9dd8162a6ae49fd62867a263d4402 26-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Don't add VK_SUBPASS_EXTERNAL edges to subpass DAG.

We don't use them, and handling them safely complicates other code that
works with the DAG.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
db6ad16f7690669bb664b970a8e5c47abb8db9fa 26-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Trim out some more old MT renderpass junk

- RENDER_PASS_NODE::attachments[i].attachment was always i.
- This whole structure is noise; we can use the VkAttachmentDescription
directly.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
d17d86d15a733f1ec988956721ea4b7cdfb6771b 26-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Tweak naming of enums moved from SwapChain to CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a96bccebcf27add1b38bfe46c541e1484d7b4d88 22-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Move image-not-acquired etc from swapchain to core validation

Now that Core Validation tracks the acquisition state of every swapchain
image, we can do this.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
220a9249bd81543e570b3f38c79d9b1e82e0d0db 22-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Add tracking of acquired state to Core Validation

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
449670637ef4214b33018f497cf10daeff9dc85b 22-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Move ACQUIRE_NO_SYNC check from Swapchain to Core Validation

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
888cae09036ec622d6014e18efbda55e6226cf22 22-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Distinguish never-bound from un-bound memory cases

Fixes #964

Added special MEMORY_UNBOUND handle (0xF..FE) that indicates that memory
bound to an object has been freed. When attempting to bind memory or
checking for bound memory, distinguish the never-bound case from the
memory un-bound case.

For sparse binding case allow for memory to be re-bound.

Update tests to account for new error messages.

There's a sliver of exposure here if an actual memory handle is MEMORY_UNBOUND.
We could remove that exposure by never having unique_objects return MEMORY_UNBOUND
as a handle. I believe the exposure is small enough that we don't need to do that,
but am open to other opinions.
/external/vulkan-validation-layers/layers/core_validation.cpp
1cba4e1b5940c6818572e05dcad5a3a47fafbc9e 21-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Clean up no memory bound checks

When memory is freed make sure to clear bindings in associated objects.

Also clean up reporting of no memory bound errors. Old assumption was that
no memory had every been bound, but it's also possible to hit such errors
if the bound memory was freed prior to operation of interest.
In descriptor error cases where no memory is bound, add a final error string
as clarification since descriptor errors are built up of multiple strings
with details from each function call in the tree.
/external/vulkan-validation-layers/layers/core_validation.cpp
12d5600c2f9e32343016fd944432ba95df370797 22-Sep-2016 Tobin Ehlis <tobine@google.com> layers: A few minor clean-ups from code review

Better use of auto and killing some unneeded code.
/external/vulkan-validation-layers/layers/core_validation.cpp
f940225c9e5e3e14b3f5a32d3ea360b585614600 21-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add in-use check at DestroyImage() time

Flag error if an in-use image is destroyed.
Also clean up a couple minor issues related to binding objects to command buffer.
/external/vulkan-validation-layers/layers/core_validation.cpp
a9fbfe0c622e9fa4b56ddd015ed4c3c409020c2e 19-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add in-use check for renderPass

At DestroyRenderPass() time verify that renderPass is not in-use.
/external/vulkan-validation-layers/layers/core_validation.cpp
03ea795b83fdf0099594808a1a57064dea7f02a1 19-Sep-2016 Tobin Ehlis <tobine@google.com> layer: Add in-use validation for imageView

Bind imageView from a descriptor to the command buffer at CmdBindDescriptorSets
time and check for an in-use imageView at DestroyImageView time.

Also use new AddCommandBufferBindingImageView() helper to bind children of
framebuffer in AddFrameBufferBinding().
/external/vulkan-validation-layers/layers/core_validation.cpp
d85c42a6c1d6ad7a6f684c5bd793aab482b7705c 19-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add in-use check for imageView

Add DestroyImageView time, make sure imageView is not in use.
/external/vulkan-validation-layers/layers/core_validation.cpp
883ee3f865f9dbd83134d148b26e96cb6a926b3d 14-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add binding for framebuffer children

When BeginCommandBuffer and CmdBeginRenderPass are called, need to bind
not only the framebuffer, but all of the framebuffer's children objects
to the command buffer.
This includes the imageViews that are in the attachments as well as their
children and the renderpass.
Added this binding and included IMAGE_VIEW_STATE* in framebuffer
attachment struct for simplicity when creating binding.
/external/vulkan-validation-layers/layers/core_validation.cpp
7e5c0c26004626cf6826dfe2779a738a1f9f1fff 14-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add support code to handle in_use for missing objects

Add case block to in-use Increment/Decrement functions to handle the missing
object types that may be bound to a command buffer. The actual bindings for
these missing types will be added in a future commit.
Here are the types that were added:
VkBufferView
VkImageView
VkDescriptorPool
VkCommandPool
VkFramebuffer
VkRenderPass
VkDeviceMemory

Also added new error enums for all of these type except RENDERPASS which already
had an appropriate error enum.

Unify object BASE_NODE look-up for removeCommandBufferBinding() and
DecrementBoundResources() to use common GetStateStructPtrFromObject() function.

Finally, had to update the state-wrapping class for DescriptorPool, DeviceMemory
and RenderPass to derive from BASE_NODE so that in_use can be tracked.
/external/vulkan-validation-layers/layers/core_validation.cpp
39267c0c27b8f032f05a6747eb02d4508247fdc1 14-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Update BufferView state tracking

Create BUFFER_VIEW_STATE class to hold VkBufferViewCreateInfo and update related
state tracking. This class derives from BASE_NODE in preparation for tracking
in_use for BufferViews consistent to other object in_use tracking.
/external/vulkan-validation-layers/layers/core_validation.cpp
79fde938178535f598e030a0e9d19a0cb61b72e0 14-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Update ImageView state tracking

Create IMAGE_VIEW_STATE class to hold VkImageViewCreateInfo and update related
state tracking. This class derives from BASE_NODE in preparation for tracking
in_use for ImageViews consistent to other object in_use tracking.
/external/vulkan-validation-layers/layers/core_validation.cpp
00e8ce2e6c1c191758f7b7c15eeaf350e5b4a3b6 14-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Clean up in-use decrement for bound objects

Decrement in-use in a single location via ptr to BASE_NODE for each bound object.
/external/vulkan-validation-layers/layers/core_validation.cpp
162dac96d3883e8fffaa1f988043f62c06662d2e 14-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Clean up in-use increment for bound objects

Simplify code with a single error call and in_use increment based on common
base class.
/external/vulkan-validation-layers/layers/core_validation.cpp
d4513979120463171eb479cdded9336eb9944da1 21-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Fix tracking of WSI fence retirement

Previously we'd note that the fence wasn't submitted to a queue, and so
never call RetireWorkOnQueue, which is the only thing that marked the
fence as retired. In the WSI fence case, we still aren't doing any
tracking of completion of the WSI operation (we should! image ownership
is easily fouled up!) but we can at least retire the fence.

Fixes #954.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b3ecd4c1fb44a2e65dfc13256afa9150aabde1d4 21-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Extract RetireFence helper from WaitForFences/GetFenceStatus.

This does the same thing in both places.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
90b7c8c094c263b33382ff4756f2a23f484e8400 19-Sep-2016 Gregory Mitrano <gregory.mitrano@gmail.com> GH-951 Fixed consistency issue with mip size calculations
/external/vulkan-validation-layers/layers/core_validation.cpp
9ecb1daf727b16dfa6a26236bd93cd75f4d12696 19-Sep-2016 Gregory Mitrano <gregory.mitrano@gmail.com> GH-951 - Improve validation for minImageTransferGranularity

Added missing BC1_RGBA formats to vk_format_is_compressed function
Added function in vk_layer_utils to get block sizes for compressed formats
/external/vulkan-validation-layers/layers/core_validation.cpp
9c4006684a13db43f0dbc8d0015a9ef34872ca09 16-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of old CBSTATUS-based dynamic viewport and scissor

These were superceded by the precise tracking of dynamic scissors and
viewports.

Fix up the tests to look for the precise errors, and get rid of the
broken clearing of static scissors & viewports, which triggered other
errors.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
07a398f7c8da45c8286cba4ef33239646ee87dc9 13-Sep-2016 Karl Schultz <karl@lunarg.com> layers: Cleanup unexpected push_constants msgs

Fix to core validation CreatePipelineLayout to change
a message from warning to error.
Fixes to PushConstants layer tests to fix unintended
validation errors and to avoid generating multiple
intentional errors in a single test.

Change-Id: I618d6e5aff55fa918da5bd81c47092174b266da1
/external/vulkan-validation-layers/layers/core_validation.cpp
5f270eedee8426a5b556a8a9432dd836d83f7b51 13-Sep-2016 Tony Barbour <tony@LunarG.com> layers: Only save p-devices if call was successful

Change-Id: Ife211b1b2dc97c5bab0d6e7b177ead6b1a6105d3
/external/vulkan-validation-layers/layers/core_validation.cpp
5dcdd90e54199dfeb29938a3a03d998397c22664 08-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Require VkGraphicsPipelineCreateInfo::pDepthStencilState

If the subpass uses a depth/stencil attachment and rasterization is not
disabled, then this structure must be present.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
d5365427feb4a6c16371ecb651afa37b89dabd96 13-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: tweak comments from review feedback

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b7476f4c4998ae20e579bd2d134667b71acdbf91 09-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Don't do cross-stage validation if individual stages failed

There are only crashes and nonsense down this path.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0cfa9c3a1747749777581684536218f83c3977a9 09-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Don't bother continuing after missing entrypoint

There's very little we can do here.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
21a714edaf9b670a60102430c36b221ff27f0f25 09-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: make CmdClearAttachments messages errors again for now.

There's some spec contradictions, captured in !488. For now, let's say
that these are errors. This commit can be reverted if !488's resolution
retains the noop behavior.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7386605ae0fe78241c997605a843bdc9a5499e2b 08-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Make d/s CmdClearAttachments without d/s attachment warning

This is pointless, but well-defined. Rework warning message to not
reference the VkClearAttachment::colorAttachment, as it's only
meaningful for color clears.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
dd2e11f29131ab2a77ccb9ae0c4c5c3bcf95c1d5 08-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Add VK_ATTACHMENT_UNUSED warning case for CmdClearAttachments

This is a pointless clear, but well-defined.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
1710af939cd452f3c02e93f598f20e5e12eb6c3b 08-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: CmdClearAttachments colorAttachment is index into subpass

We were previously treating this as being an index into the renderpass
attachment descriptions, but that's nonsense. It's also well-defined
what happens if an out-of-range index is provided, so downgrade to a
warning.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e7791f94c78a28cdbaf48235c8aefca78ca0d0dd 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Move in_use.store(0) to BASE_NODE constructor
/external/vulkan-validation-layers/layers/core_validation.cpp
2f8cbf3b166e175174877a59929902e005953d6d 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Update bound object increment and decrement functions

Unify the handling of in-use increment/decrement for QueryPool, Pipeline,
Image, Buffer, and Event objects.
/external/vulkan-validation-layers/layers/core_validation.cpp
f4cc4424ca6a7819cd8e9ed646d337b4a74ed7f3 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Clarify in-use object error message
/external/vulkan-validation-layers/layers/core_validation.cpp
f57cf525e45f3a65e25c2691464d65e29a79ba77 27-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Improve map cleanup on object deletion

If object deletion is skipped due to validation error, don't remove object from map.
/external/vulkan-validation-layers/layers/core_validation.cpp
eafbf0b68ee6ea6e0bf33f07e0058d00a96efd9a 18-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Add detection for in-use query pool & clean-up destroys

Flag error if in-use query pool is destroyed.
Unify in-use error reporting to use common function ValidateObjectNotInUse().

Clean up Destroy functions to only remove objects from maps if skip is not set
for semaphores, events, querypool, pipeline
/external/vulkan-validation-layers/layers/core_validation.cpp
0421424eeed39384b1557ccad6908d7baf29d716 18-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Flag error on destroyed pipeline in-use
/external/vulkan-validation-layers/layers/core_validation.cpp
c2f1641edf568a0ad1383bc65d0239227dd1926c 18-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Flag error on destroyed sampler in-use
/external/vulkan-validation-layers/layers/core_validation.cpp
f909505280723ee24d2e74afc759d38dc09a37be 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Rename pCB to cb_node

Just updating functions as I touch them to avoid too much noise.
/external/vulkan-validation-layers/layers/core_validation.cpp
6f62283faa835f7fd302771a3a693d1aafff4652 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Print framebuffer object type

Distinguish "framebuffer" object type from "buffer" when printing
object type for output messages.
/external/vulkan-validation-layers/layers/core_validation.cpp
ea371fa7c8c57edb4d1436e4570cf54f3fc0463f 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add cmd buffer binding for fb images

Fixes #915

When binding framebuffer to command buffer, we need to also bind the
underlying images. Then, if images are destroyed, the cmd buffer
will correctly be marked as invalid and an error will be flagged if
an attempt to submit the cmd buffer is made.
/external/vulkan-validation-layers/layers/core_validation.cpp
02a3382f28fc7c6ec6018165be88aa6fc4f05c9e 07-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Add error for CmdEndRenderPass before reaching final subpass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0e21dda98453b5ced1fe7a2ffd5ca4b21847fe09 07-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Make CmdEndRenderPass more careful about side effects on failure

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
80281691386b37385846f21b38e8c9d4b12cc74e 07-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: add error to CmdNextSubpass if stepping beyond last subpass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
96ebb1e373cc0993339e2ecc1dc47e9918406f87 07-Sep-2016 Chris Forbes <chrisforbes@google.com> layers: Make CmdNextSubpass more careful about side effects on failure

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ea8e85ade623a09c601d939622cbd7740d8d66c9 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Add MEMTRACK_INVALID_MEM_REGION error

Add new enum value "MEMTRACK_INVALID_MEM_REGION" to track case when a
region of an allocation bound to an image or buffer is not valid due
to the memory not being correctly updated.

This was previously aliased to USAGE_FLAG case which was masking the fact
that there are no tests written for this invalid mem region case.
/external/vulkan-validation-layers/layers/core_validation.cpp
dc21d4c322604e04e0b8433970f6a1ced6a0b647 07-Sep-2016 Tobin Ehlis <tobine@google.com> layers: Clarify invalid memory message

Fixes #906

When reporting an invalid memory region, include the object type and
handle that is bound to that region.
/external/vulkan-validation-layers/layers/core_validation.cpp
e8f1d00379587293d46b993a598f519d07b77f37 06-Sep-2016 Karl Schultz <karl@lunarg.com> layers: Use actual enum type name in err msg

Change-Id: I4e7933349068984d7c99577158b6ff272e1d5282
/external/vulkan-validation-layers/layers/core_validation.cpp
28db3859aeeca6ab2fcbe51e016c2b785d158edc 31-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Impose singlesample/multisample constraints on input attachment descriptors

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c827a5880dc3fabfc7d1a58bb62798649cab1181 01-Jul-2016 Mark Young <marky@lunarg.com> loader: gh888 Add KHR/EXT extensions in vulkan.h

Add the KHR_display_swapchain device extension to the loader
and the core_validation layers. This fulfills the work required in
JIRA LOAD-7 and gh 90.

Add debug_marker to the extension list.

Change-Id: I1fb70e5d44bc8c1f70fd6d1cfbd106a155081b25
/external/vulkan-validation-layers/layers/core_validation.cpp
99d938c90c2f000ee73fb13513dacf84ffa5651f 24-Aug-2016 Mark Mueller <markm@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
c72f92cc2c217e46f843449a05370129aeac5596 30-Aug-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
5a8cba534d14ce341ba7a2100a542e93f0e3033c 26-Aug-2016 Tony Barbour <tony@LunarG.com> layers: Allow input attachment usage in CreateImageView

Change-Id: Ic0bea63b6ec898e496ba124b57ad8b848bdd0b7d
/external/vulkan-validation-layers/layers/core_validation.cpp
eebf670a2f04c402f2875f85aa4f889b06db48fc 23-Aug-2016 Mark Lobodzinski <mark@lunarg.com> layers: Add validation for image samplecounts

Check that an image's sampleCount is valid for BlitImage,
CopyImageToBuffer and CopyBufferToImage.

Change-Id: I5e012e35bd2eb87cd42798a0cacdb03ed64b3c3b
/external/vulkan-validation-layers/layers/core_validation.cpp
3a1adf43eb19fc8e32b5cf64eab56d120d6e00e8 23-Aug-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
1abb984ebd667af808ed308ddf79cbaeaed129ca 22-Aug-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
c3eda058338f7ba4e776ec74202b1c95ce6e6220 17-Aug-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
56f8a8f9b7e8c01d76d73be117ebcb66035db6df 17-Aug-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
aa21bc3b3c5c7adfeb488fc80bdcb339d63615b8 17-Aug-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
5c288f35b2eab0dab95d18768235fef6ffd69b30 17-Aug-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
9a61300d900fe3e43e9a03c7fa6876934bc1264e 22-Jul-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
a45bdcb94b2fbda36bc191e12cc20218f62fb0e0 21-Jul-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
e7f1fab24ce4b59bce87246a510b7e52638f83d0 23-Aug-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
f7f74f870488f026061dec2d4d3c3329a25d4dcd 22-Aug-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
1afd60fa23eaee2000e232efd5d05a64224a91dc 23-Aug-2016 Tony Barbour <tony@LunarG.com> layers: Leave INDEX_BUFFER_BOUND set in set_cb_pso_status

Change-Id: I5ca986c95b97cdf97a0f65b0c34db32d91428645
/external/vulkan-validation-layers/layers/core_validation.cpp
f95c35481cba95e16f9e70a62df61b49e2085076 22-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Allow get_fundamental_type to look through OpTypeImage

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
eeb9f6a27f1acc11e54080fb3bcda7b513b5c89f 22-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Validate fundamental type for input attachments

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e0cc9b3441a24e4fbd2b4e0a9d163dab2140264a 22-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Correctly handle input attachment collection w/ arrays

Fixes the test added in the previous commit

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c024994b70f304ed7c6a472b90803c9911be09dd 22-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Require every input attachment used by FS to be present.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
745d49409296f060402b57950384caadb636a2b2 22-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Add helper to collect shader's use of input attachments

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
5f06b9eba1bf89d4066ca44120dcb72c4cf44104 15-Aug-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
9867daedbf52debc77d6568162ee21e071699b80 01-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Rework work tracking

This fixes cross-queue work tracking, while keeping everything else
working.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
9e21e56fc23ade48efd3752d2e2729895eb90349 16-Aug-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH819, Fix non-coherent memory shadow copy

InvalidateMappedMemoryRanges was not updating core validation's
shadow copy of non-coherent memory.

Change-Id: I7b5e05791405871489014d6b08595c9bae941185
/external/vulkan-validation-layers/layers/core_validation.cpp
eefe1df8a93c1cbfb1815488501c61d9e57515ea 15-Aug-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
1d659b4113b77a95325df10d602a03f1e7abf8b7 16-Aug-2016 Mark Mueller <markm@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
7dc3fbb89e2dcf3df8fc2e6639a867a959fef3f3 12-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Style fixup, don't use pass-by-reference params

Change pass-by-reference to a ptr to comply with Google style guide.
This way it's more clear that function is modifying param, especially when calling.
/external/vulkan-validation-layers/layers/core_validation.cpp
623548a271287ae55415e45e3c654ee66d4e79ff 12-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Naming corrections

Some minor fix-ups to variable names and comments for memory aliasing code.
/external/vulkan-validation-layers/layers/core_validation.cpp
f989de4217bce0f293121d0da53dc8328276370f 11-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Refactor set/validate memory valid functions

Create custom image and buffer versions of functions to minimize casting.
/external/vulkan-validation-layers/layers/core_validation.cpp
9f12a235bb9c014878a98ce385b68587add2538a 11-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Push some casts into helper functions
/external/vulkan-validation-layers/layers/core_validation.cpp
f541bf53dee6daf82a4c8304354eac599a884d29 11-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Handle memory mapped prior to object binding

This adds initial support for memory that is updated via a MapMemory() call
prior to an object being bound. Initially any mapped allocation will just have
global_valid set for whole allocation. This value is then picked up by any
ranges made off of that allocation.

Really, we need to create new mapped regions and mark them valid, then make
sure that any overlapped objects pick up valid from mapped regions. This
requires more thought and design, though, so commiting this changes as a
simpler and incomplete initial fix.
/external/vulkan-validation-layers/layers/core_validation.cpp
cf17f50f6489504c0d8151c46d6f77404ce2ffff 11-Aug-2016 Tobin Ehlis <tobine@google.com> layers : Update memory valid to be per-range

We previously only tracked a single valid bool for an entire allocation.
That can easily get out of synch when multiple objects are bound to the
same allocation. This update moves the valid tracking to be per-range so
that it can be tracked on a per-object basis.

This does handle aliasing cases where various objects completely alias each
other, but there are still various aliased resource cases that aren't handled.
/external/vulkan-validation-layers/layers/core_validation.cpp
5360871dd546e8aa7c1a273e9036c201fe4e3ffb 10-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Refactor InsertMemoryRange

Work with local MEMORY_RANGE struct and insert to map at the end.
This avoids a loop pass and the awkward loop check of a range against itself.
Adds the slight complexity of storing aliases during loop and updating them
after the loop, but I prefer that to the alternative.
/external/vulkan-validation-layers/layers/core_validation.cpp
825446075d5f6c6b531754c0709bddd9dae8945f 08-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Update bound memory tracking and alias checking

Store all ranges bound to a single memory allocation in a single map indexed by object id.
Add two separate unordered_sets for independent image and vector processing.

Added a set of aliases to MEMORY_RANGE struct to hold any aliased ranges.
Insert aliased ranges at create time and remove the aliases when a range
is destroyed.

Have a single function, rangesInterset, to track if regions bound to a memory
allocation overlap, and if linear/non-linear overlap in violation of the spec.
/external/vulkan-validation-layers/layers/core_validation.cpp
59b0561b0bd298885f90b9f524c0583cd8ee6f61 11-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Refactor function names

Capitalize first letter of Validate[Image|Buffer]UsageFlags() functions
/external/vulkan-validation-layers/layers/core_validation.cpp
ff97b06aed7555ae043b3920bdfbd36b31498d89 11-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Fixes GH846 Use IMAGE_USAGE bits for images

Cut-and-paste bug. Various checks for images usage flags were being made
against BUFFER_USAGE enums instead of IMAGE_USAGE enums
/external/vulkan-validation-layers/layers/core_validation.cpp
7bd96b29f4b8df99339ff1f7bc64f2f8940f8d25 10-Aug-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH790, Validate queue family at submit-time

Command buffers must come from a command pool created with the same
queue family index as the queue they are submitted on.

Change-Id: Ifd1d73a09643c11852d807cb7edfc881827005dd
/external/vulkan-validation-layers/layers/core_validation.cpp
c74f9e8c7fe6b470f757da0c42367fe725fe0928 10-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Adjust color/input attachment layout checks style

For consistency with depth

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b05be7c81dfbaef10cf00e2cc1c3832026fde765 04-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Fix MapMem image layout validation

When mapping memory, check all of the bound image ranges and for any
that overlap with the map range, make sure that the image layout is
either PREINITIALIZED or GENERAL.
/external/vulkan-validation-layers/layers/core_validation.cpp
f57fc64ac43691ad98e1713886b345465573070a 04-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Rename validateMemRange()

This function is only used in MapMemory case so renamed to
ValidateMapMemRange() and added a header comment to make use
more clear.
/external/vulkan-validation-layers/layers/core_validation.cpp
de1d2592cdd497642de5b0e6f27ebc439018383b 04-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Rename DEVICE_MEM_INFO struct members

Update names from camelcase to lowercase w/ "_" as we're slowly migrating
to that uniform style
/external/vulkan-validation-layers/layers/core_validation.cpp
3f23941d5e6f60644471c149fb1b7171dfc0a02a 04-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Remove image member from DEVICE_MEM_INFO

The image member is broken and was superceded by objBindings which track
all objects bound to a single memory allocation.

This is also temporarily disabling a check for image layout when mapping
memory, but that check was broken and will be fixed in subsequent CL.
/external/vulkan-validation-layers/layers/core_validation.cpp
cfa128db908c2462aaf616950fb2fdb9d2f92bc1 08-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Account for read-only depthstencil attachments in ValidateLayout

The depth stencil attachment can be DEPTH_STENCIL_READ_ONLY_OPTIMAL.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
1af6125615cd6dd9735d32e2ee8684abeff28d41 19-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Remove duplicate framebuffer incompatible check

The existing DRAWSTATE_FRAMEBUFFER_INCOMPATIBLE check was a duplicate
of a check performed a few lines earlier in the validateFramebuffer()
function.
Update the check in that function to use the DRAWSTATE_FRAMEBUFFER_INCOMPATIBLE
enum and remove the duplicate check.
/external/vulkan-validation-layers/layers/core_validation.cpp
038f931c1696f3e96aeec0e3786b5a47acf908e1 05-Aug-2016 Mark Lobodzinski <mark@lunarg.com> layers: Reenable fix for DS layout transitions

Fix for GH650, plus added fix for cube/tri.

Change-Id: I66c2332c30eb34a0f022c033efd9b1c5b8284c32
/external/vulkan-validation-layers/layers/core_validation.cpp
bf843706a6bd06aa52726ac0f1e44659bbc971a9 04-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Disable previous fix for DS layout transitions

Fix to always transition both depth and stencil aspects for DS images
is causing errors on cube and tri. Disabling the fix and test for now
to avoid unwanted false positives.
/external/vulkan-validation-layers/layers/core_validation.cpp
915963fbb05941d3d457f62d6ef61d066b7d73a9 01-Aug-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH650, Fix D/S image layout validation

When an imageView of a depth/stencil image is used as a depth/stencil
framebuffer attachment, the aspectMask is ignored and both depth and
stencil image subresources are used. Validation was throwing errors
as only the specified aspectMask transition was tracked.

Change-Id: I4f45eec74040448ba3ed52b07268fab3b3cb9318
/external/vulkan-validation-layers/layers/core_validation.cpp
312129ec52e6249aa453e27e6be17a8dab1e98b8 03-Aug-2016 Tobin Ehlis <tobine@google.com> layers: Check vtx buffer binding

Need to check vtx buffer binding based on binding values set in
pVertexBindingDescriptions array if present.
/external/vulkan-validation-layers/layers/core_validation.cpp
d61de0e68063faa169a9a632f811c9c9adec9897 23-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Fix bug in cmd buffer framebuffer binding

If cmd buffers were freed via DestroyCommandPool, then the framebuffer links to the
individual cb_nodes were not getting cleared. Fix that issue.

This is initial, simple solution to avoid crash, need smarter solution long-term.
/external/vulkan-validation-layers/layers/core_validation.cpp
488514f7ca0a92f1d493e5da62ab697e65731854 01-Aug-2016 Chris Forbes <chrisforbes@google.com> layers: Fix #808 broken mapping of image types to view types

This was trying to be too clever, and was foiled by bad assumptions
about the enum order.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7d33205c3aa4aba751a2c07f956634aac616f916 24-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Add some TODOs for weird code that should go away

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
92266400d04f896c6a64669af4056d8774a34fbe 23-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Drop QUEUE_NODE::device

This was unused.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b0df98f4fa837a06691c1e3c05b4ed21c7e2d014 28-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Track valid dynamic scissor and viewport indices with masks

CmdSetViewport/CmdSetScissor were broken; they assumed the update
replaced all the viewports/scissors; further, the drawtime validation
was too aggressive -- nowhere does the spec require the number of valid
dynamic viewports/ dynamic scissors to be equal to the number used by
the PSO; just that all viewports/scissors used by the PSO must be
provided.

V2: Add more parens to quiet warnings in android build

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
2aa6e0c0e34095c0c84699f98172d05750a9c587 25-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Generate appropriate sets of requirement flags for OpTypeImage

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b2a61f3cd17c68887759817059fa1872f1e1464a 25-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Add plumbing for descriptor requirements

We want to be able to impose requirements on images & views bound to
descriptor sets based on their usage in the shader. This adds the
plumbing from pipelines into descriptor sets to enable that.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
d4ee9fdb2def1e9dc70c5627c9103e264471b8eb 22-Jul-2016 Michael Lentine <mlentine@google.com> layers: GH722 Add query function calls from secondary buffers.
/external/vulkan-validation-layers/layers/core_validation.cpp
a968f468c0aafdf33b7af68fb8e7961e37e32f7f 21-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Fix copy-paste "DEPTH" instead of "STENCIL"
/external/vulkan-validation-layers/layers/core_validation.cpp
c37c65e9ff3a0abc86e706ee61d21e1dec882731 20-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Fix image aspect checks

Previously validation required DS images to have both DEPTH and STENCIL
aspect bits set, but spec only requires that at least one is set.
Also, we weren't checking case of depth or stencil only formats, or
color format to make sure that correct aspect mask was set.
/external/vulkan-validation-layers/layers/core_validation.cpp
373469f006399d6b5204ee05db3b56beb168b36f 06-Jul-2016 Mark Young <marky@lunarg.com> layers : gh682 move gipa dispatch table init

Move the GIPA setup of the dispatch tables for layers into
the layer_init_device_dispatch_table call since we're already
doing a majority of it there. This removes the need to separately
setup the WSI extension entry-points.

Additionally, memset the table to 0, just to make sure anything
that gets added in the future is obvoiusly not set.

Change-Id: I63c7c107cd9f7957e2766fdbeb8a06bc1ae0eda6
/external/vulkan-validation-layers/layers/core_validation.cpp
12e3a5f6e672b103f705424595ffe3c4687492ce 21-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Check BUFFER_CREATE_SPARSE_BINDING_BIT for buffers
/external/vulkan-validation-layers/layers/core_validation.cpp
694002f8c182c84fc2b670f1cbb1a838119b1c14 20-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Refactor buffer/image validation functions

Add some consts and put fwd decls in core_validation_types.h so that these
can be used by descriptor_set class.
/external/vulkan-validation-layers/layers/core_validation.cpp
92bc0680357019834b7529148ab6d73353ce02c7 20-Jul-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix Windows build warning

Change-Id: Ic40ff6cb79882be92abbb2d8c02298962c73e46f
/external/vulkan-validation-layers/layers/core_validation.cpp
0dc3fd4e57b8531638781daa01a2fb5d1048a6fb 06-Jul-2016 Jamie Madill <jmadill@chromium.org> layers: Fix an MSVS error and a warning.

Fatal error C1017: invalid integer constant expression
warning C4389: '!=': signed/unsigned mismatch

Change-Id: I13e06f1578e47a0076241e1a344f4f05ae6d50c2
/external/vulkan-validation-layers/layers/core_validation.cpp
cefd4dd8e03c5dae11a05d04a03cb856190358e0 19-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Relax SC descriptor binding uniqueness to allow split variables

This allows the separate sampler & image variables case from 13.1.4 to
work correctly.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
67d9e049b7eb6a440707031b8eb7ddd21061e1ab 19-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Allow consuming COMBINED_IMAGE_SAMPLER as separate pieces

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
15a574466ede280b595c451ad52f2b7b18f20b2d 19-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Kill redundant DRAWSTATE_PUSH_CONSTANTS_ERROR case

This check was really an INVALID_PIPELINE check that is already
handled by object_tracker so killing it in core_validation.
/external/vulkan-validation-layers/layers/core_validation.cpp
833764b21e2893b6ea057fe211c220ec6a83d09c 18-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Replace INVALID_EVENT check with OBJECT_INUSE

If an event being destroyed is in use, the correct error enum to use
is DRAWSTATE_OBJECT_INUSE.
/external/vulkan-validation-layers/layers/core_validation.cpp
5c2563284eeaaa37c12558fd541e2416fe618a38 18-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Replace INVALID_SEMAPHORE with OBJECT_INUSE check

DRAWSTATE_INVALID_SEMAPHORE was bad name for what is really another
instance of DRAWSTATE_OBJECT_INUSE check. Updated the check to use
the new enum and removed the doc entry for the old check which is
no longer used.
/external/vulkan-validation-layers/layers/core_validation.cpp
de7672b6b749c09c5991bd8038b3a35ef82a69dc 18-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Remove DRAWSTATE_INVALID_POOL check

This check was only flagged when Allocating descriptor sets or resetting
a descriptor pool, and in both cases object_tracker will be the first layer
to identify and flag the error.

Removing this as a redundant check and updating documentation.
/external/vulkan-validation-layers/layers/core_validation.cpp
77c531defc2e8614acee0969b170cc2fa68f55d3 19-Jul-2016 Tobin Ehlis <tobine@google.com> layers: GH773 Check improper renderpass layout for only first use

Only verify that a LOAD_OP attachment does not have first layout of *READ_ONLY*
type on its first use. The spec language this is checking is from section
"7.1 Render Pass Creation" :

The first use of an attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
if the attachment specifies that the loadOp is VK_ATTACHMENT_LOAD_OP_CLEAR.

Previously we were checking this condition on all uses of an attachment
which would incorrectly flag errors on proper uses beyond the first use by
later subpasses.

Note that validation for CreateRenderPass has a fair amount of duplication and
still needs to be cleaned up to consolidate work that's currently being done
before and after the call down the chain. This is simply a singular bug fix.
/external/vulkan-validation-layers/layers/core_validation.cpp
06811df0256552cd7da9d7297672af377463fc4a 13-Jul-2016 Mark Mueller <markm@lunarg.com> layers: Fix minor completeness/performance issue

The first time the condition is discovered it will
be the same as every subsequent time, so there is
no need to continue. Also, the whole structure must
be compared, so memcmp assures that will happen
with good efficiency

Change-Id: I71f608c71f83ebcd02212bb391a30bdf15279ff6
/external/vulkan-validation-layers/layers/core_validation.cpp
6de3c6ffa0819ee37cd5cecee918b062145e2ff1 16-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Update clearValueCount check

The pClearValues array is indexed by the attachment index which
means that it must be at least as large as the last LOAD_OP_CLEAR
attachment in the renderpass. Updating this check to reflect this
requirement.
/external/vulkan-validation-layers/layers/core_validation.cpp
7165385f3a39f1f951f3a6a9a06ed2cce4642b6d 15-Jul-2016 Mark Lobodzinski <mark@lunarg.com> layers: PR767, Fix crash exiting smoketest

Commit a86b57c caused a Windows crash when shutting down smoketest.
Command buffer cleanup for object bindings wasn't happening when
calling DestroyCommandPool.

Change-Id: Ie233763e37ed9bc6988dddbf932aa3eda2960940
/external/vulkan-validation-layers/layers/core_validation.cpp
b3c2024e0ed61d7f68630d7eb7c8c03100689bb1 14-Jul-2016 Mark Lobodzinski <mark@lunarg.com> layers: LX555/GH663, Add BindXxxMemory validation

If the user neglected to call BindImageMemory or BindBufferMemory,
validation gave not indication of the failure which then results in
a driver or layer crash. This commit extends and generalizes the
checks done for CreateImageView and CreateBufferView to cover all
the bound memory checks for the 'recording commands in command
buffer' case in spec section 11.6

Change-Id: I3b4a3d130e9b6c242413fc0ad14c1624295b33b3
/external/vulkan-validation-layers/layers/core_validation.cpp
d71203a8c706f522fca32399d5459a031250b83c 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Handle binding between cmd buffer and query pools

For the CmdBind* functions that involve queryPool object, add a binding between
the cmd buffer and the queryPool.

In the event that a queryPool is destroyed, invalidate any bound cmd buffers
and make sure invalid reporting is handled correctly for query pools.

When a cmd buffer is destroyed that has query pool bindings, those bindings
will be cleared under existing object_binding cleanup in resetCB.
/external/vulkan-validation-layers/layers/core_validation.cpp
ad13b09db50a49347ea6a8c1408fcc5280042898 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Set cmd buffer invalid on event destroy

When an event is destroyed, set any cmd buffers that it was bound
to to the CB_INVALID state.

Also added getEventNode() helper and made use of it where appropriate.
/external/vulkan-validation-layers/layers/core_validation.cpp
e1a3be272f365a7d75f9cc1338d2eebafbf1e6cd 13-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Rework Destroy/Free data structure cleanup

When destroying dispatchable objects we must cleanup internal data
structures prior to calling down the chain in the event that another
thread were to prempt execution and re-allocate a freed handle prior
to the layer cleanup code executing.

For non-dispatchable handles this shouldn't be a requirement due to
the fact that layers only see unique handles. However, moved some
non-dispatchable cleanup before the call to ICD as well for consistency
and to be extra safe.
/external/vulkan-validation-layers/layers/core_validation.cpp
e9941022f1933b7300a4a7f52187dba446aca7a9 13-Jul-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix core_validation Win32 build

Change-Id: Ib15d5c6fad234c0d657b59613293f38d28969697
/external/vulkan-validation-layers/layers/core_validation.cpp
a86b57cf1145ee63d5997547ac0f9847933fc3b6 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Add binding between cmd buffer and pipeline

Track all pipelines bound to a cmd buffer and if any of them are destroyed
set the cmd buffer as invalid.
/external/vulkan-validation-layers/layers/core_validation.cpp
ccdcc9686c664e9407dd03262f3aaf3245b23be2 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Handle binding between cmd buffer and query pools

For the CmdBind* functions that involve queryPool object, add a binding between
the cmd buffer and the queryPool.

In the event that a queryPool is destroyed, invalidate any bound cmd buffers
and make sure invalid reporting is handled correctly for query pools.

When a cmd buffer is destroyed that has query pool bindings, those bindings
will be cleared under existing object_binding cleanup in resetCB.
/external/vulkan-validation-layers/layers/core_validation.cpp
9822fe9cda4c97bfa374f680fa90419e0f82580e 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Add addCommandBufferBinding() utility function

Created addCommandBufferBinding() utility function that creates a link between the
cb_binding data struct of an object and the object_binding data struct of the cmd
buffer.

Currently updated events to use this utility function, but will expand to other
object types in the future.
/external/vulkan-validation-layers/layers/core_validation.cpp
9556936067fd0c4eb74c4a13631bc163b154faed 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Set cmd buffer invalid on event destroy

When an event is destroyed, set any cmd buffers that it was bound
to to the CB_INVALID state.

Also added getEventNode() helper and made use of it where appropriate.
/external/vulkan-validation-layers/layers/core_validation.cpp
ba4316045bf5f1054629bb7c2fced7bae98ed52a 07-Jul-2016 Mark Mueller <markm@lunarg.com> layers: GH422 Support addition of Buffer Validation Tests

Remove dead code by getting rid of deleteMemObjInfo function,
add check for freeMemObjInfo failure, and fix an incorrect
validation test

Change-Id: Ie84d16883abfb6d4d41b06d6fa210c7011861ecd
/external/vulkan-validation-layers/layers/core_validation.cpp
74243a735fe102b370237ddf80d3e6f7ec5246db 11-Jul-2016 Mark Mueller <markm@lunarg.com> layers: Added return check for freeMemObjInfo call

In FreeMemory, the return value of freeMemObjInfo was
being ignored, which incorrectly allowed calls which
failed validation to still be passed to lower levels.
This change corrects that.

Change-Id: Iddbffad22f9502061441e961daef2e7fa26a5fcf
/external/vulkan-validation-layers/layers/core_validation.cpp
64d375f52e2011964e196710ca78b0d4d68b20d0 08-Jul-2016 Dustin Graves <dustin@lunarg.com> layers: Fix WIN32 build

Fix a uint64_t to VkImage reinterpret_cast for 32-bit VS2013. I
Missed this when reviewing the previous change.

Change-Id: I4a0865ab546b45792b8f4d841f6c6c04ff22501b
/external/vulkan-validation-layers/layers/core_validation.cpp
bf66bca5d96f2721897c5f3100da2df741da9add 08-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Remove cb_bindings when CB is reset

When a CB is reset (or freed) make sure to remove it from any image/buffer
cb_bindings that it was tied to.
/external/vulkan-validation-layers/layers/core_validation.cpp
e28cddb35c63274c13873b9a7060ad43b255c6f1 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Hold lock during pipelineLayoutMap.erase()
/external/vulkan-validation-layers/layers/core_validation.cpp
6792ea7cc0ce5fa64b7bd6c946460608cbda91c7 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Remove entries from pipelineLayoutMap

When VkPipelineLayout objects are destroyed, remove their corresponding
map entries.
/external/vulkan-validation-layers/layers/core_validation.cpp
69b71d9c89447ec87d823669ee9edbfc58af174a 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Update layout compatibility to use stored state

When checking VkPipelineLayout compatibility, it's possible that the
VkPipelineLayout handle that was bound may have been subsequently deleted.

To account for this, store the PIPELINE_LAYOUT_NODE at bind time and
use that to do the compatibility check.
/external/vulkan-validation-layers/layers/core_validation.cpp
416bfef833408786b4a17f725b0ed6480bc65120 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Rename vars

Migrate PIPELINE_LAYOUT_NODE members from camelcase.
/external/vulkan-validation-layers/layers/core_validation.cpp
9b5d124aff50234cb0450e1b805baef577c90d83 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Simplify PIPELINE_LAYOUT_NODE

Just use setLayout vector and kill duplicate descriptorSetLayout vector.
/external/vulkan-validation-layers/layers/core_validation.cpp
c8268861aaa8f9c47920065d6323e4609e5081b0 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Store PIPELINE_LAYOUT_NODE directly in PIPELINE_NODE

The layout and its associated node may be deleted after pipeline is
created so store a copy of the PIPELINE_LAYOUT_NODE in the
PIPELINE_NODE to make sure data is available when it's needed.
/external/vulkan-validation-layers/layers/core_validation.cpp
2e0eca3d6fad72a29ae072e3895e29a2d2d66476 07-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Rename pipelineLayout to pipeline_layout
/external/vulkan-validation-layers/layers/core_validation.cpp
07b081bc51bf0151b7d2074967b948c02961c166 06-Jul-2016 Tobin Ehlis <tobine@google.com> layers: GH689 Disable perf warning for linear tiled textures

Linear tiled textures should use GENERAL layout so perf warning doesn't apply.
/external/vulkan-validation-layers/layers/core_validation.cpp
27e2917587adf1738c71851a128806f7de578cbe 06-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Minor refactor to save duplicate look-ups

Pass layer_data* and GLOBAL_CB_NODE* to Verify[Dest|Source]ImageLayout() to avoid
a second look-up of the same data.
/external/vulkan-validation-layers/layers/core_validation.cpp
1730e0dd28b3abc660b4e4704cf6d414f7fd4ad6 05-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Fix handling of component qualifier on VS inputs

Interface matcher assumed no location aliasing, but this is allowed.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f5a3404bbab5232ae72000a4649ff9f7d89c7ad0 06-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Migrate to validateImageUsageFlags function

At ImageView creation time use validateImageUsageFlags function that avoids an
additional look-up for IMAGE_NODE. Kill previous validate_image_usage_flags()
function.
/external/vulkan-validation-layers/layers/core_validation.cpp
cf64d39a58d4903515232a17eea47ff3ed82faad 29-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Remove validate_buffer_usage_flags() function

Replaced with validateBufferUsageFlags()
/external/vulkan-validation-layers/layers/core_validation.cpp
5a758b24bbcdad37a5ccf41c3581c289acf11c2d 29-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Invalidate Cmd Buffers on DestroyBuffer

When buffer is destroyed, any command buffers that it's bound to must
be invalidated.
/external/vulkan-validation-layers/layers/core_validation.cpp
99df1a43113407af9ddb0aa2322fb99d9f59e5c2 29-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Invalidate Cmd Buffers on DestroyImage

When image is destroyed, any command buffers that it's bound to must
be invalidated. Also clean-up DestroyImage() a bit.
/external/vulkan-validation-layers/layers/core_validation.cpp
249eb117f85f5e0f3f3a83a2bf297893e0d054ce 28-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add binding between images and cmd buffer

For cmds that use images, update cb_bindings to tie image to cmd
buffer. This will be used to track invalid cmd buffers due to
destroying images.

The function structure here is the same but I've updated all of the
calls to use mem bindings from IMAGE_NODE with a single call rather
than the old two-call mechanism.

The assumption is that parameter_checker should be above
core_validation so I haven't replicated a bunch of its checks in the
case of invalid objects. I've added some asserts as a last line of
defense to make debugging invalid object issues in core_validation
simpler, but if running with full validation stack and responding to
validation errors from parameter_checker, then the asserts should
never be hit.
/external/vulkan-validation-layers/layers/core_validation.cpp
29e9a148072b1015633a102470f0cf706a9e2e55 28-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add image to IMAGE_NODE

Store image inside the image ptr so that once node is looked-up
all relevent data is available when just node ptr is passed around.
/external/vulkan-validation-layers/layers/core_validation.cpp
ebc92c86f5a63df6ab4d325f83d385b23c11bf5e 28-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add binding between buffer and cmd buffer

Updated call mechanism to create binding between a VkBuffer
and a VkCommandBuffer so that it occurs in a single call.
Removed old mem_tracker mechanism for looking up memory from
a buffer and just use mem in BUFFER_NODE instead.
Also simplified call to check valid buffer use flags in order
to avoid a redundant map look-up.

Will make similar changes for images next.
/external/vulkan-validation-layers/layers/core_validation.cpp
83b40cb743b7d87753e7503b148fef660ca45289 28-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Bulk rename skipCall -> skip_call

Trying to migrate to consistent lowercase variable naming and
skip_call was different all over the place to unifying in a
single commit.
/external/vulkan-validation-layers/layers/core_validation.cpp
d9da90d92748c37962766868f8b0354637672c2a 01-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Skip UNUSED attachments in pColorAttachments array
/external/vulkan-validation-layers/layers/core_validation.cpp
a092085c225bbc24edb29cd34ca6b30889f7e111 30-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Use VkRenderPassCreateInfo to check compatibility

Make the two renderpass compatibility functions only use VkRenderPassCreateInfo.
At the call site, check renderPass handles and if they don't match, proceed to
call the compatibility function with valid VkRenderPassCreateInfo.

Note that saved renderPass handles are valid at the call site, as they are
stored in framebuffer, command buffer, or pipeline state. However it's possible
that renderPass itself was destroyed, so VkRenderPassCreateInfo is pulled from
the framebuffer or pipeline state in those cases.
/external/vulkan-validation-layers/layers/core_validation.cpp
8da1edac0fbed13831b2f458f27c51e64d6210ff 27-Jun-2016 Tobin Ehlis <tobine@google.com> layers: GH690 Save renderPass create info in PSO

The renderPass that a pipeline is created with may be destroyed before
the pipeline is used in a draw. In order to make sure that the renderPass
data will live as long as the pipeline, save the VkRenderPassCreateInfo
using a safe_VkRenderPassCreateInfo in the PIPELINE_NODE struct.
/external/vulkan-validation-layers/layers/core_validation.cpp
8c07a094dc9cc4afb6b62181f341c12b9e969041 30-May-2016 Mark Young <marky@lunarg.com> layers: gh376 Verify memory on vkCreateXXXView

Verify that a vkImage has memory bound to it when
vkCreateImageView is called. Likewise, verify vkBuffer
memory at vkCreateBufferView time.

Also, add tests to vk_layer_validation_tests:
CreateBufferViewNoMemoryBoundToBuffer and
CreateImageViewNoMemoryBoundToImage.

Change-Id: If0cf1c972f721e5596f7b8a1c7652f6165401b2c
/external/vulkan-validation-layers/layers/core_validation.cpp
0c6dd4dd7c7e444efc979299f8f445fb4fc4febe 01-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Use backing memory size rather than buffer size in barrier

Fixes #648.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4bf66272b011176416dd42e726decd70d5a02fa2 01-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Track backing memory offset & size for buffers

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
1346aaa1c01e5e9cf5b542d3e6312729e5f759d7 01-Jul-2016 Tobin Ehlis <tobine@google.com> layers: Remove unused var to fix android build
/external/vulkan-validation-layers/layers/core_validation.cpp
dc7c45f01ae5690f7c969b4760463c1a6bac52d5 01-Jul-2016 Chris Forbes <chrisforbes@google.com> Tweaks for review feedback

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
76957dd352738b7ceec82c38be8b1b1347a90040 29-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Simplify draw-time subpass sample count handling

Renderpass creation has already failed for any cases that would hit this
logic.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
805ec497391f6bc513f7653ba6d535c509b54062 29-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Require subpass attachments' sample counts to be consistent

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6a3bc5f071fe21799f0f7ae844716c333f11f39c 29-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Add validation for subpass multisample resolve rules

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
628f0e370a17207a87d2632616fc8ca27e7ac80c 30-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Make TransitionSubpassLayouts work with VK_ATTACHMENT_UNUSED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
93fe72ec8460857bdb3c101095e6eb96d6171341 01-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Fix crash in ValidateDependencies with VK_ATTACHMENT_UNUSED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0ad39e0de2f23ebec8c8ffbf6b54754ebf5ae9a7 01-Jul-2016 Chris Forbes <chrisforbes@google.com> layers: Fix crash in ValidateLayouts with VK_ATTACHMENT_UNUSED

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ea0f86230ff5c52f805ac831a1ed5a92bd123368 30-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Apply subpass 0 layout transitions at CmdBeginRenderPass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c83d821f524b75cbcfa5e8b661a3a605ea221b92 29-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix render pass begin handling of initial layout

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0a7ed0466d3d3c6c71be07d66c200482d9a9d073 29-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Don't produce spurious validation errors for sample count

Previously we would emit a spurious validation error if the only
color or depth attachment references were VK_ATTACHMENT_UNUSED.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
825ac70f99460ccb9494d34f93d8ee7ec303e5de 29-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Take care of DevLimits cleanup items

Added some simplifying make_unique() calls, changed param_validation
Log_msg calls to use LayerName var, added variable init to
constructor, and fixed some c-style casts.

Change-Id: I718e0d51b62a4b91a4c9b3645ff796d114a4432f
/external/vulkan-validation-layers/layers/core_validation.cpp
838e3917bc1a0479174dd753b5c28b8b2cf1954d 28-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Move QueueFamilyProp Query checks into CV

Migrate CreateDevice-time QFP checks from device limits into
core_validation, fix up CV error enums.

Change-Id: I36458fd9f7666324faf69373dc581655a580a7f3
/external/vulkan-validation-layers/layers/core_validation.cpp
cd569b3559a7f8dca06012165480a4e6d7e6c492 28-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Add GetPhysDevQueueFamilyProps to CV

Added API, devlimits checks for this API, and did some renaming.

Change-Id: Ie27e8f5bd61f711b5c2121533ef92dd833678ee3
/external/vulkan-validation-layers/layers/core_validation.cpp
f83fcc51d156b056966509bfe4d05c9ccb37ce5d 28-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Add EnumeratePhysicalDevices to CV

Change-Id: Ib7a635c4f0e42560198cdb208ce310b09648aca4
/external/vulkan-validation-layers/layers/core_validation.cpp
b51f48f9e79665e20830097dd9c6434bac68de34 27-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Move phys dev call state structs to CV

Change-Id: I92faf07ea2e47d2013bb206e04de26081049f79f
/external/vulkan-validation-layers/layers/core_validation.cpp
e1cc7cf9e8a7808209ecc45df2421f3a494daccc 25-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Unify invalid command buffer handling

Created a single vector to track any cmd buffer dependencies that are destroyed
and thereby cause the cmd buffer to become invalid. Currently just tracking
the previous object types of descriptor sets and framebuffers, but will update
the tracking to include all cmd buffer dependencies in future commits.
/external/vulkan-validation-layers/layers/core_validation.cpp
b6fe8da9537ef985960fd1d32b83c952b422f00b 24-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Update cb_bindings to hold CB_NODE ptr

Store GLOBAL_CB_NODE ptr in cb_bindings to avoid additional look-ups.
/external/vulkan-validation-layers/layers/core_validation.cpp
d9369e5a41f95b7bd1670240d441dbed58bc36fb 24-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Refactor framebuffer look-up

Make better use of getFramebuffer() and add framebuffer member to FRAMEBUFFER_NODE.
/external/vulkan-validation-layers/layers/core_validation.cpp
66fc859fec446680d32b60d98748dd237079190b 24-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Make FB node inherit from BASE_NODE

Update FB_NODE to use cb_binding from BASE_NODE. Making this the common
way to track command buffers that objects are bound to.
/external/vulkan-validation-layers/layers/core_validation.cpp
9f229695cf32913dab3fb75e5d52548ea57b3851 24-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Refactor command buffer look-up

Increase use of getCBNode() helper function.
/external/vulkan-validation-layers/layers/core_validation.cpp
caf05e0db4959ae196ab34b024f352d9c0326870 24-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Refactor image/buffer memory fetch

Kill get_mem_binding_from_object() and replace with getImageMemory() and getBufferMemory().
Those functions then both call a shared function to retrieve memory bindings from appropriate
underlying vulkan object. This is still early in the refactor and I hope to simplify these
further.
/external/vulkan-validation-layers/layers/core_validation.cpp
b5e51047540e12567fbf674b23fe75ca86ca0371 24-Jun-2016 Tobin Ehlis <tobine@google.com> layers: BUFFER_NODE clean-up

Initial work to prepare for larger overhaul of BUFFER_NODE as well
as unifying INVALID_CB treatment.

This adds cb_bindings set to BASE_NODE which will be used to track
command buffers that objects are bound to in order to flag them as
INVALID if objects are deleted while CB are still valid.

Initially making use of this with BUFFER_NODE, but it will move to
all objects that can be bound to command buffers.

Also, use getBufferNode() utility in DestroyBuffer() and add buffer
to BUFFER_NODE so it can be used for erasing node from map.
/external/vulkan-validation-layers/layers/core_validation.cpp
a2d08a743ac1178e4d46da4d41c73fb73b5e79d7 23-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Inline away markCommandBuffersInFlight

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a9a689bef49d3e7e4c3e814099009f6bf2747ddf 22-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: More use of getFenceNode / getQueueNode helpers

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
da8f07baf262972eb3e719fa07b073c180dff157 22-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Make CB_SUBMISSION 1:1 with VkSubmitInfo

This gets rid of a bunch of weirdness where submission with no command
buffers (sema/fence only) would get mistracked, and cuts down on
resource counting churn.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
01a48e41895b3951b297ff4245eff8f9c129ae20 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Clean up around semaphore flagging

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ff6101de02d1677fb54962e2ff57875e76898e26 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Slightly simplify logic in CreateRenderPass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7bed8723272ee4550abc3d8691633e7a40a6271f 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: misc minor tidying

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
1ec6311a8537f4467db08eacbd762ebaa87e70b0 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix locking in ResetCommandPool

This got broken when some code moved around

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
090da73358f71ba026e2474a822fecf55267d166 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix ResetFences validation vs update

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
cd9a648074f67a1d44c15a056b90fc66da8ead17 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix remaining direct uses of commandPoolMap

These would get us in trouble if the pool wasn't in the map.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c05d773a018aa47e89841533a6968d9e5b314038 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Untangle check & update in FreeCommandBuffers

Fixes crash later in new test case

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a01b5eb150981aad061238e64b173d0da8c11140 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Untangle check from update around pool reset/destroy.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
8d6a38de0389036581ada119e548180c614fe0ef 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Move CMD_POOL_INFO to header, rename, add helper

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a964cad279f9749cd9ebfc7555247ff3bff26d53 20-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Split check from clear of CB global inflight state

Tiny step toward untangling crashes after FreeCommandBuffers.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
76f04ca0e692f9f15d5ef7e0c658c24d11f34ebc 23-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Clean up frameBufferMap unique_ptr use

Create local unique_ptr to FRAMEBUFFER_NODE and update that prior
to map insertion. Then move it directly into map in order to avoid
two map accesses.
/external/vulkan-validation-layers/layers/core_validation.cpp
6fb721e0f21c85d4457561d17c196280601cebc1 23-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add Framebuffer dimension limits check

Make sure that requested framebuffer dimensions do not exceed the
underlying device limits.
/external/vulkan-validation-layers/layers/core_validation.cpp
da5b8b1df2368168be93e563eccdb500d62b97a5 23-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add FB attachment swizzle check

When creating a framebuffer, verify that all attachments were
created with the identity swizzle. This is a valid usage
restriction for vkCreateFramebuffer()
/external/vulkan-validation-layers/layers/core_validation.cpp
aac6fea2aeb81a0d354d80a9226bdc5de2aef5e2 23-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add Framebuffer dimensions check

When creating a framebuffer, make sure that the dimensions for the
attachments are at least as big as the framebuffer dimensions.
/external/vulkan-validation-layers/layers/core_validation.cpp
f405f07b742ec0be9f68e833b82c534fb28d1f5e 23-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add INVALID_FRAMEBUFFER_CREATE_INFO error

Added new error enum DRAWSTATE_INVALID_FRAMEBUFFER_CREATE_INFO
and added initial check with this enum type that flags and error
if framebuffer attachment has non-1 mip levelCount.
/external/vulkan-validation-layers/layers/core_validation.cpp
41ebcb6b517b1de5ae456d46d866f5e84a96a2c5 22-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add sample count check at CreateFramebuffer time

When creating a framebuffer make sure that samples for its attachments
match samples for corresponding renderpass attachments. This is a
valid usage requirement for CreateFramebuffer.

Also need to store swapchain images with default samples value of
VK_SAMPLE_COUNT_1_BIT to avoid false errors.
/external/vulkan-validation-layers/layers/core_validation.cpp
5ef4ed03801d1456b7c30dd59ea014be126df771 22-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add format check between renderpass and framebuffer

Verify that corresponding attachment formats match between a framebuffer
and the renderpass it is being created with.

This is a valid usage requirement for vkCreateFramebuffer()
/external/vulkan-validation-layers/layers/core_validation.cpp
d73d9c5ffd42f300d3ec49f64910a2b370694186 22-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add framebuffer attachmentCount check

Verify that attachmentCount for a framebuffer matches the
attachmentCount for the renderPass that framebuffer is being
created with.
/external/vulkan-validation-layers/layers/core_validation.cpp
54e0bb0ace13cc34255e0dc9ca6b0da2b4ac5be1 22-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Refactor CreateFramebuffer

Migrate post-call CreateFramebuffer code into PostCallRecord* function.
/external/vulkan-validation-layers/layers/core_validation.cpp
64c259c2660d24b5b032f0cfa668de086dcd7eb4 22-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Refactor CreateFramebuffer

Migrate validation code to PreCall* function.
/external/vulkan-validation-layers/layers/core_validation.cpp
04861caca7eb93a5241b164e8480bb93c826902c 22-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Clean up frameBuffer map

Update frameBufferMap to store unique ptrs and kill a new/delete.
Add safe_ structs to FRAMEBUFFER_NODE for frameBuffer and renderPass
create info structs in order to correctly shadow the whole struct.
/external/vulkan-validation-layers/layers/core_validation.cpp
8168af0c4c5b12708d5ddbeb6ce513207d01f0e4 21-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix CmdBeginRenderPass after non-inline renderpass in same CB

Fixes #667.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a49b8a211ce07e7fa2225d23f8cb11f1055b418a 21-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH669, Fix clearValueCount errors

Validation was assuming LOAD_OP_CLEAR for some attachments resulting
in bad validation messages.

Change-Id: I8ff75ca63f591e3002b1ee2b61a6844d0cf1c07d
/external/vulkan-validation-layers/layers/core_validation.cpp
5ca3c071afc98f9144f489b74aa3affaa93633b0 21-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix Windows crash in Dota2

In core_validation attachment_references_compatible(), having array
elements set to VK_ATTACHMENT_UNUSED was not handled resulting in
invalid memory references.

Change-Id: If78aea1467d191db905272bece16cc9f56643136
/external/vulkan-validation-layers/layers/core_validation.cpp
c8592f1e93c022be0574cb2310965bd8bcb0271e 16-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of fence->swapchain link

Nothing used this after rationalizing the state tracking.

Change-Id: I67cc267336b5d64bea9645a8e0a072885db58c26
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6c87c6a8acda49a6406192a1b634e9bf060bd6fd 16-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Untangle validate+update in QueuePresentKHR

Change-Id: I8f719c6e57cbab836b90f30414e6494a0643580e
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f91af4dfe0646cf509616910a8ec2d72c423ccda 15-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix AcquireNextImageKHR handling of sync objects

Change-Id: I3e5a5d08763c0bf26c6c69aecf4bcef17d055a48
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
5e92f3cfdca6a52a3dcefd053c41f728bd036ceb 15-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Add getSemaphoreNode helper

Change-Id: Iceda3b28474e289189ef1f97b271f9e9bb7b2083
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
cdb1ea0ff0d966dda02543468377eae93b9e2f8f 16-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Rework fence state tracking

Instead of having a combination of firstTimeFlag, in_use, and
needsSignaled, let's just have an enum with the three states a fence can
actually be in.

Change-Id: I6a40cd709717c75740c9977b149c4f71a02a27ab
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
df1846b33487b02061c0ff42d768588a9abeb6c7 15-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Tidy decrementResources a bit

Change-Id: Ib8f9a917115323d8d43b971593b213ff04138a35
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
accf816d3b205bb36a9a32ed8c278e45e8e0d188 15-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: use getFenceNode in decrementResources

Change-Id: I8351405299f2f109489fdddfc111412164aded77
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
49f6132af865afd5b7f413c91125971ac97c135a 15-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Pass layer_data to verifyWaitFenceState

Change-Id: Id3e0f09254197119b821710f0e9ce27d3458afc9
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
9b48b44dd917f95b5f34dd629ec4076fc87eb3a2 15-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: use getFenceNode in verifyWaitFenceState

Change-Id: I46f4ef4c225e199c0415507bd19dc4ffc98a77bc
Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e62f2e46eeffde494c0d734964b389c09dec9d64 10-Jun-2016 Tobin Ehlis <tobine@ad.corp.google.com> layers: Add bug fix to handle NULL attachment case

Correctly handle null resolve attachment case. When verifying attachment
compatibility, matching null resolves is ok.
/external/vulkan-validation-layers/layers/core_validation.cpp
528f623d935b0ab102a2f9c1c82787a8810ca360 07-Jun-2016 Tobin Ehlis <tobine@ad.corp.google.com> layers: Add PSO render pass compability check

At draw time, the active render pass must be compatible with the render
pass that the gfx pipeline was created with.
/external/vulkan-validation-layers/layers/core_validation.cpp
4f76794409854faf16dd51f37d5fa21dff1c5d44 17-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH656, Fix CreateRenderpass validation

In the core_validation layer, much of the validation was occurring
AFTER the API call had been made. Separated validation and tracking.

Change-Id: I6f8502d52dd2861a18254de48141a3736ced257f
/external/vulkan-validation-layers/layers/core_validation.cpp
1a65650f856376768d7b03ea2d080aaff87cacfd 10-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH401, Break out stencil load/storeOp check

Stencil attachment load/storeOp settings were being ignored. Added
format appropriate checks for these flags.

Change-Id: I6a917fc8a28cbb0d0441152e8d6630defb1b81e3
/external/vulkan-validation-layers/layers/core_validation.cpp
6600a7662f6dac6a8c8622a8305f02625439bf30 16-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: GH576, Validate attachment image usage

Framebuffer attachment images are created with IMAGE_USAGE flags. These
flags are now validated against their attachment location in subpass
description structures. Also added a check for a preserve attachment
being set to UNUSED and fixed a few typos in the attachment index
checking stuff.

Change-Id: Id62d3539c490ce8f381d7ae606402980f11946fa
/external/vulkan-validation-layers/layers/core_validation.cpp
4261f1e2c91c90ce040ab36a13c9d92f6e988f10 14-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: LX539, Validate mem types

Bind[Image|Buffer]Memory did not validate that the memoryPropertyType
matched the memory_requirements memory type flags for the buffer
or image.

Change-Id: I7007588d78408689c34df66a17cc9201a37569b1
/external/vulkan-validation-layers/layers/core_validation.cpp
c7e6bc41aa9c6e5a677b138b9459b252cd3bedf2 14-Jun-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix Windows Dota2 crash

One of the event tracking lists was not getting cleared upon a reset,
resulting in an invalid reference on reuse.

Change-Id: I45d932822f27197266b363634d6cdccc785209d3
/external/vulkan-validation-layers/layers/core_validation.cpp
d7d60cccc862fee2d0b3ad410c5fdcc40ddc83ae 12-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix test fallout in CommandBufferTwoSubmits

This test was accidentally triggering the fence reuse case as well, and
blindly continuing past that error. It doesn't need to use the fence at
all, so don't supply one.

Also tweak the layer to not run into the assert if the caller elected to
skip -- QueueSubmit still has validation and updates tangled together,
but this improves it slightly.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
651d92815dfff917308137bb67aacccc4f60df86 10-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Fix mistracking of semaphores associated with submissions

When a command buffer is simultaneously inflight multiple times, each
can have different semaphores associated. Storing the set of semaphores
on the GLOBAL_CB_NODE caused us to get confused and emit bogus errors.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4b5d5254c68655201f38090ea6e8ff83700d3604 10-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Note broken behavior around stealing tracking from other queues

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
8988ad37ea5a054ff2ae3cbe4b767ae6c13cf48b 10-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Add members to FENCE_NODE and QUEUE_NODE to hold the handles

We'd like to be able to get back to them from the tracking struct.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
66fb98d19a758f79dd11ba354e47d0c66c6aac1e 10-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Add helpers for getting fence and queue nodes

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
81c4a32a622486043c15e427fb0e85cc1cf7dd47 10-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: Unify fence checks for queue functions

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
77bbc6b0ca34e6a944761b24f5588eae17a199b7 07-Jun-2016 Chris Forbes <chrisforbes@google.com> layers: remove tracking of last queue and fence for CB

Unused.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7655cb8b5eb52badee0b011729a05afa36316d69 08-Jun-2016 Jan-Harald Fredriksen <jan-harald.fredriksen@arm.com> layers: PR629, Remove subpass warnings

The validation layer checks for dependency between subpasses using the
same attachments, but it also issues warnings if there are "only"
implicit dependencies between two subpasses. This is explicitly
allowed by the spec and should not cause validation warnings.

Change-Id: I1039955d6d445e1ee234116c6da2e4dbaf9c7dd9
/external/vulkan-validation-layers/layers/core_validation.cpp
293ecfc5e69ed3978a8c04518166d828294870a4 06-Jun-2016 Tony Barbour <tony@LunarG.com> layers: Initialize write_in_use in eventMap entries

Change-Id: Ic296788beb078f19a35b93b99df5dbf677c95122
/external/vulkan-validation-layers/layers/core_validation.cpp
c34ab18ac7c064590a1020a8db4b6abf5a8d3a18 19-May-2016 Mark Lobodzinski <mark@lunarg.com> layers: Add default layer error message config

Allows layers to output error messages even if no vk_layer_settings.txt
config file is present. Sets defaults to LOG_MSG, error, stdout.
A layer settings file will override any default values. If no settings
file is present and an app creates a debug callback, the default
callbacks will be removed and unregistered.

Change-Id: I49f37189665816df58c258b9e9629f2bf76751c8
/external/vulkan-validation-layers/layers/core_validation.cpp
e3f7c45fd64a44a67ce96c89e2bbee426c6ecf24 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Clean up poolMap access

Remove some unneeded passing of poolMap around and use getPoolNode()
function in DescriptorSet class.
/external/vulkan-validation-layers/layers/core_validation.cpp
a682b1c533d9a492243b363c6585c4f03bcd87aa 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Remove unneccessary consts
/external/vulkan-validation-layers/layers/core_validation.cpp
3f687bf405355f3eec6bd1bc0e8d04daba37a0f9 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Update swapchainMap to use unique_ptr
/external/vulkan-validation-layers/layers/core_validation.cpp
b110cb87b9478586719d7f7dc769b350857366ba 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Added getSwapchainNode() helper

Added getSwapchainNode() helper to core_validation and update
DescriptorSet class to use it.
/external/vulkan-validation-layers/layers/core_validation.cpp
170dc65b45f6bcdec47e02b3aa19435e55b32804 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add getSwapchainFromImage() helper

Add getSwapchainFromImage() to core_validation and use it from
DescriptorSet class.
/external/vulkan-validation-layers/layers/core_validation.cpp
5f5aad3ea9e850c28720eac312d100209956cdee 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Remove unneeded layout_map
/external/vulkan-validation-layers/layers/core_validation.cpp
6d1373829eded68f6e080ff2c33e03231360ed57 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add getImageNode() helper

Add getImageNode() helper to core_validation and use it.
Also update DescriptorSet class to use the helper and kill
its image_map member.
/external/vulkan-validation-layers/layers/core_validation.cpp
2c59c1d90b22aa759d785e4233e468616990ff92 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add getImageViewData() helper

Switch imageViewMap to store unique_ptrs. Add getImageViewDate() helper
to core_validation and update DescriptorSet to use it.
/external/vulkan-validation-layers/layers/core_validation.cpp
9a55ca3674bb3fac3fbdfca9515a16a224aa9055 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add getSamplerNode() helper

Kill sampler_map_ in DescriptorSet and add getSamplerNode() helper
and use it instead.
/external/vulkan-validation-layers/layers/core_validation.cpp
2f2db584f5d79892bd84d0a24b8ca3499985a5c2 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add getBufferViewInfo() helper

Add helper function to core_validation for bufferViewMap look-ups
and use the helper in DescriptorSet class.
/external/vulkan-validation-layers/layers/core_validation.cpp
57fc8e28c2e16118f9827e3ae1b107a27e0451a2 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Update getMemObjInfo helper

Standardize core_validation use of getMemObjInfo() and update
DescriptorSet class to use it as well.
/external/vulkan-validation-layers/layers/core_validation.cpp
8718070cf3e206488c168f1e6b9dd06d6880c9bc 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Add getBufferNode() helper

Move core_validation bufferMap to use unique_ptr to BUFFER_NODE.
Perform bufferMap look-ups using getBufferNode() helper function.
Update DescriptorSet class to use getBufferNode() helper and store
layer_data instead of bufferMap.
/external/vulkan-validation-layers/layers/core_validation.cpp
104ab082916e41467ef60baaab7a5a8b2e02c59c 02-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Make layer_data visible to DescriptorSet

This is the start of migrating core_validation::layer_data to be
visible in DescriptorSet class.
DescriptorSet class can't see the contents of layer_data, so it also
needs the get<Object>() helper functions to look up items from the
maps. This first change only brings along getSetNode() utility
function so only set_map references can be removed.

Will add follow-on CLs to remove more maps from DescriptorSet class
and bring in more utility functions.
/external/vulkan-validation-layers/layers/core_validation.cpp
789832b514862c7a7b5b847eeb8e7cacb733b77b 01-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Comment update

The behavior of the PreCallValidateAllocateDescriptorSets slightly
changed so updating comment accordingly.
/external/vulkan-validation-layers/layers/core_validation.cpp
7f61868b44f1da1dfa6a4ff726020411db92ce0d 01-Jun-2016 Tobin Ehlis <tobine@google.com> layers: Pass common data between pre/post AllocDescriptorSets

With the break between PreValidate* and PostRecord* calls in the layers
we can suffer having to do some repeat work in the Post step. In order
to prevent this, this CL slightly modifies the interface to pass common
data between the pre/post calls in a custom AllocateDescriptorSetsData
struct.

I initially attempted to fill this data in a separate function that
would preceed the PreValidate* call, but such a function would need to
include some validation as it includes map checks which may fail.
The simplest solution, then, seems to be passing a ptr to the common
data to the PreValidate* function who then fills the data. If the
validation and call down the chain succeed, the PostRecord* function
then takes a ptr to the common data to prevent having to redo the
work that was done at validation time.
/external/vulkan-validation-layers/layers/core_validation.cpp
7e73e5c6b3020b96a821985f73012f2af0f1b992 26-May-2016 Tobin Ehlis <tobine@google.com> layers: Add DescriptorSet interface for allocation

Create a top-level "Validate" and "Perform" interface for the
vkAllocateDescriptorSets() function in DescriptorSet class.

Refactor AllocateDescriptorSets() in core_validation to use the
new interface. All checks are now performed in a "Pre" function
and all state updates are recorded in a "Post" function.
/external/vulkan-validation-layers/layers/core_validation.cpp
a4e71cd8b4e77502943dd894ed95426a25dffbd5 20-May-2016 Chia-I Wu <olv@google.com> layers: simplify v0 function implementations

Since each of the layer library contains only a layer, we can simplify v0
functions by making them wrappers to the contained layer's corresponding
commands.

While we have to make changes to each layer individually, all the changes
should be the same in spirit. The exception is vk-layer-generate.py where
the missing vkEnumerateDeviceExtensionProperties is also added.
/external/vulkan-validation-layers/layers/core_validation.cpp
4b70ef75f98d2a6196132d8c48d43d1d5e04992e 31-May-2016 Mark Mueller <markm@lunarg.com> layers: LX506 fix vkFlushMappedMemoryRanges validation error

Fix LX506: vkFlushMappedMemoryRanges validation error
with VkMappedMemoryRange::size = VK_WHOLE_SIZE.
Resolution: Change test of size variable to correctly test the
size passed by application against the relevant mapped memory

Change-Id: I6d855482985512b5096696f5c37346dde8a391ac
/external/vulkan-validation-layers/layers/core_validation.cpp
e5f0c7b48d7b8020aa0877ad216aac257f9e4212 31-May-2016 Tobin Ehlis <tobine@google.com> layers: Kill redundant check

At this point in the code we already know that renderPass is
valid so no need to re-check it.
/external/vulkan-validation-layers/layers/core_validation.cpp
3d71bca42a843966040d6ada9c029e0ec9f35ca6 31-May-2016 Tobin Ehlis <tobine@google.com> layers: GH601 Add check for clearValueCount

We were missing check "clearValueCount must be greater than or equal
to the number of attachments in renderPass that specify a loadOp of VK_ATTACHMENT_LOAD_OP_CLEAR" (Vulkan spec 1.0.15 section 7.4)

This change adds that check.
/external/vulkan-validation-layers/layers/core_validation.cpp
e6651096ed8f07840447783c66827cc16d659a49 26-May-2016 Tobin Ehlis <tobine@google.com> layers: Update freeDescriptorSet() comment
/external/vulkan-validation-layers/layers/core_validation.cpp
cd53549dd5a597894f308b4bb993c02ae30817d6 26-May-2016 Tobin Ehlis <tobine@google.com> layers: Refactor FreeDescriptorSets()

Create PreValidate/PostRecord functions for FreeDescriptorSets().
Currently the validation and state updates are handled in-line
in these functions, but this change makes it easy to migrate the
code to descriptor pool class without affecting top-level
intercept function.
/external/vulkan-validation-layers/layers/core_validation.cpp
bb7ea477706f90eb2a72887f652795bc79f60dde 26-May-2016 Tobin Ehlis <tobine@google.com> layers: Make layer_data const in getPoolNode()

Remove "[]" map operator and use iterator from find instead
to return pool ptr so that layer_data param can be const.
This will allow this function to be used from "PreValidate" calls
where no state is changed.
/external/vulkan-validation-layers/layers/core_validation.cpp
d77f9c625a93fa4973ef3e5a35da5129b5f34ecd 31-May-2016 Chris Forbes <chrisforbes@google.com> layers: Remove old hacks for imprecise descriptor tracking for compute

We do it properly now.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
29d196e071b2dc1db47702085469396f2b956820 31-May-2016 Chris Forbes <chrisforbes@google.com> layers: Do accurate draw-time validation of descriptors used by compute

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
169c4506062f06d6676eb4da3c9e0437d1d9d659 31-May-2016 Chris Forbes <chrisforbes@google.com> layers: Make precise DS validation work for both bind points

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
396244fbebb3dca48be8e37a828fb1034f8c410c 31-May-2016 Chris Forbes <chrisforbes@google.com> layers: Wire up validation of compute pipelines

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
878acea8af40207648e98788d72f1eb80586a21a 24-May-2016 Tobin Ehlis <tobine@google.com> layers: Handle static arrays in codegen

Update safe_struct codegen to handle the case of a static array
in a struct. This removes exceptions for VkDebugMarkerMarkerInfoEXT
and VkPipelineColorBlendStateCreateInfo so they can be treated
as all other structs.
/external/vulkan-validation-layers/layers/core_validation.cpp
c2ec509029604290e981885108c06a9b7de565c1 24-May-2016 Karl Schultz <karl@lunarg.com> build: Fix Windows compilation warnings

Use false/true instead of 0/1 in recently-added std::bind calls.
/external/vulkan-validation-layers/layers/core_validation.cpp
c1c2e222e47d611bec489558c60def01e808dfc9 24-May-2016 Michael Lentine <mlentine@google.com> Merge pull request #583 from lentinem/mlentine-clearpriorfences

Clear priorFences on reset and remove waited on fences from other lists.
be19196be2afb022117c65fa71cebfd35fe1a633 24-May-2016 Michael Lentine <mlentine@google.com> Clear priorFences on reset.
/external/vulkan-validation-layers/layers/core_validation.cpp
577d4588e09a06f957ca76991d5bd7b645261d6d 23-May-2016 Tobin Ehlis <tobine@google.com> layers: Display accessMask in HEX
/external/vulkan-validation-layers/layers/core_validation.cpp
5861c17dab055a598d8d38e824a8d42e9704e191 23-May-2016 Michael Lentine <mlentine@google.com> Mark fence in use after the check.
/external/vulkan-validation-layers/layers/core_validation.cpp
d78749ee260a3ce7244cbfd97c11aacc2250f8d3 21-May-2016 Michael Lentine <mlentine@google.com> layers: Fix query tracking across multiple command buffers on the same queue
/external/vulkan-validation-layers/layers/core_validation.cpp
c1eb2a3736e03aaa15b849d217fd963021dc9780 20-May-2016 Michael Lentine <mlentine@google.com> layers: Fix event tracking to differentiate reading and writing
/external/vulkan-validation-layers/layers/core_validation.cpp
2c4e180a4442f968b44f3d5136f7ffda706f6428 23-May-2016 Chris Forbes <chrisforbes@google.com> layers: Move and rename validate_descriptor_availability_in_pool

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4a45a42023b281f55953222c1a6c3e80f50e5f2a 20-May-2016 Chris Forbes <chrisforbes@google.com> layers: Add getPipelineLayout helper, use it

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6c13987058e77ffe52af474eea0700d2ceec1d49 20-May-2016 Chris Forbes <chrisforbes@google.com> layers: Use pipeline layout -> ds layout direct map

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
addeafba8720251f59f73dc2200bd512ae498bd5 20-May-2016 Chris Forbes <chrisforbes@google.com> layers: Use getDescriptorSetLayout helper in more places

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
d173e0daab123373ce75105f2a908f6ae7cef6ab 20-May-2016 Chris Forbes <chrisforbes@google.com> layers: Remove more AllocateDescriptorSets noise

Can argue about whether this stuff at INFO level is worthwhile...
Replace the comments with a clearer set of comments.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
11f1fde2721c198a619e4a22fff60eef9a16fae8 20-May-2016 Chris Forbes <chrisforbes@google.com> layers: Further rework to AllocateDescriptorSets

- operator new does not return null, it throws.
- do lookups once, at the start

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6511ce241f7f210211e0c0e882f3c14889071f4d 20-May-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of pre-call updates in AllocateDescriptorSets

Moving all the updates later requires that we totalize the required
descriptors by type first, rather than testing each binding's
requirement as we go.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
9319aad73ddc9ceea3a19dc1b2a51e707b888f2d 19-May-2016 Tobin Ehlis <tobine@google.com> layers: DescriptorSet class clean-up

Minor formatting improvements, removed some useless "const" decls
and unused vars and updated a few error codes to be more appropriate.
/external/vulkan-validation-layers/layers/core_validation.cpp
6b67c2aac9862a21e0dd068966c8b0b3aaf0bafd 18-May-2016 Tobin Ehlis <tobine@google.com> layers: Refactor DescriptorSet update interface

Mainly refactor and moving code in order to provide an interface to
DescriptorSet class that matches top-level vkUpdateDescriptorSets()
function.

Split the validation of an update as a separate task from performing
the update. This allows validation prior to calling down the chain
and then only update the state if validation is clean.

Hoisted all of the update validation into the DescriptorSet class
which prevents having to copy all of the maps into the individual
Descriptor classes. This simplifies both their creation and updating
their contents.

Updated the top-level core_validation UpdateDescriptorSets() code
to match Vulkan Validation Layer Authoring Guidelines. As this is
an initial POC for the architecture, I kept the Pre* & Post* functions
in the core_validation.cpp file, but they should eventually be spun
out.
/external/vulkan-validation-layers/layers/core_validation.cpp
41051f44c4d5e571f7b8a3efd5eb060b767b351a 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: Simplify command buffer pool cleanup

We don't need to carefully pick through the pool's buffers, removing
them. We're about to throw away the whole container.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
971020aec6166f20a12a833ebd003e0193f4160a 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: More slight tidying

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e3ad4b1284408353cc56a04951c1df1f35a636ce 17-May-2016 Chris Forbes <chrisforbes@google.com> use getFramebuffer more

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
27ed8211a6c2cd0947b7929d0d55d0840618855d 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: simplify TransitionSubpassLayouts

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f40ab6d10b8d755ce0e461c33916b0d4d5a5d437 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: Add getFramebuffer() helper

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
58c3d40b47b6b30c1e7c508ec14ee67fcd238c93 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: Simplify CmdEndRenderPass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
16387282d11e414ae7cb9ddf3d0c1bebf8f2c74d 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: Add getRenderPass helper

Various similar functions exist, but this one was missing. Returns the
RENDER_PASS_NODE ptr if it exists, or nullptr otherwise.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a730f3e9a43ad01b24f2631172f3d75517a90151 17-May-2016 Chris Forbes <chrisforbes@google.com> layers: Unify cb lookup in CmdBeginRenderPass

We already have a GLOBAL_CB_NODE ptr here, and we know it's not null.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
81391d4f7d4fdb836d880347abe88b72540e0630 19-May-2016 Tobin Ehlis <tobine@google.com> layers: Remove lastBound state reset in destructor

No need to reset this state right before GLOBAL_CB_NODE is destroyed.
/external/vulkan-validation-layers/layers/core_validation.cpp
fda02154007d70e5c078c29585c5e8fdd90ebc5f 17-May-2016 Tobin Ehlis <tobine@google.com> layers: Improve DescriptorSet cleanup

Create private helper function InvalidateBoundCmdBuffers() within the
DescriptorSet class to unify invalidate cases due to set being updated
or freed.

Add a destructor for DescriptorSet to make sure that no bound cmd buffers
hang on to deleted set references.
/external/vulkan-validation-layers/layers/core_validation.cpp
71511c5a10533c910bfe62c3bcf58e2a4054e7ac 17-May-2016 Tobin Ehlis <tobine@google.com> layers: Reduce DescriptorSet map look-ups

Migrate some data structures to refer to DescriptorSet class
instead of raw VkDescriptorSet. This saves map look-ups.
/external/vulkan-validation-layers/layers/core_validation.cpp
9d17becd811b49e1ecf91a02eee22f9cf7cbc026 17-May-2016 Tobin Ehlis <tobine@google.com> layers: Refactor DescriptorSet Update code

This migrates code for DescriptorSet in_use and flagging bound
command buffers as invalid from core_validation.cpp into DescriptorSet
class.
/external/vulkan-validation-layers/layers/core_validation.cpp
d0d8e333806eaac08bdc87ddeff886dc2b0f09e7 17-May-2016 Tobin Ehlis <tobine@google.com> layers: Update cmds allowed in 2nd CB subpass

If subpassContents are of type VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS
then CmdNextSubpass and CmdEndRenderPass are accepatable cmds to be added to
the secondary cmd buffer.

Spec language is from section 7.4 Render Pass Commands: If contents is
VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, the contents are recorded in
secondary command buffers that will be called from the primary command
buffer, and vkCmdExecuteCommands is the only valid command on the command
buffer until vkCmdNextSubpass or vkCmdEndRenderPass.
/external/vulkan-validation-layers/layers/core_validation.cpp
7651c2eb9fe152ba62921ed60454afd882357e2a 16-May-2016 Tobin Ehlis <tobine@google.com> layers: GH544 Allow INVALID cmd buffers to be reset

BeginCommandBuffer performs an implicit reset of a command buffer.
This allows command buffers in the INVALID state to undergo this
implicit reset.

In order to make sure that an invalid command buffer in the INVALID
state has had EndCommandBuffer called, this commit adds a CMD_END
command that's inserted at the end of a command. If a command buffer
in the INVALID state has had EndCommandBuffer called and it is now
having BeginCommandBuffer called, it's ok to implicitly reset the
command buffer.
buffer's vector of commands.
/external/vulkan-validation-layers/layers/core_validation.cpp
dd725b03ae4d1296a722d0ec5c9fe63941cabe4b 16-May-2016 Chris Forbes <chrisforbes@google.com> layers: Track dynamic descriptor offsets per set index

One big pool of dynamic offsets didn't work well:
- CmdBindDescriptorSets just appended, without regard for unaffected sets,
whether offsets were already recorded for the affected sets, etc. A
command buffer which bound descriptor sets many times would just
accumulate junk.
- DescriptorSet::ValidateSetNode was always passed the base of the
offset pool, when the set's first dynamic offset may have been some
distance into the pool.

Instead, track a vector of dynamic offsets per set index, alongside
the tracking of the bound descriptor set, which makes both correct
tracking of updates, and correct validation at draw time easier.

Fixes lots of weird behavior with more complex binding sequences.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f80bf38f4fb3f177b3e1be11b7b1c5edcdbf7d9b 16-May-2016 Chris Forbes <chrisforbes@google.com> layers: Narrow scopes of some locals for clarity

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
593c857d8db57cf9ae2c590b75e22dadd51bd3d4 13-May-2016 Tobin Ehlis <tobine@google.com> layers: Clean up old mem_tracker merge remnants

Clean up most of the remaining MTMERGESOURCE defines.
Many of these come straight out. A number of copy functions
were able to merge some code to provide a slight efficiency gain.
/external/vulkan-validation-layers/layers/core_validation.cpp
7003b38da5cc27a063af3c45080f3a35438283ee 16-May-2016 Tobin Ehlis <tobine@google.com> layers: Fix android build errors
/external/vulkan-validation-layers/layers/core_validation.cpp
7c0012acb5327961b0a5191434a08e5fa788786d 12-May-2016 Tobin Ehlis <tobine@google.com> layers: Fixes to memory mapping checks

MapMemory w/ size 0 is now invalid in the spec so remove comment and
change callback to ERROR.
Update some error messages for clarity.
Only update the mapped memory range state if MapMemory succeeds.
/external/vulkan-validation-layers/layers/core_validation.cpp
2e415b757c1e43fda35311aad026af8d5c96681c 11-May-2016 Tobin Ehlis <tobine@google.com> layers: Kill MISSING_MEM_BINDINGS error

The MEMTRACK_MISSING_MEM_BINDINGS enum was dead code. There's no way
that the check can be hit in current code so added an assert() for
future safety and killed the checks and their documentation.
/external/vulkan-validation-layers/layers/core_validation.cpp
c5b97dda856ff837638b3ebb7e231d5507c495a3 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: Move `fb` from RENDER_PASS_NODE to GLOBAL_CB_NODE

This is part of a renderpass instance, not of the renderpass itself.
If stored where MT put it, things go horribly wrong when recording
command buffers in parallel.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e4be8c69231df45752686575f22168b6d0fc5687 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: Finish unhooking layer_data from SC pipeline validation

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ed399f66e0512ef077d0e0a7cb903248726d2424 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: Use pipeline layout ptr from pipeline node

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
67220c96300606b517394e25c7aa144dd4601bb6 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: Add PIPELINE_LAYOUT_NODE * to PIPELINE_NODE

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
557cdd5218accf51ca894a14b7c6eeeb733f5cbb 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: No longer require layer_data for stage validation

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
69f9a551bfb1fd5334950f9685c12c5adda23dfb 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: Pass in shaderModuleMap to SC

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7c7400aa231c3dbb21e51158adebb83d5f528130 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: use RENDER_PASS_NODE* from pipeline in SC

Breaks one more dep from SC guts -> layer_data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
3ce94c3c0281078b41205789567c563991a8737e 13-May-2016 Chris Forbes <chrisforbes@google.com> layers: Add RENDER_PASS_NODE* to PIPELINE_NODE*

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
a95cb74c9d0947ab3821b15e1289755286ea78ee 12-May-2016 Karl Schultz <karl@lunarg.com> tests: GH431 PR 510 Apply suggested changes

- Convert error to warning for overlapping ranges
- Consider overlapping ranges in range checks
- User a reference to avoid a copy
- Many more additional tests

Change-Id: I18ad43b98684f16a978461a1a089ebff5437a563
/external/vulkan-validation-layers/layers/core_validation.cpp
ef4c4dfb1ee1a3b1aa2205b4e5e44aedd5882f4e 11-May-2016 Tobin Ehlis <tobine@google.com> layers: Remove unused var to fix android build
/external/vulkan-validation-layers/layers/core_validation.cpp
0d39b6d2c5162541640e48eba41f07a21b62e806 11-May-2016 Tobin Ehlis <tobine@google.com> layers: Migrate INVALID_IMAGE_LAYOUT check to renderpass create time

Previously performing this check at CmdBeginRenderPass time, but we have
all of the data needed when renderpass is created so check there instead.
/external/vulkan-validation-layers/layers/core_validation.cpp
9e24d8153ab63bc3ac08b5a1517c203930b5de91 06-May-2016 Karl Schultz <karl@lunarg.com> tests: GH431 Add layer checks and tests for push constant

Change-Id: I46eb5f9adbe702a278cded0f73dc18d1617489f0

Fix windows compilation issues

Change-Id: Ic9b9795e34d1e1e68bae9838b8538bb2e37d18b4
/external/vulkan-validation-layers/layers/core_validation.cpp
fd61966f8d41b5bce15620b70563b7864cbb28fe 10-May-2016 Cody Northrop <cnorthrop@google.com> layers: Determine whether command buffer can be ended with active render pass
/external/vulkan-validation-layers/layers/core_validation.cpp
a154a5dd642c3dddb53a5be59267ca81692baf30 11-May-2016 Tobin Ehlis <tobine@google.com> layers: Remove unused var to fix android build
/external/vulkan-validation-layers/layers/core_validation.cpp
be45dd763c94dfcb0b52709d8d613848c4c914e1 11-May-2016 Tobin Ehlis <tobine@google.com> layers: Migrate INVALID_IMAGE_LAYOUT check to renderpass create time

Previously performing this check at CmdBeginRenderPass time, but we have
all of the data needed when renderpass is created so check there instead.
/external/vulkan-validation-layers/layers/core_validation.cpp
3544fbcbac794401cd523be8d779ff10c03d6121 11-May-2016 Tobin Ehlis <tobine@google.com> layers: Remove MEMTRACK_INVALID_LAYOUT

Use DRAWSTATE_INVALID_IMAGE_LAYOUT instead as MEMTRACK version was only used
in a single case and the check is more in-line with DRAWSTATE behavior.
/external/vulkan-validation-layers/layers/core_validation.cpp
414e9a4117b500eac650d8b8f01a6e1b22d05aae 03-May-2016 Mark Mueller <markm@lunarg.com> layers:LX#470 Fix poor use of hex vs dec output

1) Introduce convention of explicitly placing "0x" before hex
format requests for clarity (don't use "%#")
2) All lower case in hex output (except w/stringstream which refuses
to do anything but uppercase, possibly only on windows).
3) Decorated pointers are printed for all Vulkan structure types.
3) Some intelligence in generators based on Vulkan variable name:
if the Vulkan variable name contains ("flag", "bit", "offset",
"handle", "buffer", "object", "mask") it will be output in
hexadecimal format

4) Remove "using namespace std;" from global scope of vk_struct_string_helper_cpp.h

Change-Id: Idbae73bfdaa3bc059543d43b209373cd0bcbc099
/external/vulkan-validation-layers/layers/core_validation.cpp
5121a8dcacb23766ba4455b4eea429f0a3d62099 06-May-2016 Chris Forbes <chrisforbes@google.com> layers:pass RENDER_PASS_NODE* around more

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ee691f5c5fa87aac3750454d2bca2cb582e4e817 06-May-2016 Chris Forbes <chrisforbes@google.com> layers: Hold active RENDER_PASS_NODE rather than VkRenderPass in CB node

Allows eliminating the bulk of the renderPassMap lookups

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
98cddf7090b5d5dcc382045867753ef703d1c3d3 06-May-2016 Chris Forbes <chrisforbes@google.com> layers: Add VkRenderPass member to RENDER_PASS_NODE

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
cf2686cdbb12af8a29ca598c126b5e37215f0ef7 06-May-2016 Chris Forbes <chrisforbes@google.com> layers: Trim down locked regions in CreateRenderPass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ea8349eeee76ae2859c10870fd8bd9e60309eb28 06-May-2016 Chris Forbes <chrisforbes@google.com> layers: Mark some layer_data const, remove unordered_map::operator[] use.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f54d085ac836f3b0a2b62f6b401f759e586f0ea7 11-May-2016 Chris Forbes <chrisforbes@google.com> layers: Fix get_descriptor_binding

Not sure where the `return` went... this worked by accidents of calling
conventions in debug, but was rightfully eaten by the optimizer in release.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4110a6be7a8a287d459475926985f71c27d01298 10-May-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of even more coupling between SC and rest of CV

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f73b2046273413ea1338dd714d67c39f8e0fa09e 10-May-2016 Chris Forbes <chrisforbes@google.com> layers: have PIPELINE_LAYOUT_NODE hold ptrs to descriptor set layouts

Just holding the nondispatchable object handles forces
get_descriptor_binding to use layer_data, which we'd rather it didn't.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b95616f79b105741b1399b01d527a8ef3b7ccfb7 11-May-2016 Chris Forbes <chrisforbes@google.com> layers: add some asserts to spirv_inst_iter

These allow us to more easily catch in debug:
- Bogus zero-length instructions
- Reads off the end of the instruction

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6bdabc8615f7c55234e644fdfa143e223cfc7719 10-May-2016 Tobin Ehlis <tobine@google.com> layers: Update fence to track all queues associated with it

Semaphore's can create cross-queue dependencies between fences.
This change updates the FENCE_NODE object to have an unordered_set
of all queues that a fence is tied to instead of just tracking the
last queue on which a fence has been submitted.
/external/vulkan-validation-layers/layers/core_validation.cpp
ecc961e2db2546deef62a6d4175753d90218b678 10-May-2016 Tobin Ehlis <tobine@google.com> layers: GH458 Fix cleanup of queue lastFences

When waiting on fences, they were not being correctly removed from the
queue's lastFences vector. Updated the remove code and verified that
it's now working correctly.
/external/vulkan-validation-layers/layers/core_validation.cpp
ae7fe2b3600678e83196bb0d79ca35afc599a122 06-May-2016 Tony Barbour <tony@LunarG.com> layers: Save swapchain image format for later validation compares

This fixes the cube resize with validation enabled bug
LunarEx issue #501, Github Issue #275

Change-Id: Ifc73be13f09f332a7b30e08d1f9fe4f3894d2b78
/external/vulkan-validation-layers/layers/core_validation.cpp
edef66e03ed509994449d598f4fadea1a487d41b 10-May-2016 Chris Forbes <chrisforbes@google.com> layers: Start cutting needless deps between SC and layer_data

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4c665b29a9d2906a378417546c7fc6436731d07f 09-May-2016 Tobin Ehlis <tobine@google.com> layers: Update behavior for secondary cmdbuffers w/ *_SIMULTANEOUS_USE_BIT set

Spec clarification has been approved and secondary command buffers with
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT may be in flight in multiple primary
command buffers at the same time.

This changes updates the error concerning secondary command buffers to be in-flight
on multiple primary command buffers to only appli if
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT is not set.
/external/vulkan-validation-layers/layers/core_validation.cpp
56a5ba3e60a723781945959ffc10e2e215350de5 05-May-2016 Chia-I Wu <olv@google.com> core_validation: avoid invalid GIPA call in vkCreateDevice

Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
/external/vulkan-validation-layers/layers/core_validation.cpp
3f6f8132355ebdae2736b31fc20de2ac60a70310 05-May-2016 Chia-I Wu <olv@google.com> core_validation: handle device commands in GetInstanceProcAddr

Per commit 5bf16c33b9c1f38fc467d94716f276620a265327, extension check is
bypassed in GetInstanceProcAddr for VK_KHR_swapchain functions.
/external/vulkan-validation-layers/layers/core_validation.cpp
7a5e039f8f74667b71d3c3b54e5abb8d9b834475 06-May-2016 Chia-I Wu <olv@google.com> core_validation: no interface functions in layer functions

Move handling of interface functions in
core_validation::GetInstanceProcAddr to v0's vkGetInstanceProcAddr.
/external/vulkan-validation-layers/layers/core_validation.cpp
7ed76a2d9a619f963e7a1afb13e9913fbc09dc63 06-May-2016 Chia-I Wu <olv@google.com> core_validation: refactor GetInstanceProcAddr

Split command intercepting out to intercept_core_instance_command. Assert
that instance is valid if intercept_core_instance_command returns nullptr.
/external/vulkan-validation-layers/layers/core_validation.cpp
09a2f8128f58f032b73d29fab5afd789626562c3 06-May-2016 Chia-I Wu <olv@google.com> core_validation: add intercept_khr_swapchain_command

It returns the function pointers for all intercepted VK_KHR_swapchain
commands. Call intercept_khr_swapchain_command from GetDeviceProcAddr.
/external/vulkan-validation-layers/layers/core_validation.cpp
80be5ddd2f71eae65d790fe63d1e5b1e1f4daa42 06-May-2016 Chia-I Wu <olv@google.com> core_validation: add intercept_core_device_command

It returns the function pointers for all intercepted core device commands.
Call intercept_core_device_command from GetDeviceProcAddr. Assert that
device is valid in GetDeviceProcAddr.
/external/vulkan-validation-layers/layers/core_validation.cpp
a8f4a23b1e9c068717eda47cc583a93f447c77e3 06-May-2016 Chia-I Wu <olv@google.com> core_validation: improve EnumerateDeviceExtensionProperties

Call down the next layer unless pLayerName is core_validation.
/external/vulkan-validation-layers/layers/core_validation.cpp
e11120777bcd1543455d1de54b89292879bcd2bb 06-May-2016 Chia-I Wu <olv@google.com> core_validation: add core_validation::global_layer

Replace cv_global_layers and cv_device_layers with global_layer. There is
no plan to define more than one layer in the same namespace.
/external/vulkan-validation-layers/layers/core_validation.cpp
89d6bb8ab0ab38202ecfb3d6e21f60c884cc62e5 06-May-2016 Chia-I Wu <olv@google.com> core_validation: drop vk prefix for layer functions

Drop VK_LAYER_EXPORT as well.
/external/vulkan-validation-layers/layers/core_validation.cpp
d16a2fd05d0b6bd20c7274560c88e37e4b3adefc 06-May-2016 Chia-I Wu <olv@google.com> core_validation: put layer functions into a namespace

Put all layer fucntions/data into core_validation namespace. I had to add
some wrappers to make everything work.
/external/vulkan-validation-layers/layers/core_validation.cpp
08939232d080c94fc7b4c5ad348644928beb1519 06-May-2016 Chia-I Wu <olv@google.com> core_validation: move vkEnumerate*Properties around

Move them toward the end of the file.
/external/vulkan-validation-layers/layers/core_validation.cpp
888e1d268098177fde4a2263e3d7b7cc415f1deb 06-May-2016 Mark Young <marky@lunarg.com> layers: Properly set secondary cmd buffer inherited items.

We failed to inherit the proper items in the secondary cmd buffer
in the core_validation layer when the
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT bit was set.

Change-Id: I01579d889dde8e0d331ed5a65eb48ce7185d3d82
/external/vulkan-validation-layers/layers/core_validation.cpp
bb6624cb996175d8945190886a200e720b3871ef 08-May-2016 Chris Forbes <chrisf@ijw.co.nz> layers: Fix usage flags validation of CreateImageView

We need to validate the flags before calling down into the ICD. At least
one ICD (Anvil) asserts if it sees bad flags.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
/external/vulkan-validation-layers/layers/core_validation.cpp
43986b69242d252623f4ee7278f1ecd07370adc8 06-May-2016 Chris Forbes <chrisforbes@google.com> layers: Fix logical negate to bitwise negate in access flags checking

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
01f3372271027b700265e5fbdbef5ad9c3b94649 06-May-2016 Tobin Ehlis <tobine@google.com> layers: GH494 Add constructors for IMAGE and BUFFER nodes

Add proper constructors for IMAGE_NODE and BUFFER_NODE classes and
correctly initialize all of their data members.

Change-Id: I6c9d4a3ba6f3ef8e569de55793de9d6f7fd406b1
/external/vulkan-validation-layers/layers/core_validation.cpp
eca2d52a6bfa3f9d63a86ca9fd30abc0adf775b7 04-May-2016 Mark Young <marky@lunarg.com> layers: Fix core_validation issues GH103 and GH240

Perform pipeline sample and attachment count validation at draw
time instead of vkCmdNextSubpass() time. Also validate that
an active renderpass exists.

Change-Id: I912947287eef29d532519220750c3a93a3554565
/external/vulkan-validation-layers/layers/core_validation.cpp
f13bee0887f3c3d1d597c82869864be3be836737 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Further descriptorSet cleanup fixes

Clear the pools list of sets when pool is reset.
Also make sure to remove sets from pool as they are freed.
Added a related fix to testing to correctly free descriptorSets
in DescriptorSetCompatibility test.
/external/vulkan-validation-layers/layers/core_validation.cpp
9dd448578d59cb5ce692e833ba230783b30f3550 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Correctly invalidate cmd buffers when descriptor pool cleared/freed

When a DescriptorSet pool is Destroyed or Reset we destroy all underlying
descriptorSets, but we weren't invalidating cmd buffers bound to those sets
in these cases. This adds a common function, freeDescriptorSet(), to make
sure anytime a descriptor set is destroyed, any bound cmd buffers get
invalidated and the set is removed from setMap and then destroyed.
/external/vulkan-validation-layers/layers/core_validation.cpp
c5f47f0a54e14c47d402aeabc6498d981ecda9cc 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Fix descriptorSet cleanup bugs

When we deleted DescriptorSet* objects we weren't removing them
from the setMap.
/external/vulkan-validation-layers/layers/core_validation.cpp
895b1225b840e5beaa1fe93597ede4b0f55ef0ca 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Kill unused shadowUpdateNode()

No longer needed with migration to DescriptorSet class.
/external/vulkan-validation-layers/layers/core_validation.cpp
bf230ded6e1247603f278c6d1b9b828ddb5fd595 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Fix stale comments in core_validation
/external/vulkan-validation-layers/layers/core_validation.cpp
397d27da37095073c8b86f9ff5289d0a39ce486e 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Kill SET_NODE construct and just use DescriptorSet class

Migrated setMap to just use DescriptorSet class natively. SET_NODE was
just wrapping that class but that's not necessary so killing extra indirection.
/external/vulkan-validation-layers/layers/core_validation.cpp
cb9ce9e05b8e939d3da35c64997c70049877f4fe 03-May-2016 Tobin Ehlis <tobine@google.com> layers: Rearchitect Descriptor Set validation code

This change pulls all of the DescriptorSet code out of core_validation.cpp and into
its own files/classes in descriptor_set.h/cpp.

See header file for complete class documentation.

These changes pass tri/cube/smoketest --validate.
All related layer validation tests are also updated and passing.
Finally, I ran it through mustpass CTS and did not hit any issues related to these changes.

These changes not only update the descriptor interface but fix some known lingering
bugs with how descriptor updates occurred. This includes now correctly handling
updates that cross binding boundaries and updates that write a subset of a binding.

Going forward this is a general outline for how we would like to evolve core_validation.
That is, we'd like to move the functionality of the checks into reasonable classes and
just have core_validation call into those classes to do the majority of the work.
/external/vulkan-validation-layers/layers/core_validation.cpp
94601b592f9bf0d1e426e066f565207b2bf42699 05-May-2016 Michael Lentine <mlentine@google.com> layers: Clear cmdbufs and prior fences after processed in decrement.
/external/vulkan-validation-layers/layers/core_validation.cpp
386d9a9a77f884789a7ae4c3890aecd47132f2ba 05-May-2016 baldurk <baldurk@baldurk.org> layers: #486 Add some missing spaces where needed ...

Original commit message:

Add some missing spaces where needed, hidden by string concatenation
/external/vulkan-validation-layers/layers/core_validation.cpp
8587553997b892f4f91e368812672a76ea4a962e 05-May-2016 Tobin Ehlis <tobine@google.com> layers: Kill unused var that was breaking android build
/external/vulkan-validation-layers/layers/core_validation.cpp
025e5113963305eff75601c96eac61d2c5b57e3c 29-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Consider missing color attachments in validation

Previously we'd assumed these were dense. It is however valid to provide
VK_ATTACHMENT_UNUSED for a color attachment reference.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
47aaf733d7394bda75c6de24289efe6b281e3cff 03-May-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix memory aliasing false positives in core_validation

Change-Id: I889a00132af4c6f8db944ed21f03290ee8f14063
/external/vulkan-validation-layers/layers/core_validation.cpp
22fb3c0393ef588b11f8313f01c508028d77dec0 02-May-2016 Tobin Ehlis <tobine@google.com> layers: GH465 Add validation for now bound VkPipeline

At the time of a Draw or Dispatch, a pipeline must be bound to the
command buffer. This adds a check to verify that.
Added tests for both draw and compute cases to verify the check.
/external/vulkan-validation-layers/layers/core_validation.cpp
bf9672323673c925b8b926e49f80eaf6116a4694 30-Apr-2016 Michael Lentine <mlentine@google.com> Remove fences once they have been waited on.
/external/vulkan-validation-layers/layers/core_validation.cpp
18ef6d5a98654384d6d5c022e01324fa436c02af 30-Apr-2016 Michael Lentine <mlentine@google.com> layers: Add fence in use for bind sparse info.
/external/vulkan-validation-layers/layers/core_validation.cpp
e44200cc4e1a293ff04baed6dcc4f1e37c2d66f1 29-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Clarify error message for pipelineLayout incompatible
/external/vulkan-validation-layers/layers/core_validation.cpp
b1f65702539fd041337fccd493dc6d38dd2a603e 04-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Integrate SPIRV-Tools validator

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6660d6f3e4e4c895063e8d99098162bd2f508b24 27-Apr-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
8c66a7758d9ec6b6f9429115140d38f6ed077e7e 26-Apr-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
a1e5173c89eb7f03e0434ad45ccd1471e722fa71 26-Apr-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
fce842878e9ddcc7f37e1c457a4b018d52358087 21-Apr-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
6ac48f04d8c4853d0fe84cbcd41f3ff4b6346672 22-Apr-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
672a7ee979486eaec10f96063f0455e8c2a02595 21-Apr-2016 Karl Schultz <karl@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
a27508babf63d50aea75883a3702979193c23683 31-Mar-2016 Mark Young <marky@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
b3d308d63ba34f40839f009ac83b33962d7f26b2 21-Apr-2016 Michael Lentine <mlentine@google.com> layers: Fix cmd buffer tracking.
/external/vulkan-validation-layers/layers/core_validation.cpp
a265a8ed3bbb32ade305b1be3148d6001a870b76 18-Apr-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
c7255e92ea81e8639dc21388ec2a959bd63319c7 21-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Consider #locations consumed by large VkFormats

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
cc52143fc093e1e62d2dacc4abc3966e04b6f6d6 21-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Consider element type bit width for #locations consumed.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
abfafae4ec5d76e520916b03d196e474e972c949 20-Apr-2016 Michael Lentine <mlentine@google.com> layers: Fix for clearing layouts and cmdbuffers.
/external/vulkan-validation-layers/layers/core_validation.cpp
31c2b86c259f87e539d544702c30e3c368e6b905 20-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Add missing 64bpc formats to get_format_type

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
f0e6d40360fcfcc98df5ada68c14b08f11eec531 20-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Fix get_format_type for VK_FORMAT_A8R8G8B8_{S,U}INT_PACK32

Fixes GH #330.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
fff9393206f66a154438e16fa0562c989f425498 20-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: block members do not express extra array level in member type

Fixes GH #377.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
9bd7be0cd7f78c2e94bfe5815c21fcafcf4c8526 19-Apr-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
43b53e83705f02245da6ae61e31273866a35b833 19-Apr-2016 Jon Ashburn <jon@lunarg.com> misc: Update licenses to Apache 2.0

Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
/external/vulkan-validation-layers/layers/core_validation.cpp
93c396d566d722dc5c6f438eae212da0e9337ba3 12-Apr-2016 Mark Lobodzinski <mark@lunarg.com> layers: LX468, Prevent bad core_validation error message

Properly track commandBuffer/FrameBuffer references.

Change-Id: Ibbc078b582b204bee26cdc510575c57023cf9d6b
/external/vulkan-validation-layers/layers/core_validation.cpp
b9e992386a44404152747d66817a733aa127e281 14-Apr-2016 Jeremy Hayes <jeremy@lunarg.com> layers: core_validation - use std mutex

Change-Id: I88af1e86c0ef93dbeab303977b8190ad1968c00d
/external/vulkan-validation-layers/layers/core_validation.cpp
bc300ace5ad8d1935d42ee5dbbf36ce6ace4c0e8 14-Apr-2016 Tobin Ehlis <tobine@google.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
51db9745081fb7d5eaf6d00cfe5dcc1f82c1730c 15-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Fix vkResetDescriptorPool

When we reset descriptor pool, need to remove the allocated
descriptors from setMap and free them.
/external/vulkan-validation-layers/layers/core_validation.cpp
3da84689683bb257cc0f64953966666d19321119 14-Apr-2016 Michael Lentine <mlentine@google.com> layers: Remove error when only implicit dependencies are used.
/external/vulkan-validation-layers/layers/core_validation.cpp
0a59acde4b40fde3bbfea5811d2abf2c85ca62f4 14-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Validate ONE_TIME_SUBMIT for secondary cmd buffers

Previously were only validating *_ONE_TIME_SUBMIT_BIT for primary cmd buffers.
After clarification on spec, moving the check so it will also hit secondary
command buffers.
/external/vulkan-validation-layers/layers/core_validation.cpp
6f65b420ec34b089bc1c68b135ad37ede5565d41 11-Apr-2016 Mark Young <marky@lunarg.com> layers: Update core_validation to fix lx265.

Tobin discovered an issue with my previous change. This resolves
the issue with the blend state targeting only a specific subpass
and verifying the subpass attachment count matches the blend
attachment count.

Change-Id: Iacdd880dde32267da095a3e9baa9e8eb66fdc760
/external/vulkan-validation-layers/layers/core_validation.cpp
dfc3ecf3aeb24f3f80ebe6830ce700ad4ec60595 12-Apr-2016 Mark Young <marky@lunarg.com> layers: lx464 Add drawtime validation of bound buffer memory.

Add a drawtime check to validate that storage or uniform buffers
have valid memory bound to them at draw time before using.

Change-Id: Ia0a07f221dfcb2ea4315e4f52ee04d7cdda22cf7
/external/vulkan-validation-layers/layers/core_validation.cpp
856ecb404bc959ddb877c150c9caa0649055b9cb 12-Apr-2016 Mark Young <marky@lunarg.com> layers: lx465 update core_validation image layout warning.

If sub-resource data is present, print out that info as part of
the error message when the image layout is incorrect.

Change-Id: Ibd4d95e22d846b823b5c76986e8646624c109bc6
/external/vulkan-validation-layers/layers/core_validation.cpp
ce62d9f596fa03529c4961ab715473a0e9254e0e 14-Apr-2016 Mark Mueller <markm@lunarg.com> layers: LX466. Resolution of "Typo in validation layer", human spell checker invoked
/external/vulkan-validation-layers/layers/core_validation.cpp
47c4ec0c3856ae594e26241bf6796785a2150cbf 14-Apr-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix windows build

VkObjects should be cast to uint64_t by using 'reinterpret_cast<uint64_t &>'

Change-Id: I403efdf389dad61c373df40c5fa1fbed7cf96abd
/external/vulkan-validation-layers/layers/core_validation.cpp
4b38d3aa8b6be6a7f5bebb472ab439da0562824f 14-Apr-2016 Tobin Ehlis <tobine@google.com> layers: GH337 Track fence from vkQueueBindSparse

Correctly update fence tracking for vkQueueBindSparse() call.
/external/vulkan-validation-layers/layers/core_validation.cpp
c07fa78efa7d4edfaa4ffbb0c2046ee8154b27be 14-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: only construct stringstreams in error paths

These are actually stupidly expensive to construct -- with most of the
cost going to the contained std::locale.

Added up to about 6% of profile on my machine in `smoke -s` with
VK_LAYER_LUNARG_core_validation enabled.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
3ee1d6057ee6c49b9dbbeb067b7fd149bdba7b5c 14-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Validate correct vkSetEvent() use

Make sure vkSetEvent() is not called on an event that's in use
by and in-flight cmd buffer. Such use violates queue forward progress.
/external/vulkan-validation-layers/layers/core_validation.cpp
6044e94c13064f4663b31854951b7d4edf7877b2 14-Apr-2016 Michael Lentine <mlentine@google.com> layers: Change access bit checks to warnings.
/external/vulkan-validation-layers/layers/core_validation.cpp
dcf917f7e9b04916caf3f7bb067f7f760d0daa99 13-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: cv: get rid of device-scoped current renderpass tracking

This was completely redundant to the (correct) CB-scoped renderpass
tracking, and only served to break things when different threads
simultaneously recorded command buffers.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
41bb23666442c59912c630f85db04ce1a052f3ef 13-Apr-2016 Tobin Ehlis <tobine@google.com> Revert "layers: LX459,GH#99,#100, Fix semaphore reference count"

This reverts commit 541bb5afc50581e7c765fc5c05400540369f0044.

Reverting this as the original issue is still present and being worked on
so restoring original state until correct fix is complete.
/external/vulkan-validation-layers/layers/core_validation.cpp
1344302fce242e654df2fd518b6371a91b8a5c7d 12-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Clean up semaphore state in core_validation

No need to have 3 semaphore states. Killed SemaphoreState struct and
updated all the code to just use the "signaled" bool.

Also minor clean-up of queueMap destroy code.
/external/vulkan-validation-layers/layers/core_validation.cpp
400cff9fad0e19c80f6c9ed1181795d411a4bec5 12-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Cleanup of various cmd buffer functions in core_validation

Killed some mem_tracker functions that were doing redundant work.
Removed some calls to checkCBCompleted that were superceded by
validateCommandBuffersNotInUse() calls.
Clarified some "my_data" vars as "dev_data."
/external/vulkan-validation-layers/layers/core_validation.cpp
b1b606d27e8c4179534d7bbb48ce217429e37414 11-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Cleanup core_validation physical device properties structs

Pull physical device memory properties into layer_data and make sure it's
correctly populated at vkCreateDevice() time.
Clarify a few ambiguous "my_data" variables as "dev" or "instance".
Rename physical device properties to be lower case. This is the start of
a slow move to unify code on common standard with lowercase variable names.
/external/vulkan-validation-layers/layers/core_validation.cpp
fd50683af1a7a54c6b8c13d790ad57c48072f55b 11-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: renderpass compatibility: there is only one d/s attachment

Previously this function assumed there were as many d/s attachments as
color attachments, which is invalid. Besides not making sense, we'd end
up dereferencing memory beyond that pointed to by
VkSubpassDescription::pDepthStencilAttachment if we had multiple color
attachments.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
6fcff21b8cce5159fdfa317e612f75f5ea6a189e 07-Apr-2016 Tobin Ehlis <tobine@google.com> layers: GH241 vkSetEvent should affect queue stageMasks

vkSetEvent may occur asynchronously from cmd buffer execution
and the results of vkSetEvent should be immediately visible
across all queues of a device.

This fix will update any event that a queue has seen so that
its VK_PIPELINE_STAGE_HOST_BIT is set at vkSetEvent() time.
/external/vulkan-validation-layers/layers/core_validation.cpp
f90830842fdd43e8f1834f2eb76bda28eef435b8 07-Apr-2016 Tony Barbour <tony@LunarG.com> layers: Move call to validateCommandBuffersNotInUse inside lock

Fixes segv in CTS multithreaded command pool test

Change-Id: I80da12fd2bb6856e3c6824f17dd92f1597121a54
/external/vulkan-validation-layers/layers/core_validation.cpp
09df2b6afd74a6494aa530ba23a80ba69abc79df 07-Apr-2016 Dustin Graves <dustin@lunarg.com> layers: Fix 32-bit Windows build

Change reinterpret_cast<uint64_t> to reinterpret_cast<uint64_t&>.

Change-Id: I87b8479df6ba7f93b922bab11edbbf6c4fbfe7f6
/external/vulkan-validation-layers/layers/core_validation.cpp
b5d4c1684e41455cb2da487c808fd72070b564d2 06-Apr-2016 Michael Lentine <mlentine@google.com> layers: Ensure bind point for subass is graphics.
/external/vulkan-validation-layers/layers/core_validation.cpp
0a1ce3dfd81c9f4efbe46f5ba5ddaea70bc4aa61 06-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Remove plumbing through of unused dispatchable object through MT

Much of this was eventually going to go away anyway, but getting rid of
this thread of it was trivial.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
94c53c062f0ccc70ef0ada8e98edc90eadc4cb45 05-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Merge binding maps into image and buffer maps

mem_tracker layer had specific maps to track memory binding for images
and buffers. This change merges the data from those maps into IMAGE_NODE
and BUFFER_NODE respectively and eliminates the binding maps.
/external/vulkan-validation-layers/layers/core_validation.cpp
52156ec29c88c0e52eb89fb42867adacb1dd31bb 06-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Insist on each shader's stage being unique in a pipeline

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0d615f0a5724edac98475366cf3e486dccc1f2d6 05-Apr-2016 Michael Lentine <mlentine@google.com> Validate attachment index is in range.
/external/vulkan-validation-layers/layers/core_validation.cpp
37576f9c5ccc190c53a1c10baf383d77c3c6d476 05-Apr-2016 Chris Forbes <chrisforbes@google.com> layers: Implement relaxed vec-vec and vec-scalar matching rules

- Track whether we've seen anything disqualifying -- non-stripped
arrays, matrices, structures, etc.
- Add relaxed vec/scalar and vec/vec matches if not disqualified.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
45824955f3d4d2baee6d225f84ac9c2553981b3e 05-Apr-2016 Dustin Graves <dustin@lunarg.com> layers: Explicit VK_TRUE/VK_FALSE checks

Add explicit VK_FALSE/VK_TRUE conditional checks.

Change-Id: Idb5c82ce53d54c9f2c378dc557152efc695ae2b1
/external/vulkan-validation-layers/layers/core_validation.cpp
e3319189d6f8e3126522df7a5935d2c42f656291 05-Apr-2016 Dustin Graves <dustin@lunarg.com> layers: Fix unsafe bool mix warnings

Fixes the MSVS warnings regarding unsafe mix of VkBool32 and bool for the
core_validation layer. Converts all Boolean values internal to the layer
to bool/true/false. The VK_TRUE and VK_FALSE values continue to be used
with the Vulkan API components.

Change-Id: I9a298e2a9f5f92a388a2b7c158451d237fdb4fc0
/external/vulkan-validation-layers/layers/core_validation.cpp
1d5109d5e0dcc530b27e632e73e1be5e12a28dcd 04-Apr-2016 Jamie Madill <jmadill@chromium.org> Fix 4 MSVS warnings in loader and layers.

warning C4267: conversion, possible loss of data
warning C4389: signed/unsigned mismatch
warning C4701: potentially uninitialized local variable used
warning C4702: unreachable code

Change-Id: Ibc2ce3825a986c3701f6e0e6244a0e30fbf7e87c
/external/vulkan-validation-layers/layers/core_validation.cpp
ca546210846c65808717f8875deae39bd227c240 01-Apr-2016 Tobin Ehlis <tobine@google.com> layers: Clean up PIPELINE_NODE using safe_struct

PIPELINE_NODE was storing ptrs from the app and has some ugly initialization code
for the gfx pipeline create struct. This commit switches pipeline node to use
safe_struct wrappers for Gfx and Compute create info.
There were also some bugs found in the safe_struct wrappers making this migration
so those are cleaned up in this commit as well.
/external/vulkan-validation-layers/layers/core_validation.cpp
c15b801a6e1a5dd5eed09e689aecdde7c4a90a5b 03-Apr-2016 Michael Mc Donnell <michael@mcdonnell.dk> layers: Fix 7 signed/unsigned comparison warnings on VS2015
/external/vulkan-validation-layers/layers/core_validation.cpp
ca32a764ef85a255c97531164bffb073553de105 04-Apr-2016 Jamie Madill <jmadill@chromium.org> layers: Fix MSVS shadowing warning in core_validation.

warning 4457: declaration of 'fence' hides function parameter
/external/vulkan-validation-layers/layers/core_validation.cpp
614e68cc288cb340ad5b803c039fe6095f371435 04-Apr-2016 Tony Barbour <tony@LunarG.com> Revert "layers: LX265 Error if color blend attch count != subpass attch."

This reverts commit dcce8143110568353a6217e5b885da407edd29be.

Change-Id: I0882b499b38e3cf7670846a9ffae48a0fbf015a3
/external/vulkan-validation-layers/layers/core_validation.cpp
4a3279bb23b511257d80ec73ce06d6206d7ab503 30-Mar-2016 Michael Lentine <mlentine@google.com> Fix find layout to search on each aspect bit.

Change-Id: I155ee469ef98d1ad9b1bfc8813a1cff43f30f8ca
/external/vulkan-validation-layers/layers/core_validation.cpp
e1e6c09294ddc4f915a332b495db9c14163b2cd3 01-Apr-2016 Tobin Ehlis <tobine@google.com> layers: GH226 Add check for descriptor slot to make sure it's updated

We have an existing check to make sure that a set has been updated, but there was
still a hole where individual slots may not have an update. This adds an additional
check to make sure that we flag any slots that are used by not updated at draw time.
/external/vulkan-validation-layers/layers/core_validation.cpp
e576798e0a38a7d941b6202d784ad705024e9fdc 30-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Removed duplicate dynamicOffsets from core_validation

Missed this from a rebase conflict. Kill top-level cmd buffer node
dynamicOffsets vector and only use vector based off of lastBound data.
/external/vulkan-validation-layers/layers/core_validation.cpp
f706c50be3a9d4d1e131c2f43ee2fb443f028d30 04-Apr-2016 Chris Forbes <chrisforbes@google.com> tests: Add test case for patch decoration mismatch

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
0f44c68c2575ba2fc83d8c8f2f5ea09548f40686 29-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Flag difference in patch decoration correctly

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
031261d21af8907953dd763398ce9a23e65b8749 29-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Strip array level from both sides of TCS->TES interface

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
7c755c8aca6857046df9516d8336416165969cb9 29-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Rework array-of-verts stripping a bit to support patch

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b934cb26db50b965da46ca3e3f006d5a93478f71 29-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Collect whether an interface_var has patch decoration

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
81264ddfa672e895a201f034617eca45bf8b9059 02-Apr-2016 Eric Engestrom <eric@engestrom.ch> layers: fix spelling mistakes
/external/vulkan-validation-layers/layers/core_validation.cpp
ec27ab7d1aa03fa187755b6720e1be995a994f5c 01-Apr-2016 Mark Lobodzinski <mark@lunarg.com> layers: Enable safety check for invalid QueryObject

Typo allowed object access for invalid QueryToStateMap objects

Change-Id: I50845ca09564ea8b77173d2165a5318160dd8d7e
/external/vulkan-validation-layers/layers/core_validation.cpp
2c905c8b5aca814df6c680348145ca48885f9f69 01-Apr-2016 Dustin Graves <dustin@lunarg.com> layers: LX414: Fix device_limits alignment check

Fix buffer/descriptor offset alignment checks in device_limits:
- vkUpdateDescriptorSets offset check was not performed with
the correct physical device alignments.
- vkBindBufferMemory offset check was always performed with the
UBO alignment. This check has been moved to core_validation,
where the offset is checked against the alignment associated
with its usage type and the alignment retrieved from
vkGetBufferMemoryRequirements.

Change-Id: I4f64e06c44972a224d1930cb0798a9f472b768f2
/external/vulkan-validation-layers/layers/core_validation.cpp
3d722f98b98af892a5c2b98a26068db98de39c33 01-Apr-2016 Mark Lobodzinski <mark@lunarg.com> layers: LX459,GH#99,#100, Fix semaphore reference count

QueueSubmit waitSemaphore refcounts were getting incremented instead of
decremented, resulting in invalid 'semaphore still in use' errors.

Change-Id: I8ac224115b8ee43637b8de4b377750b277cfd22b
/external/vulkan-validation-layers/layers/core_validation.cpp
1c1ee7bf64fb8cc2ba4b8661baa11dce24b3b23a 30-Mar-2016 Mark Young <marky@lunarg.com> layers: LX250 Verify color and depth/stencil are different.

Validate that the color and depth/stencil attachments in a
subpass are different.

Change-Id: I0010270e50334cd1dc5b275c29c76265f570b186
/external/vulkan-validation-layers/layers/core_validation.cpp
04826a08000a815c3d7949348c7dfcaac277d7c9 01-Apr-2016 Dominik Witczak <Dominik.Witczak@amd.com> #238: Fixes the "num samples mismatch" error being shown incorrectly for subpasses with 0 attachments
/external/vulkan-validation-layers/layers/core_validation.cpp
c7196adb126cc3c77dc932e29193ca886532bac5 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Replace GLOBAL_CB_NODE::pMemObjList with unordered_set

One more std::list gone.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
20b3e28d96ae4f3cbd4535e53eb68521d31bb91b 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of a bunch of linked list copying when retiring CBs

There was no reason to copy this.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
4f085d96e1f9ba7cba58b480ae64a8546c9a00ee 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: trivial: remove stray () from end of error message

This wasn't describing a function; the () on the end is just nonsense.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
de886ba66b4535930eda3f737b1460bd62e1b2a5 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Replace DEVICE_MEM_INFO::pCommandBufferBindings with
unordered_set

More linked-list removal.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
896fc32d6f25e4bbe916bd27f2d5358d235840d4 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Replace DEVICE_MEM_INFO::pObjBindings with unordered_set

- Add operator== && std::hash specialization required for use in
unordered_set.
- Replace list by unordered_set
- Delete piles of stuff

V2: Fix accidentally inverted error condition

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c025ba3a7a8ad299af93449fbc234b6631d6f9eb 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Get rid of DEVICE_MEM_INFO::refCount

This is always the sum of the two container sizes, which are guaranteed
accessible in constant time in C++11.

We can only screw it up by independently tracking it.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e9fc72c9b6850b2769d7100bb4e9cffde395f05b 30-Mar-2016 Tobin Ehlis <tobine@google.com> layers: GH218 Reset availableSets count in vkResetDescriptorPool
/external/vulkan-validation-layers/layers/core_validation.cpp
0292df5015fd4bc660ec2612ad8e9b091059b3f5 01-Apr-2016 Mark Young <marky@lunarg.com> layers: Fix layer_validation_tests errors and update new message

Update the error message returned for the new color/blend
attachment compare, and fix tests Tobin discovered were
triggering early on the new error check.

Change-Id: I43c99a7db651632efde46a1ae17b5bfb4f424a78
/external/vulkan-validation-layers/layers/core_validation.cpp
dcce8143110568353a6217e5b885da407edd29be 30-Mar-2016 Mark Young <marky@lunarg.com> layers: LX265 Error if color blend attch count != subpass attch.

Spec states that the VkPilelineColorBlendAttachmentState
attachmentCount must be equal to the subpass'
colorAttachmentCount.

Change-Id: I2b281cda2c12f2003d8ee68b326d78a9aaadf573
/external/vulkan-validation-layers/layers/core_validation.cpp
24991fb692f7e2d457da50d50c40f2705591300c 31-Mar-2016 Michael Lentine <mlentine@google.com> layers: Adding attachment checks to make sure they aren't out of range.
/external/vulkan-validation-layers/layers/core_validation.cpp
a5ce96d7c88653668a2b33a6b72bd3cb16d73f48 31-Mar-2016 Michael Lentine <mlentine@google.com> Don't validate memory if used for both input and output.
/external/vulkan-validation-layers/layers/core_validation.cpp
f05c35fb24123fd1bcba89accc7fed2c2d0181b7 31-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
fcaf4f848530651450a39dfd7aa6997f5343b04b 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Don't leak a VkFramebufferCreateInfo from vkCreateFramebuffer

This allocated and then immediately leaked localFBCI.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
27c3e0dda9e30d1d334728bbd373e8d7011257d4 31-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Fix the other half of #212 (bad error)

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
2ab14387df9b890fe4b13494ea249dd03cf898d2 31-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
e7389100d0953825176ee22d508b7c6e5385cb10 30-Mar-2016 Dominik Witczak <Dominik.Witczak@amd.com> layers: GH215 Removes an invalid check in vkCmdBindDescriptorSets()
/external/vulkan-validation-layers/layers/core_validation.cpp
7a3985a8a9d255dcca9f5992ca2262c7e5df41c6 25-Mar-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
1657461fe9b20d471b0d65f8fc67550cddeb6c00 30-Mar-2016 Dominik Witczak <Dominik.Witczak@amd.com> #37: vkAcquireNextImageKHR() will no longer treat VK_NULL_HANDLE arg as a valid semaphore handle
/external/vulkan-validation-layers/layers/core_validation.cpp
03857e826cdc6e8d814137fb3245596ca1cb7bc7 30-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
09042aa0b6f4b3c579f58ed07c9eb4f20899e0be 30-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: More slight tidying of SC pass

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
080afef66a53dbdd085698b713697296458edfd9 30-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
78be5018e238bd464b1f1c55138df277c0c18922 29-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
6c94fb996af5f7f79a2bff04cc8cf425086de111 30-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
7aca5b1da334a7b3577ed2857d3263568b9cc645 30-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
888cab4f564233973a6178cdbbe62186ad253a6a 29-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Reduce noise in string conversion of objects

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b00e0e318f9a5528ae317066b0de83a4d923fda2 29-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: remove unused getTIDIndex function and associated data

This produces warning noise and nobody uses it.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
b376edacad6f7ab3fcc0a914e9b1673a9fcd5143 29-Mar-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
35cd175466f88e5a0a081b29c59c3246d5bf7f78 24-Mar-2016 Chris Forbes <chrisforbes@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
3d3e06b40a06f099e741b9299efa66bddb69a074 28-Mar-2016 Tobin Ehlis <tobine@google.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
39d153555b5101b1b093d80100e329368c66b79d 25-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Improve core_validation image layout error message

Change-Id: I1e22ef9be4b1d8b22765e1150f828904334380eb
/external/vulkan-validation-layers/layers/core_validation.cpp
7068a4271b2a542d7e6931104fa62e4a788ed8e5 28-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Michael's fix for uninit'd data in FindLayout

Change-Id: Ia34d036e15a08c135cf3fb0ea4a80c12f2201ec7
/external/vulkan-validation-layers/layers/core_validation.cpp
076b41e60e609f4d1317f0a55c0f22c6e64a3cee 25-Mar-2016 Michael Lentine <mlentine@google.com> layers: Clarify message when query has not been performed.
/external/vulkan-validation-layers/layers/core_validation.cpp
4d23e010bf71b5b276fbf7035c3fb5e8873a64ae 25-Mar-2016 Michael Lentine <mlentine@google.com> Revert "layers: Make layout checks warnings for pass begin."

This reverts commit 851d28e4759f45bebd151fe163a50741a9947ff0.
/external/vulkan-validation-layers/layers/core_validation.cpp
656b1a5d2165c66fd4af21d070243d387cd4ac56 25-Mar-2016 Karl Schultz <karl@lunarg.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
06e963555b0df747c98c43816c16647349d21001 24-Mar-2016 Mark Young <marky@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
3a417a5ce9f836b2b8602f7886f735a7ad6acdbb 24-Mar-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
885537d813d6fb3d199e76f6d63b6d3f78d0eeb0 25-Mar-2016 Michael Lentine <mlentine@google.com> layers: Add check for renderArea being within framebuffer bounds.
/external/vulkan-validation-layers/layers/core_validation.cpp
d6c1882c31a88ae01b94f3135679f739287be31a 25-Mar-2016 Karl Schultz <karl@lunarg.com> layers: LX453 fix typo in output message.

Change-Id: I7ec8ba429a886bee14dd5a209fa6718941ec19d5
/external/vulkan-validation-layers/layers/core_validation.cpp
851d28e4759f45bebd151fe163a50741a9947ff0 25-Mar-2016 Michael Lentine <mlentine@google.com> layers: Make layout checks warnings for pass begin.
/external/vulkan-validation-layers/layers/core_validation.cpp
1c0f4ce5068dadb12be8715c18a7769d9457b5ea 25-Mar-2016 Michael Lentine <mlentine@google.com> layers: Update layout mismatch message to provide more detail.
/external/vulkan-validation-layers/layers/core_validation.cpp
a61b537fcb6a4f7b92cd217b3964ad7a48109da1 24-Mar-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
08682cd3f4809493847b6bdf7605e0a2fede0d56 24-Mar-2016 Michael Lentine <mlentine@google.com> layers: Fix layout transitions for combined aspect masks.
/external/vulkan-validation-layers/layers/core_validation.cpp
81a46bbcaaf47ce86080d8a86dcab9817dbcc34f 24-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Additional mutex fixes

Change-Id: I0b1678a97f962ec30903c9076f08668ec89fc981
/external/vulkan-validation-layers/layers/core_validation.cpp
ada0fecba2975cef315b77d8210748eafa2b078e 24-Mar-2016 Tobin Ehlis <tobine@google.com> layers: GH177 Fix deadlocks

Fix some early return cases where lock wasn't correctly released.
/external/vulkan-validation-layers/layers/core_validation.cpp
26c548826ff0f83d12c769b51e7d6f76d1265c0e 23-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: remove weird double assignment to pAttachments
/external/vulkan-validation-layers/layers/core_validation.cpp
47892024546c67e8db98b51b2ddb962c21088894 22-Mar-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
87e0afcd98dcf3c1e5e2cbb3023fe89d9dd10cd2 22-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Merge renderpass maps in core_validation

Kill passMap, merge all renderpass data into RENDER_PASS_NODE and only use renderPassMap.
/external/vulkan-validation-layers/layers/core_validation.cpp
5b81366f6b6bf2b76529d233143bcd13bdbb8533 22-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Merge framebuffer maps in core_validation

Add attachments container to FRAMEBUFFER_NODE and only use frameBufferMap.
/external/vulkan-validation-layers/layers/core_validation.cpp
a2d5d61d3c324e027f78bfd1d8c4c49c66898520 21-Mar-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
c7bd67f06427b08ba65cdf2dd529c8234beebdd5 23-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix AV in core_validaton

Caused crashes in DOTA2

Change-Id: I74d121641872597a63ea42e13ff860112fc7c314
/external/vulkan-validation-layers/layers/core_validation.cpp
03b71511c9e94f2e6101a3214858cee3742ec277 23-Mar-2016 Mark Lobodzinski <mark@lunarg.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
f1ea418f193d10a8455cdf47e0eeeeb1f4d8b5bf 22-Mar-2016 Jon Ashburn <jon@lunarg.com> misc: Update to header version 1.0.6

Change-Id: Idf7a9d40278b796e16effa54e9b60668d275b8ec
/external/vulkan-validation-layers/layers/core_validation.cpp
b4cc521cc1250cec2a064e22a4d840f1ab42370d 18-Mar-2016 Michael Lentine <mlentine@google.com> layers: Update event tracking to account for sequential cross command buffer and queue tracking.
/external/vulkan-validation-layers/layers/core_validation.cpp
72d66f0c1639cbaca92459498452d06db32d7aef 21-Mar-2016 Tobin Ehlis <tobine@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
5188e31f172f7dee49b6ae0a3d81d4cfd8c1b231 17-Mar-2016 Chris Forbes <chrisforbes@google.com> 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>
/external/vulkan-validation-layers/layers/core_validation.cpp
dc38a246162c63b8600c86b4503cba5cf92c5007 17-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Slightly simplify descriptor uses loop in SC

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
c7f3656e5af8628fa6670d67feea563cecfece19 21-Mar-2016 Tobin Ehlis <tobine@google.com> 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
/external/vulkan-validation-layers/layers/core_validation.cpp
937bfd4b04c5c92a072f357f9c12d82eaf445d5e 22-Mar-2016 Tony Barbour <tony@LunarG.com> layers: Add lock around erase from frameBufferMap in core_validation

Change-Id: I042573b54876e63c19140948a26d388934e1a3c9
/external/vulkan-validation-layers/layers/core_validation.cpp
62592801ae20ab7e059e43232c639521eb32b759 21-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix core_validation layer cube --validate failure

Change-Id: Ice327b98f0befa0a605155b5ebe3dfe359db6020
/external/vulkan-validation-layers/layers/core_validation.cpp
ede566c411d308e49d03a28448cf8ac89ef647e6 21-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix windows issue in smoketest --validate

Change-Id: I50a7d39fcd4b6a9c895cfafd2405058e411220f4
/external/vulkan-validation-layers/layers/core_validation.cpp
918c283ac4f8c604b79abd0c8b5706d2a7352a34 18-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Hold shader_module by unique_ptr, clean up properly

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
ea26140408c3361500b5d5b8498a4f28a3e92ef5 18-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: More housekeeping: slightly lighten descriptor set compatibility
/external/vulkan-validation-layers/layers/core_validation.cpp
9ccb7b1342fd1a901f1ae0d202721a50d2c227f9 18-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: More housekeeping: use stringstreams for describe_type
/external/vulkan-validation-layers/layers/core_validation.cpp
7b892d2fc502b57d26dc9bff61b0f23cccc595fd 17-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Determine required descriptor count when stripping array levels
/external/vulkan-validation-layers/layers/core_validation.cpp
1b8c581791ac3c05d7829e04a2d8ecb964b8f2a6 17-Mar-2016 Chris Forbes <chrisforbes@google.com> 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.
/external/vulkan-validation-layers/layers/core_validation.cpp
37083dec1ff1ca643bfc06b5308ca5ac718d58b0 17-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: Just return the whole binding struct from has_descriptor_binding

We're about to want the descriptorCount too. This was getting absurd.
/external/vulkan-validation-layers/layers/core_validation.cpp
f0d091deca3d4b90e1f31d75e062684dca160ad1 18-Mar-2016 Michael Lentine <mlentine@google.com> Allow REMAINING for subresources.
/external/vulkan-validation-layers/layers/core_validation.cpp
0a32ed7bdf03e7bda914e03c0bfa6ebf400cdf5b 17-Mar-2016 Michael Lentine <mlentine@google.com> layers: Track lifetime when using cross-queue semaphores.
/external/vulkan-validation-layers/layers/core_validation.cpp
7e6ee472f8858eeca9f38d29b7ed0054ec615537 17-Mar-2016 Tony Barbour <tony@LunarG.com> layers: Lock around destroyedFramebuffers inserts in core_validation

Change-Id: I32754ae405c01acbde8a82ebaef0938a5e314f73
/external/vulkan-validation-layers/layers/core_validation.cpp
787f29d93dee194c015789cf61c079504c980572 17-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Fix validation of vkCmdBindDescriptorSets() during renderpass

Spec allows vkCmdBindDescriptorSets() to be called inside or outside of a
renderpass so killing two core_validation checks that violate this behavior.
/external/vulkan-validation-layers/layers/core_validation.cpp
58070a671b39e2058a799c7b9c932f3f03f2e66d 16-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Consolidate VkDeviceMemory maps into a single map

There were three separate maps in core_validation.cpp that used VkDeviceMemory for key.
This change consolidates those maps into a single map with DEVICE_MEM_INFO as the value.
To accomadate this I added data to DEVICE_MEM_INFO struct to track mapped image/buffer
ranges as well as image reference for memory with mapped image.
/external/vulkan-validation-layers/layers/core_validation.cpp
1a00634355083e5bc861ac568f3d35793ea73242 16-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Consolidate properties checks in core_validation

Remove global properties and only use properties from physDevProperties.properties.
/external/vulkan-validation-layers/layers/core_validation.cpp
de040b4d09f3714f94116be2a1841d448869bed2 16-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Remove global wsi_enabled in core_validation

core_validation layer only needs wsi_enabled bool from devExts struct.
/external/vulkan-validation-layers/layers/core_validation.cpp
6452509a7fb8cc83ca30e2553ea28bbb0da705be 17-Mar-2016 Tony Barbour <tony@LunarG.com> layers: Lock around image and buffer range erases in core validation

Change-Id: Id975474ef331369e5dc57a24ea6051253fb657cf
/external/vulkan-validation-layers/layers/core_validation.cpp
0801763633180d277d26a90343464bd11646056f 16-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Consolidate swapchainMaps in core_validation

Remove old mem_tracker swapchainMap and consolidate all swapchain tracking
into the devExts struct swapchainMap.
/external/vulkan-validation-layers/layers/core_validation.cpp
a3c20a28f119d24faec013fb4513605b654c36c3 14-Mar-2016 Chris Forbes <chrisforbes@google.com> layers: validate capabilities against device features

V2: squashed in feedback.
V3: More careful about VkBool32

Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/core_validation.cpp
e5bc02759d9ab768d67b2f45ec53d29fb59a4705 17-Mar-2016 Tony Barbour <tony@LunarG.com> layers: Move lock around add_object_create_info in core_validation

Change-Id: I9b183e1231fecc7dce8db9899ee115c5e7a2be3e
/external/vulkan-validation-layers/layers/core_validation.cpp
d11c4ee2bd2a5672093d76630d895e824ee1a571 15-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Move layer debug action initialization into layer_utils

Also removed dead code from the layer generation script.

Change-Id: I64fdcaaf1aed8152de62079568c8e247333d8c61
/external/vulkan-validation-layers/layers/core_validation.cpp
14fbd08bf52bcbd4b5e65538d30c643c04535e30 15-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Add some defensive code to core_validation

Missed a NULL check and assert when I merged in the bindingToIndexMap fix for descriptor type/stageFlags.
/external/vulkan-validation-layers/layers/core_validation.cpp
aeaf18290b786324f35b462651928c00e4066bfa 15-Mar-2016 Mark Lobodzinski <mark@lunarg.com> layers: Fix crash in core_validation layer

CommandBuffers were getting added to commandPoolMap twice.

Change-Id: I115757751ef0aebb1f2599217b3117beca3cd0b7
/external/vulkan-validation-layers/layers/core_validation.cpp
5b5e7bcfe47d9ed90d0d5edbbe11edf7214a7784 10-Mar-2016 Tobin Ehlis <tobine@google.com> layers: Merge mem_tracker and draw_state layers into core_validation layer

cube & tri --validate now use core_validation instead of MT & DS

Very little efficiency has been pulled out for this initial merge.
A few maps have been merged, but otherwise almost all of the mem_tracker
code is pulled intact and surrounded in "#if MTMERGE" blocks.

Change-Id: Icf060bfc0177fc8c9fa7d8d57f7ddc446357b665
/external/vulkan-validation-layers/layers/core_validation.cpp