Jeremy Hayes [Thu, 9 Feb 2017 20:32:28 +0000 (13:32 -0700)]
tests: Fix UnusedPreserveAttachment
Undefined shouldn't be an error since its a valid enumerant.
Change-Id: I542b47cdf885bd9ccb96a0a113a56a849423800a
Mark Lobodzinski [Thu, 9 Feb 2017 22:58:14 +0000 (15:58 -0700)]
layers: Codegen unique-objects extension whitelists
These lists are now generated from vk.xml.
Change-Id: Id7571d8b18b272c7d7ead905d53e5ff778afcb6e
Mike Weiblen [Thu, 9 Feb 2017 23:02:15 +0000 (16:02 -0700)]
external: Update glslang, spirv-tools
glslang_revision to
07939886
spirv-tools_revision to
f980d8c6
Change-Id: I54f3adf713cc73bba22b66319cd56fe1bf6a7f5a
Mark Lobodzinski [Wed, 8 Feb 2017 23:04:35 +0000 (16:04 -0700)]
layers: Added some missing extensions to PV
Added the display control and indirect count extensions.
Support is now included for all 1.0.39 extensions.
Change-Id: I299ffd939da0571920c401fb298bc3b8773a394b
Mark Lobodzinski [Wed, 8 Feb 2017 22:27:18 +0000 (15:27 -0700)]
layers: Enable autogen'd procmap for PV
Routines and tables were previously hard-coded. They are now
generated from vk.xml.
Change-Id: I26c98bb42c9ccc287e9dd4c12447d66ea1c68d91
Mark Lobodzinski [Wed, 8 Feb 2017 21:37:15 +0000 (14:37 -0700)]
scripts: Automate intercepts for parameter validation
Change-Id: Idcacab581775ce95cf11965b417b625df8e12176
Mark Lobodzinski [Wed, 8 Feb 2017 23:28:18 +0000 (16:28 -0700)]
layers: Fix CmdUpdateBuffer API definition
Change-Id: I7a8a2215ceb3523ca74534fe547600bb585223a7
Karl Schultz [Thu, 9 Feb 2017 00:27:02 +0000 (17:27 -0700)]
build: Add detection for VS2017
Change-Id: Iefcf43af57fe42f3df7d5f2e37eb826c2764f1bd
Tobin Ehlis [Wed, 8 Feb 2017 19:15:27 +0000 (12:15 -0700)]
layers:Add using statements for layer_data
Add "using core_validation::layer_data;" to descriptor and buffer
validation files. This cleans up the code without adding any confusion
or name collisions.
Tobin Ehlis [Wed, 8 Feb 2017 19:03:56 +0000 (12:03 -0700)]
layers:Remove "using namespace std" statement
Remove "using namespace std;" statement from core validation. This is
prohibited in the coding standard. Replace with specific "using"
statements for the parts of std that we use.
Tobin Ehlis [Wed, 8 Feb 2017 16:16:32 +0000 (09:16 -0700)]
layers:Rename get* utility functions
Rename get* helper functions to have capital first letter in-line with
coding standard.
Tobin Ehlis [Wed, 8 Feb 2017 14:50:32 +0000 (07:50 -0700)]
layers:Remove unused param
UpdateCmdBufferLastCmd() doesn't use dev_data param to remove it.
Tobin Ehlis [Wed, 8 Feb 2017 14:45:35 +0000 (07:45 -0700)]
layers:Remove unused functions
These functions were formerly used for descriptor validation which is
now all contained in descriptor_set.h/cpp files.
Tobin Ehlis [Wed, 8 Feb 2017 14:40:40 +0000 (07:40 -0700)]
layers:Rename get_my_data_ptr to GetLayerDataPtr
Change utility function get_my_data_ptr() to be named GetLayerDataPtr()
which is more descriptive and capital camel case in-line with coding
standard.
Tobin Ehlis [Wed, 8 Feb 2017 14:14:29 +0000 (07:14 -0700)]
layers:Rename my_data vars to dev_data
All variables named my_data are device-specific instances of layer_data
so renaming them to dev_data.
Thomas Heijligen [Wed, 8 Feb 2017 09:44:29 +0000 (10:44 +0100)]
cmake: GH1444, add wayland include dir to cmake
On some Linux distributions (e.g openSUSE, Fedora) the wayland headers are in
a subdirectory.
Adding WAYLAND_CLIENT_INCLUDE_DIR to include_directories in CMakeLists.txt
will fix this issue.
Mark Lobodzinski [Wed, 8 Feb 2017 00:21:55 +0000 (17:21 -0700)]
layers: Fix ValidateMapImageLayouts for style
Var names and clang-format.
Change-Id: I2aa5aac3360ef4189e6b7720b6afe948c8d87c78
Mark Lobodzinski [Wed, 8 Feb 2017 00:20:06 +0000 (17:20 -0700)]
layers: Move ValidateMapImageLayouts out of CV
Change-Id: Ib9d9c169b1306a7ed6f243bbb957719305340a2e
Mark Lobodzinski [Wed, 8 Feb 2017 00:14:53 +0000 (17:14 -0700)]
layers: Fix ImageLayout validation helpers for style
Var names and clang-format.
Change-Id: I796a928b8c42c0f8208ed7cb34cab8ce07c1d011
Mark Lobodzinski [Wed, 8 Feb 2017 00:11:55 +0000 (17:11 -0700)]
layers: Move image layout validation helpers from CV
ValidateLayoutVsAttachmentDescription and ValidateLayouts now reside
in the buffer_validation module.
Change-Id: I66ce6ecba882b0e5acb70410ef2b99d32070feb0
Mark Lobodzinski [Wed, 8 Feb 2017 00:00:12 +0000 (17:00 -0700)]
layers: Fix ValidateMaskBits routines for style
Var names and clang-format.
Change-Id: Ie125d03b808c40e35d6cf494230a48eb951195bc
Mark Lobodzinski [Tue, 7 Feb 2017 23:55:53 +0000 (16:55 -0700)]
layers: Move MaskBits validation out of CV
Moved ValidateMaskBitsFromLayouts, ValidateMaskBits, and
string_VkAccessFlags from CV into the buffer module.
Change-Id: Ifaf509c59778c54e733c27e7ac0381ad2cb324c0
Mark Lobodzinski [Tue, 7 Feb 2017 23:38:17 +0000 (16:38 -0700)]
layers: Fix ValidateCmdBufImageLayouts for style
Var names and clang-format.
Change-Id: I974b36bca41d85fda392c61d19e271c7f0792de1
Mark Lobodzinski [Tue, 7 Feb 2017 23:36:03 +0000 (16:36 -0700)]
layers: Move ValidateCmdBufImageLayouts out of CV
Change-Id: I358250b6cacd42e4c2b28b324e3683b51efe75e0
Tobin Ehlis [Tue, 7 Feb 2017 22:21:00 +0000 (15:21 -0700)]
layers:Add physicalDevice check
Update GetPhysicalDeviceQueueFamilyProperties() in object_tracker to
verify that physicalDevice is valid.
Mark Lobodzinski [Tue, 7 Feb 2017 20:44:57 +0000 (13:44 -0700)]
layers: Correct BlitImage check and add VU ID
This check was only getting performed for depth/stencil images.
Enabled for all image types and added correct valid usage ID.
Change-Id: Ie2a8dcded8a55da73527fb435987eaa538c8d5e1
Mark Lobodzinski [Mon, 6 Feb 2017 22:44:49 +0000 (15:44 -0700)]
layers: Move GetImageSubresourceLayout to CV
Moved the validation routine from the image layer into the core
validation layer.
Change-Id: Ic2402de60934356d6582c3c938bba8695336ba83
Mark Lobodzinski [Mon, 6 Feb 2017 22:37:52 +0000 (15:37 -0700)]
layers: Remove CmdResolveImage from image layer
Change-Id: I3adc9fa2a3d7912c1100b0c862fef5583fac4f17
Mark Lobodzinski [Mon, 6 Feb 2017 22:31:33 +0000 (15:31 -0700)]
layers: Update CmdResolveImage validation
Added one VU check, changed a few others from errors to warnings as
they are not explictly prohibited by the spec.
Change-Id: I041f9188325136f541afa5017350c2960432f8f7
Mark Lobodzinski [Mon, 6 Feb 2017 22:29:37 +0000 (15:29 -0700)]
layers: Move CmdResolveImage from image layer
Added the validation from this API to the existing pre-call routine
in the buffer validation module.
Change-Id: I31eb2c9851b310c38ae2bc573dfaa5c147dac6d6
Mark Lobodzinski [Mon, 6 Feb 2017 22:08:57 +0000 (15:08 -0700)]
layers: Removed CmdBlitImage from image layer
Change-Id: I9b1154b2c6e61c00509acb89e319125a7f8d0449
Mark Lobodzinski [Mon, 6 Feb 2017 22:04:23 +0000 (15:04 -0700)]
layers: Fixed some blitimage VUs
There were three checks which were improperly limited to depth-stencil
aspects. Two of the checks (for zero layerCounts) are also not prohibited
by the spec (for ImageBlit structures, anyhow) and so have been changed
to warnings. The remaining check for matching src and dest layerCounts
was moved and had the correct VU ID added.
Change-Id: Idb37fa94e4359e25c7bdcaed8ad65c2ddddefe0d
Mark Lobodzinski [Mon, 6 Feb 2017 21:08:50 +0000 (14:08 -0700)]
layers: Removed obsolete CmdBlitImage check
Was enforcing VK_FILTER_NEAREST for integer formats but this is not
prohibited by the spec.
Change-Id: If9513bf9c660fc3c792e75004a257b3023539e3d
Mark Lobodzinski [Mon, 6 Feb 2017 21:01:54 +0000 (14:01 -0700)]
layers: Move image layer BlitImage val into CV
Moved the guts of this layer's CmdBlitImage API into the PreCall-
Validation routine in the buffer module.
Change-Id: I353c30c72faf577be22e36c786ed7851997a0011
Mark Lobodzinski [Mon, 6 Feb 2017 18:06:26 +0000 (11:06 -0700)]
layers: Move CmdBlit/ResolveImage helpers out of CV
Moved to the buffer validation module.
Change-Id: Ic80b327e7ddd4c2e699587bd0b664b91462ee8da
Mark Lobodzinski [Mon, 6 Feb 2017 17:55:51 +0000 (10:55 -0700)]
layers: Refactor CmdBlitImage for PreCalls
Moved validation and state updates into separate helper functions.
Change-Id: I8427cd2c35e85f28edfb589a9dc08220eb5fa817
Mark Lobodzinski [Mon, 6 Feb 2017 17:22:26 +0000 (10:22 -0700)]
layers: Refactor CmdResolveImage for PreCalls
Moved validation and state updates into separate helper functions.
Change-Id: I496d2e4e97f7c58372ebe51dcc4c4f10e456a5f2
Mark Lobodzinski [Mon, 6 Feb 2017 17:07:21 +0000 (10:07 -0700)]
layers: Split CmdResolveImage val/state updates
Change-Id: I60b593da5f2863d7d0ac9c1d1785ff43d3179c6f
Mark Lobodzinski [Mon, 6 Feb 2017 16:46:18 +0000 (09:46 -0700)]
layers: Fixup var names in CmdBlit/ResolveImage
Change-Id: I0841ebee4b847c9d4475359fbcc8f942880ac43a
Mark Lobodzinski [Mon, 6 Feb 2017 16:44:34 +0000 (09:44 -0700)]
layers: Split CmdBlitImage validation/state updates
Change-Id: I445ca1466537b6c9da58266c7c33d4b91450a8f6
Tobin Ehlis [Tue, 7 Feb 2017 00:02:03 +0000 (17:02 -0700)]
layers:Fix queue state recording
Handle case when multiple calls are made to
GetPhysicalDeviceQueueFamilyProperties[2KHR]() funcs by resizing
vector and assigning elements w/ [] operator instead of using
emplace_back().
Tobin Ehlis [Mon, 6 Feb 2017 23:53:06 +0000 (16:53 -0700)]
layers:Add gpdp2 queue query to core_validation
Intercept the GetPhysicalDeviceQueueFamilyProperties2KHR() from the
get_physical_device_properties2 extension in core_validation.
Create shared functions to handle both validation and state updates for
the original GetPhysicalDeviceQueueFamilyProperties() function as well
as the new API.
Add function ptr chain look-up for new API call.
Tobin Ehlis [Mon, 6 Feb 2017 23:44:50 +0000 (16:44 -0700)]
layers:Update parameter validation for gpdp2
Update get_physical_device_properties2 parameter validation:
-Allow new pNext down CreateDevice struct
-Add some post-call validation when querying image formats
-Rename skip_call to skip
Tobin Ehlis [Mon, 6 Feb 2017 23:15:55 +0000 (16:15 -0700)]
layers:Update object validation for gpdp2
A few updates to object_tracker validation for
get_physical_device_properties2 extension.
Use lock_guard instead of unique_lock.
Add queried queues to queue tracking.
Mark Lobodzinski [Tue, 7 Feb 2017 15:17:00 +0000 (08:17 -0700)]
layers: Used predefined SPIR-V magic number
Change-Id: Ic766149709a74671ff4b2fc42c3dc1fc716eece7
Mark Lobodzinski [Mon, 6 Feb 2017 22:34:43 +0000 (15:34 -0700)]
layers: Remove helper routine dead parameters
Change-Id: I9fa9456cd228dd3636002c5f59e60d7f7e1909fa
Tobin Ehlis [Fri, 3 Feb 2017 02:01:44 +0000 (19:01 -0700)]
tests:Add DSBufferLimitErrors test
Hit 4 separate error cases for uniform buffer descriptor's range and
alignment limits and the same limits for storage buffer descriptors.
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