Tobin Ehlis [Fri, 3 Feb 2017 00:26:40 +0000 (17:26 -0700)]
layers:Add buffer descriptor device limit checks
This adds missing checks for max range for storage and uniform buffer
updates. Also update database file.
Mike Weiblen [Fri, 3 Feb 2017 19:44:53 +0000 (12:44 -0700)]
layers: adjust VU database/scripts for impl flag
Since the VU database audit, "U" is no longer valid as a value for
the check_implemented status; only "Y" or "N" are valid.
Adjust the spec.py generator script to default to "N" for newly added
Valid Usages.
Adjust database stats script to emit an error message if the
check_implemented value is anything other than "Y" or "N".
Added some whitespace between functional areas.
Update the database to change recently VU lines from "U" to "N".
Change-Id: I72929362d67ddea862cb380e1bfcd0b475531d56
Mark Lobodzinski [Fri, 3 Feb 2017 22:15:12 +0000 (15:15 -0700)]
layers: GH706, Allow GLSL shaders during validation
Validation will now ignore shader shages created with GLSL when
using the NV_GLSL_SHADER extension.
Change-Id: Iaa4b284c6491a5be8d77f4616018a0cd05af8d18
Mark Lobodzinski [Sat, 4 Feb 2017 17:55:12 +0000 (10:55 -0700)]
layers: Set up disable for shader validation
Added a disable flag for shader validation.
Change-Id: I6b0a563a1350d988740ea111ec6d7f007702c595
Mark Lobodzinski [Fri, 3 Feb 2017 19:07:43 +0000 (12:07 -0700)]
layers: Add enable for NV_GLSL_SHADER extension
Change-Id: Iffe21dd329c253878b9c2db0ceaf2e8f62679703
Mark Young [Fri, 3 Feb 2017 23:27:42 +0000 (16:27 -0700)]
loader: gh1449 - Fix mem leak on CTS
Fix a memory leak in the CTS test which fails randomly during
the vkCreateInstance call.
Change-Id: Ie72feac730d3854cb2af9e13a3687aa43081bfd5
Mark Lobodzinski [Thu, 2 Feb 2017 23:12:37 +0000 (16:12 -0700)]
layers: Remove redundant validation from image layer
CmdPipelineBarrier validation in image layer is already performed in
core_validation via checks 769 and 2598. Updated MiscImageLayerTests
to use existing VU id as well as database with new test name.
Change-Id: I218dacf6a98ad576aa7cb07c1b33784a105faee6
Mark Lobodzinski [Thu, 2 Feb 2017 22:51:57 +0000 (15:51 -0700)]
layers: Remove CmdClearAttachments from image layer
Change-Id: I8974331f45308696372b675e05408df2a42486f9
Mark Lobodzinski [Thu, 2 Feb 2017 22:50:27 +0000 (15:50 -0700)]
layers: Move CmdClearAttachments into buffer module
This validation was in the image layer.
Change-Id: Ia0995b352735c319145a07b1e6b90a5a03ddd463
Mark Lobodzinski [Thu, 2 Feb 2017 22:22:50 +0000 (15:22 -0700)]
layers: Move PreCallValCmdClearAttachments from CV
This validation routine and helpers now reside in buffer_validation.
Change-Id: Icd487e400a17f952b59a426d7268d38ea4c17c69
Mark Lobodzinski [Thu, 2 Feb 2017 21:40:11 +0000 (14:40 -0700)]
layers: Remove CmdCopyImage from image layer
Change-Id: I54c5e356b97c2c755a9b360e745a50da48776f21
Mark Lobodzinski [Thu, 2 Feb 2017 21:38:47 +0000 (14:38 -0700)]
layers: Move CmdCopyImage validation into CV
Moved from image layer into buffer module.
Change-Id: If4a826cd8ce311a30d2ce15a820459dbe4b96743
Tony Barbour [Thu, 2 Feb 2017 16:31:30 +0000 (09:31 -0700)]
layers: Tolerate null handles in destroy and free routines
Several CTS tests call destroy routines with null pointers. This
keeps validation layers from crashing or reporting false positives
Change-Id: I95a3bee21902598dffc0df28e53f5ff253cb6207
Mark Lobodzinski [Wed, 1 Feb 2017 20:35:48 +0000 (13:35 -0700)]
layers: Move findlayout/setlayout & val helpers
Moved image layout related validation and support routines out of
core validation and into the buffer_validation module.
Change-Id: I85ce2c5172d9a89e465e29fe2d6abdaab1f99747
Robert Morell [Wed, 1 Feb 2017 22:51:00 +0000 (14:51 -0800)]
cube: Error handling improvements
- Add a newline to the end of the error message when printing to stdout
for ERR_EXIT.
- Handle demo_read_spv failures by calling ERR_EXIT rather than just
continuing on and calling the Vulkan library with a NULL pointer.
Benjamin Saunders [Sun, 29 Jan 2017 22:49:54 +0000 (14:49 -0800)]
loader: Improve Linux manifest search
Searching XDG_CONFIG_DIRS and XDG_DATA_DIRS instead of hard-coding
specific paths improves portability, particularly on platforms which
don't implement the Filesystem Hierarchy Standard. For example, this
allows the loader to function correctly out of the box on NixOS.
Mark Lobodzinski [Thu, 2 Feb 2017 15:31:18 +0000 (08:31 -0700)]
layers: Plumb through image_state structures
Saved some lookups by sending down state instead of images in the
image validation helper functions.
Change-Id: I2b21218596b8e980d4f55451a5feccdb2dac6360
Mark Lobodzinski [Wed, 1 Feb 2017 17:57:21 +0000 (10:57 -0700)]
layers: Move ClearDepthStencilImage val out of CV
Moved this image layer validation into the existing routines in the
buffer_validation module.
Change-Id: If809b5ef484fccdd2d9715adc06c5e439b0b8942
Mark Lobodzinski [Wed, 1 Feb 2017 16:03:06 +0000 (09:03 -0700)]
layers: Move image validation support to buffer_val
Moved the new CmdClear[Color/DepthStencil]Image support routines
to the buffer_validation module, along with some related helper
functions.
Change-Id: I76a4b545e696bbc770ef0c672d14c92e4a941e49
Jeff Juliano [Tue, 31 Jan 2017 21:36:18 +0000 (16:36 -0500)]
loader: Minor language clarification, fix markup
Tobin Ehlis [Wed, 1 Feb 2017 20:31:22 +0000 (13:31 -0700)]
layers:Move gfx pipe check to create time
Fixes #1424
The check to verify that the attachmentCount for blend state of a
Graphics Pipeline matches the attachmentCount for the given subpass of
the creation renderPass was occurring at draw time but can and should
be done at Gfx Pipeline creation time.
This change moves the check to creation time and updates the database
and test appropriately.
Tony Barbour [Tue, 31 Jan 2017 23:09:58 +0000 (16:09 -0700)]
demos: Add XInitThreads to xlib path of cubes
Change-Id: Idb2991972bdd91c3e48ad5d796de4b31d7138c98
Mark Lobodzinski [Tue, 31 Jan 2017 22:24:47 +0000 (15:24 -0700)]
layers: Refactor ClearColor/DSImage for pre/post
Change-Id: Id055c26ca0ecb5012f96a7e8f474d598d6b46dfd
Mark Lobodzinski [Tue, 31 Jan 2017 22:11:38 +0000 (15:11 -0700)]
layers: Split validation/state updates for clears
CmdClearColorImage and CmdClearDepthStencilImage routines mixed
validation and state updates. Separated these and made the state
updates conditional on passing validation.
Change-Id: Ib710e91a038f7a0307d30218a49db1bf49bb8187
Mark Lobodzinski [Tue, 31 Jan 2017 21:57:03 +0000 (14:57 -0700)]
layers: Fix var names in CmdClear[C|DS]image
Change-Id: I3206d734401cb162b219ed9d0a169786a3b5c4c4
Mark Lobodzinski [Tue, 31 Jan 2017 21:54:24 +0000 (14:54 -0700)]
layers: Fix var names for ClearImageLayout funcs
Change-Id: I66c42d591d70b816788cb1ab457d8d674fb5cbe5
Mark Lobodzinski [Tue, 31 Jan 2017 21:48:54 +0000 (14:48 -0700)]
layers: Split VerifyClearImageLayout routine
This routine mixed validation checks and state updates. Split into
two routines: Validation is in VerifyClearImageLayout while state
updates are now in RecordClearImageLayout.
Change-Id: Ib6c943c0df16a9bdbcc7c44c775f371b56bbcbb2
Rene Lindsay [Fri, 27 Jan 2017 18:32:17 +0000 (11:32 -0700)]
docs: Update build dependencies
libx11-xcb-dev is used by WSI-Window.
libx11-xcb-dev depends on libx11-dev and libxcb1-dev.
So, installing libx11-xcb-dev will install all three.
Change-Id: Id3909919bbd48794df2fcad10b67ea3f8dbb203f
Mark Lobodzinski [Tue, 31 Jan 2017 20:20:50 +0000 (13:20 -0700)]
layers: Rename misleading renderpass structure var
Renderpass state structure was called 'renderPass' leading to some
confusion and errors.
Change-Id: I9c0d301fc41cebff6a1eadc99ee2d2d30d11beb1
Mark Lobodzinski [Tue, 31 Jan 2017 18:10:38 +0000 (11:10 -0700)]
layers: GH1390, Fix BeginRenderPass validation msg
Incorrect index was printed in validation warning. Clarified message.
Change-Id: I77806a5fa5da25e966b009126d7a0db7a47a3908
Mark Lobodzinski [Tue, 31 Jan 2017 17:55:50 +0000 (10:55 -0700)]
layers: GH1390, Fix renderpass handle output
The CV CmdBeginRenderPass validation was using the incorrect variable
to output the renderpass handle in error messages.
Change-Id: I902a04ba7009557257732e0ff65d98aa93f88f31
Dave Houlton [Tue, 24 Jan 2017 22:09:17 +0000 (15:09 -0700)]
layers: Add tests for sparse images
Add two tests to verify the checks added around sparse residency
images.
Change-Id: Iedd56acecb34c26f367a099ca6acbea8f6e4dedf
Dave Houlton [Mon, 23 Jan 2017 23:37:04 +0000 (16:37 -0700)]
layers: Add sparse image tiling check - GH283
Fixed the missing sparse residency with linear tiling check from
GitHub issue #283. Also added 6 related valid usage checks from the
database.
Change-Id: I357e63ee0e6e4787e1aeea67756906e591ba8187
Damien Leone [Tue, 31 Jan 2017 17:26:07 +0000 (10:26 -0700)]
cube: Add direct to display support
Although this extension is platform agnostic, this commit only enables
it on Linux because this is the only platform I am able to test.
Direct to display is enabled by passing '-DDEMOS_WSI_SELECTION=DISPLAY'
to cmake.
Change-Id: I5f23019d4b0c87104e1f834d3a6901850bfda7a3
Mark Lobodzinski [Tue, 31 Jan 2017 17:34:28 +0000 (10:34 -0700)]
vulkaninfo: Kill printed whitespace
Change-Id: I1e9d088d744bd1c4745a4c77ea75207f5350bf02
Tobias Markus [Mon, 30 Jan 2017 09:48:00 +0000 (10:48 +0100)]
vulkaninfo: Print human-readable heap sizes
Since the size of a memory heap can be rather substantial, it is helpful
to have the size additionally printed out in a human-readable format,
i.e. using prefixes.
Change-Id: I47aad4fce06471804ce9e853ba300626b6ad34c8
Mark Lobodzinski [Fri, 27 Jan 2017 22:16:01 +0000 (15:16 -0700)]
layers: Migrate image layer CmdClearColorImage
The image layer checks for this API were moved to the
buffer_validation module and a call was added to CV.
Change-Id: I04b23843519d2354c952afebc3a3428b196339e3
Mark Lobodzinski [Fri, 27 Jan 2017 21:50:23 +0000 (14:50 -0700)]
layers: Move CreateRenderPass format check to PV
Format validation check was in image layer -- removed the API
completely and moved check to parameter_validation. Also updated
to use the VU ID and noted it in the database.
Change-Id: I339925be7615777cfb1214ffe456a2498c676177
Mark Lobodzinski [Fri, 27 Jan 2017 21:25:32 +0000 (14:25 -0700)]
layers: Update PostCallRecordCreateImage
Changed to use layer_data accessor functions instead of passing in
items individually.
Change-Id: I55b92a4e0a6fff0e74516b9249c213f7d514cc8e
Mark Lobodzinski [Fri, 27 Jan 2017 19:28:30 +0000 (12:28 -0700)]
layers: Move DestroyImage code into buffer module
Moved CHECK_DISABLED into CV_types.h, moved validation and recording
routines into buffer_validation.cpp.
Change-Id: I103d0fc9c2e985d98943471ec6f83898c58bfdfe
Mark Lobodzinski [Fri, 27 Jan 2017 18:13:21 +0000 (11:13 -0700)]
layers: Fix CreateImage extent validation
Spec has changed and no longer allows any member of the extents
structure to be <= zero. Fixed validation and added correct VU ID,
updated test and database.
Change-Id: Ifafedf8cd6d59ecba975ae1b25c9f00d86247504
Mark Lobodzinski [Thu, 26 Jan 2017 22:23:11 +0000 (15:23 -0700)]
layers: Move CreateImage validation into core_val
Was in Image layer. Added layer_data accessor functions.
Change-Id: I55b7896cfc9de81210c9fba4d332998c827f5d44
Mark Lobodzinski [Tue, 31 Jan 2017 14:35:19 +0000 (07:35 -0700)]
cmake: GH1428, Reenable subproject builds
SCRIPTS dir was defined using CMAKE_SOURCE_DIR which prevented LVL
from building correctly if used as a subproject. Changed to use
CMAKE_CURRENT_SOURCE_DIR.
Change-Id: I201fcfde78b65df80c3c74373a26e4d518770806
Karl Schultz [Fri, 20 Jan 2017 20:19:20 +0000 (13:19 -0700)]
build: Enable declaration hiding warning on Windows
Fixes #1388
Turn on the Windows compiler option (4456) to report
hidden declarations.
Fix all places where this was occurring.
Change-Id: I3346d87da8b70d6299c206fcac68520a091ed1a6
Mark Lobodzinski [Fri, 27 Jan 2017 22:34:37 +0000 (15:34 -0700)]
layers: Add new module to stats script
Change-Id: Ic353c7bd1d0c9d067fa52d413b25a87f641c4747
Mike Weiblen [Fri, 27 Jan 2017 21:03:26 +0000 (14:03 -0700)]
external: Update glslang/spirv-tools revisions
glslang_revision to commit
62c3e400
spirv-tools_revision to commit
cb009b38
Change-Id: I44146bc2fca4043013076e9368fcc8cefa6854b4
Mike Weiblen [Tue, 24 Jan 2017 20:08:42 +0000 (13:08 -0700)]
layers: GH-909 level/layer Valid Usage checking
Refactor subresourceRange.levelCount and subresourceRange.layerCount
checking from PreCallValidateCreateImageView() into a standalone
helper function ValidateImageSubrangeLevelLayerCounts() to facilitate
reuse below.
Add ValidateImageSubrangeLevelLayerCounts() to ValidateBarrier(), to
address GH-909.
This extends the reuse of Valid Usages 00768 and 00769, which are
already tagged as deserving new standalone Valid Usages.
This change is implemented such that it will be simple to modify for
new VUs, once they're available.
Also canonicalize function names passed as parameter to helper
function.
Change-Id: I8346a19e9b2c4df578334c2aebfb78e6492bd1d9
Marcin Kantoch [Fri, 27 Jan 2017 11:33:21 +0000 (12:33 +0100)]
layers: Fix for VkBufferImageCopy for depth/stencil
According to the Vulkan spec:
"If the the calling command's VkImage parameter's format is not a
depth/stencil format, then VkBufferImageCopy::bufferOffset must be
a multiple of the format's element size"
Currently the image validation layer is checking unconditionally if
VkBufferImageCopy::bufferOffset is a multiple of the format's
element size and reporting error otherwise.
Added code that skips the alignment check if the VkImage parameter's
format is combined depth/stencil.
Change-Id: I92f2a67eee590fa3616df9da121aceec65204c24
Mark Lobodzinski [Thu, 26 Jan 2017 20:34:13 +0000 (13:34 -0700)]
repo: Clang-format LVL source files using Google
Switch clang-format standard from the LLVM style to the
Google style for more consistency.
Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
Mark Lobodzinski [Thu, 26 Jan 2017 20:30:26 +0000 (13:30 -0700)]
repo: Change source style from LLVM to Google
Matches the source code style guide.
Change-Id: I9a1328ce8b500fa34336b52964dcb2c7fd16e17b
Mark Lobodzinski [Thu, 26 Jan 2017 19:16:30 +0000 (12:16 -0700)]
repo: Clang-format c/cpp/h LVL files using LLVM
Bring all source files in the repo up to date with consistent
coding style/standard.
Change-Id: Iceedbc17109974d3a0437fc4995441c9ad7e0c23
Mark Lobodzinski [Wed, 25 Jan 2017 16:25:29 +0000 (09:25 -0700)]
repo: Update root .clang-format file
Change-Id: Id47dc032bd82c096263531c8a3ec9237d6ef8d79
Mark Lobodzinski [Thu, 26 Jan 2017 19:22:32 +0000 (12:22 -0700)]
loader: Protect loader macro lists from clang-format
Change-Id: I3e943a538d33737453a3e71edebbd026a1c7f6f3
Mark Lobodzinski [Wed, 25 Jan 2017 16:23:04 +0000 (09:23 -0700)]
repo: Remove subordinate .clang-format files
Change-Id: I64e05b33dd830e5d2c6e7ed4c5e8a292692eae39
Karl Schultz [Tue, 24 Jan 2017 22:44:26 +0000 (14:44 -0800)]
build: Turn on "treat warnings as errors" on Win
Also address compiler warnings:
- Suppress warnings for inconsistently redefined snprintf
on Windows with Visual Studio < 2015. Warnings for
preprocessor redefinitions are still enabled on VS 2015
because snprintf is not redefined on VS 2015.
- Turn off "changed behavior" warning with Visual Studio < 2015
for using initializers in constructors. MSFT "fixed" some
forms of these initializers so that they clear members instead
of just leaving them alone. Since clearing is usually desired,
this isn't a problem in most cases. But if an object is
reinstantiated on top of an existing object, via placement new
for example, the clearing may not be desired if the first object's
data was meant to be preserved. We don't count on this behavior.
- Suppress linker warning for linking the loader in debug build on
Windows. This warning is for mismatched runtime libraries and
causes extra code to be linked in only for debug builds. Ignoring
the warning is generally regarded as better than the alternatives.
Change-Id: I8b0e311d3c80a8dd9ac0cc95f764ed1123efa86f
Mark Lobodzinski [Wed, 25 Jan 2017 16:33:25 +0000 (09:33 -0700)]
layers: Disable clang-format for gen'd header
The vk_validation_error_messages.h header file now disables
clang-format, as it is generated in-source.
Change-Id: Ie9abf005c79b67cdb5843025ce19091d23fe1bec
Tobin Ehlis [Wed, 25 Jan 2017 20:42:55 +0000 (12:42 -0800)]
scripts:Unique error enum update for 1/25/2017
Hadn't had a spec update in quite a while so this one was huge.
Also the format of the spec itself changed which required a number of
changes to the spec parser. The spec script is still broken for the
online spec which is not valid xhtml. For this update I downloaded the
spec source and hand-edited the broken parts so that the spec parser
could deal with it. Will figure out a better solution going forward,
though.
Here's the beast of a command line for this update:
python spec.py -spec test_xhtml_spec_039.html -update -remap 214-180,3:\
269-220,3:361-289:371-299:373-301:409-334,10:470-404,12:483-416,6:\
768-625,10:948-754,2:951-756,4:970-760,8:979-769:989-778,4:1031-812,16:\
1048-828,16:1158-936:1160-937,10:1171-947,12:1189-965:1190-966,2:\
1192-968:1251-1027,33:1371-1141:1408-1175,3:1412-1178:1414-1179,2:\
1417-1181:1419-1182,15:1435-1198,2:1627-1343,7:1646-1359,2:1668-1366,2:\
1720-1383:1783-1395:1871-1449:1878-1455,16:1977-1554,5:2012-1565,9:\
1992-1559,4:1997-1563,2:2202-1615:2222-1635,2:1047-1741:2313-1844,7:\
2361-1878,5:2370-1883,6:956-2161,13:1650-2201:1672-2214:1696-2229,2:\
1729-2249,2:1759-2267,2:1793-2288,2:1982-2304,6:1990-2313:1999-2314,13:\
2366-2327,4:1159-2348:968-2524:1413-2533:1418-2534:983-772,4:2512-1680:\
2587-2040:1996-2547:1170-2525:969-2173
Lenny Komow [Wed, 25 Jan 2017 20:35:01 +0000 (13:35 -0700)]
layers: Add new exts to unique_objects whitelist
Change-Id: Ia61c79833ed3b6e37402406631a50c746f312928
Mark Lobodzinski [Wed, 25 Jan 2017 17:11:50 +0000 (10:11 -0700)]
demos: Protect smoke demo data file from c-f
Clang formatting the teapot mesh data file makes it unnecessarily
lengthy -- disabled for the data definition portion of the file.
Change-Id: I773fc4655b381b26a33e32fe845514f36b9d8e66
Mark Lobodzinski [Wed, 25 Jan 2017 17:01:11 +0000 (10:01 -0700)]
layers: Protect format table from autoformatting
Change-Id: I0dbb2ab1c8f8179fe3d1fe575258051e56104f7d
Mark Lobodzinski [Wed, 25 Jan 2017 16:56:02 +0000 (09:56 -0700)]
layers: Make uniqueobjects header clang-format proof
Change-Id: I779ed9c2c1d9c7d8d0fcfec4dd89d95c14ee1401
Mark Lobodzinski [Wed, 25 Jan 2017 14:56:21 +0000 (07:56 -0700)]
docs: Update contributing doc
Change-Id: I3ead4ff33591c55312eab9b6a6b515d0453ab796
Mark Young [Tue, 24 Jan 2017 22:54:29 +0000 (15:54 -0700)]
loader: Fix EnumPhysDev bug
Fix a bug found by Piers with regards to vkEnumeratePhysicalDevices.
Basically, if the application called the function without first
calling it with NULL pPhysicalDevices, the count would be wrong.
Change-Id: If3a4ba60b17c64df2133d31d3692ee6da21c6a01
Bruce Dawson [Tue, 24 Jan 2017 05:48:04 +0000 (21:48 -0800)]
Suppress VC++ 2017 signed/unsigned warning
When building Chrome with VC++ 2017 there is one warning, from passing
an int to a call to std::vector<uint32_t>::find. This change adds a cast
to avoid that warning, thus fixing issue #1395.
Lenny Komow [Tue, 24 Jan 2017 21:49:45 +0000 (14:49 -0700)]
build: Update travis for xrandr dependency
Change-Id: I16f8e6a423ce1af305429f4c175da781139d0cb6
Mark Young [Fri, 20 Jan 2017 04:10:49 +0000 (21:10 -0700)]
loader: Update the loader to 1.0.39
Add new extensions for 1.0.39. Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
- VK_KHR_get_physical_device_properties2
- VK_KHR_shader_draw_parameters
- VK_EXT_direct_mode_display
- VK_EXT_display_surface_counter
- VK_EXT_display_control
Also, redo the LoaderAndLayerIf document.
Change-Id: I10412086da7a798afe832a3892e18f606259b5af
Mark Lobodzinski [Mon, 23 Jan 2017 16:57:36 +0000 (09:57 -0700)]
layers: Fixup cmake for new generated file deps
Change-Id: I9b5d9de6689da31907edc9ca547ae57dddee94cc
Mark Lobodzinski [Mon, 23 Jan 2017 16:08:20 +0000 (09:08 -0700)]
cmake: Add common targets/rules for helper files
Change-Id: I26244eaf04451fd7c3755563953c7b8ad3715613
Mark Lobodzinski [Mon, 23 Jan 2017 15:51:08 +0000 (08:51 -0700)]
cmake: Move common xml-gen macro to root file
We had several copies of this macro across the repos -- moved it to
the top-level cmake file for sharing.
Change-Id: I33a97ecb24ad8c7cc6826c1a431f668fa2bec41f
Mike Weiblen [Fri, 20 Jan 2017 18:53:07 +0000 (11:53 -0700)]
external: Update glslang/spirv-tools revisions
glslang_revision to commit
22f25d80c6
spirv-tools_revision to commit
9c71c572e5
Change-Id: Ia08b18315755c421772f0db5b503bf7a166bb3ce
Tobin Ehlis [Thu, 19 Jan 2017 19:05:27 +0000 (12:05 -0700)]
layers:Synch validation updates
I started scrubbing the valid usage blocks for synch validation and
made a few different updates here.
Added a missing unique error id and a comment for another.
Got a bit sidetracked and decided to implement a check for all
stageMasks to make sure that they don't set geometry shader or
tessellation shader bits if those featurse aren't enabled.
Added a test to verify new check and made a bunch of updates to the
database file.
Jeremy Hayes [Thu, 19 Jan 2017 21:10:18 +0000 (14:10 -0700)]
contrib: Update style guide and add Git rules
Change-Id: I968e503c0c9c107d5e4496e54f68e0e57563fec2
Mark Lobodzinski [Wed, 18 Jan 2017 22:44:53 +0000 (15:44 -0700)]
tests: Add checks for ClearAttachment validation
Renamed existing test, added new test cases and updated the
validation error database with the test names.
Change-Id: Ie0600f2ad8b1fa0851479b91a555622bbe1075b9
Mark Lobodzinski [Wed, 18 Jan 2017 22:14:29 +0000 (15:14 -0700)]
layers: Refactor ClearAttachments to pre/post form
Change-Id: Ica1bf93ddcd7eb0c2e83171ba5e56df382571677
Mark Lobodzinski [Wed, 18 Jan 2017 21:55:58 +0000 (14:55 -0700)]
layers: Fixup ClearAttachments variable names
Change-Id: Ia6ea0fa3df94fe433d5a166f6e5d2cfa38efec68
Mark Lobodzinski [Wed, 18 Jan 2017 21:52:22 +0000 (14:52 -0700)]
layers: Remove redundant CV ClearAttachments check
This check was incorrectly labeled, and the actual check is present
in the image layer.
Change-Id: I29b866eb9da731e0996b95da3052b4878e906602
Mark Lobodzinski [Thu, 12 Jan 2017 18:14:35 +0000 (11:14 -0700)]
layers: GH398, CmdClearAttachments validation
Change-Id: I69aa3613db700f736393b35322bc383620b1d4e0
Arda Coskunses [Thu, 19 Jan 2017 17:41:27 +0000 (10:41 -0700)]
Vulkaninfo: Vulkaninfo crashes when DISPLAY is invalid
On Linux the following command crashes:
DISPLAY=foobar ./vulkaninfo
This patch fixes this issue.
https://github.com/LunarG/VulkanTools/issues/125
Change-Id: Ibb8d7b8b6cb4dc730aab9f5b4311e744c903029b
Thomas Louis [Tue, 10 Jan 2017 23:17:08 +0000 (00:17 +0100)]
layers: GH1355, Fix bad swapchain image accesses
vkAcquireNextImageKHR throws Access Violation Exception. Added a new
error enum value and created an error check in vkAcquireNextImageKHR
to avoid index out of bounds exception (thrown in core_validation)
within the application.
Change-Id: Ie7fe2d3830e26c21b09290054cc39bc55e534cbc
Lenny Komow [Wed, 18 Jan 2017 23:04:12 +0000 (16:04 -0700)]
docs: Update runtime installer license copyright
Change-Id: I41e6cdeb573754cebbf9c38cffc8be7a7c196591
Mark Lobodzinski [Wed, 18 Jan 2017 18:05:48 +0000 (11:05 -0700)]
scripts: GH1383, Fix Dota2 issue with safe_structs
Change-Id: I158a86639ec802e47f3a87a95af8cf20d1cffbf5
Mark Lobodzinski [Tue, 17 Jan 2017 23:24:29 +0000 (16:24 -0700)]
layers: Fixup CreateImage paramter list
Change-Id: Idfcc569d3985a4ff31503535af9c8329c6304f6a
Mark Lobodzinski [Wed, 11 Jan 2017 18:36:16 +0000 (11:36 -0700)]
layers: Move CreateImage recording to buf/img module
- Move source from core_validation.cpp into new module
- Add new module to layers cmake file
- Update android build scripts/makefiles for new files
Change-Id: Ia4000b26384d96a551d727f5e37997372f01764a
Mark Lobodzinski [Tue, 17 Jan 2017 16:14:36 +0000 (09:14 -0700)]
layers: Move image struct into cv_types header
To allow external access to image_state structs.
Change-Id: I3af02068c81b32df68b56c4e210cb2a5b2000efa
Mark Lobodzinski [Wed, 11 Jan 2017 16:34:01 +0000 (09:34 -0700)]
layers: Add physical device props init to CV
Image layer checks need limits/caps.
Change-Id: Ib01d194e57563e327ce15846a7a384d78929ebc4
Mark Lobodzinski [Tue, 17 Jan 2017 20:09:40 +0000 (13:09 -0700)]
layers: Add error message header to CV header
Was working due to coincidental include so made explicit.
Change-Id: I6cd580c8a5e643ed19d3950c33012c5c42c12e14
Mark Lobodzinski [Tue, 17 Jan 2017 21:14:22 +0000 (14:14 -0700)]
layers: Create buffer/image validation module
As image layer is folded into CV, image- and buffer-related
checks will reside in these modules.
Change-Id: Id261cc0d40eaa51211c36bb1fa82d0cbbaf1a6f5
Alex Smith [Tue, 17 Jan 2017 11:13:23 +0000 (11:13 +0000)]
layers: PR1381, Fix vkCmdCopyImage intersection check
RegionIntersects would return true if the source and destination array
layers and mip level did *not* overlap, resulting in a spurious
validation error when trying to copy between different array layers or
mip levels of the same image.
Change-Id: I2e5675f703a4f5e2e7cbfd1d038bd38c7d7dafe0
Lenny Komow [Mon, 16 Jan 2017 17:10:47 +0000 (10:10 -0700)]
winsdk: Fix RT not reading versions from registry
Change-Id: I44bb8c167492739467448925375ae1b99fb8a2db
Karl Schultz [Fri, 13 Jan 2017 21:01:35 +0000 (14:01 -0700)]
loader: Fix static analysis warnings
Handle possible null pointer dereferences.
Misc other warnings, nothing too serious.
Not addressing alloca concerns yet.
Change-Id: I712a6b4996a4d900604867e373521ff4d1c53df5
Mark Young [Fri, 13 Jan 2017 17:27:03 +0000 (10:27 -0700)]
loader: Improve loader logging
Clean up some more logging strings with extra spaces. Also,
updated the command-line output of the VK_LOADER_DEBUG messages
so that they clearly indicate what type of log message is being
outputted: INFO, WARNING, ERROR, PERF, and DEBUG.
Change-Id: I8cbb5b058094febdccf912eb595f5b4f01c3485b
Lenny Komow [Fri, 13 Jan 2017 21:20:57 +0000 (14:20 -0700)]
winsdk: Allow Configuring layers for older SDKs
Change-Id: I9b13d7c43ee159f935d289ea939ac3c2c1e54875
Tony Barbour [Wed, 11 Jan 2017 20:35:09 +0000 (13:35 -0700)]
demos: Add uniform buffer per swapchain image to cube
Change-Id: I290ed2a8f72303c58a52cace3c9d640cb3264def
Tony Barbour [Fri, 6 Jan 2017 22:56:39 +0000 (15:56 -0700)]
demos: Cube quit ignoring NULL fence errors
Change-Id: I2cc5c49b53a19716096ac912120286f03f7d6f91
Tony Barbour [Fri, 6 Jan 2017 22:54:22 +0000 (15:54 -0700)]
demos: Cube updated to use triple buffering
Change-Id: I2ae1cb03ec98ee8f31c6103ed3fc8f1f8edc4a2c
Tobin Ehlis [Thu, 12 Jan 2017 21:26:56 +0000 (14:26 -0700)]
scripts:Stop printing dbg stats scrip debug info
Comment out a couple of lines from the stats script that were
printing out debug information. Also update "str" var name to be
non-keyword "sub_str" and fix a broken print debug statement.
Tobin Ehlis [Thu, 12 Jan 2017 20:45:55 +0000 (13:45 -0700)]
scripts:Add stats for implicit checks
Have stats script count the un-implemented implicit checks and report
them out. Also report out the potential coverage number if all
un-implemented implicit checks are handled by parameter_validation.
Tobin Ehlis [Wed, 11 Jan 2017 23:18:20 +0000 (16:18 -0700)]
scripts:Add implicit check count to spec.py
Updated all implicit checks in database file to include the text
'implicit' in their note field.
spec.py will add 'implicit' to the note field for any new implicit
checks that are added, and will also print out a count of implicit
checks.
Lenny Komow [Thu, 12 Jan 2017 22:47:53 +0000 (15:47 -0700)]
loader: Fix phys device error message
Change-Id: I37cfdb4b290dc8d5be7c606e32eb8d369ea43c6a
Mark Young [Thu, 12 Jan 2017 19:27:19 +0000 (12:27 -0700)]
loader: Modify EnumPhysDev functions
Modify the loader's trampoline and terminator
vkEnumeratePhysicalDevice functions to utilize helper functions.
Also, fix the failure in CTS.
Change-Id: Id9356fffd42f878c660ac8ee831e7527cce608bd