platform/upstream/Vulkan-Tools.git
7 years agolayers: Separate val/state updates in buff-img copy
Mark Lobodzinski [Wed, 15 Feb 2017 20:58:23 +0000 (13:58 -0700)]
layers: Separate val/state updates in buff-img copy

Moved state updates out of precallvalidate routines into
precallrecord routines.

Change-Id: If13e8a14cabc2b63a53f5369c33b1e632b15ff3a

7 years agolayers: Move buffer/image validation out of CV
Mark Lobodzinski [Wed, 15 Feb 2017 20:45:18 +0000 (13:45 -0700)]
layers: Move buffer/image validation out of CV

Moved guts of buffer-image-copy validation out of the core_validation
module and into the buffer_validation module, integrating with the
PreCallValidateXxx routines.

Change-Id: Ia2f867b96532eee773d0a6b899fbff160ac7b4d6

7 years agolayers: Move image layer image-buffer-copy to CV
Mark Lobodzinski [Wed, 15 Feb 2017 19:59:00 +0000 (12:59 -0700)]
layers: Move image layer image-buffer-copy to CV

Moved the image layer validation for buffer-image copies to the
buffer validation module.

Change-Id: If8ff8aa183f88560dc5db9d59c92346ee47b01e9

7 years agolayers: Fix validation routine name typo
Mark Lobodzinski [Thu, 16 Feb 2017 17:43:18 +0000 (10:43 -0700)]
layers: Fix validation routine name typo

Change-Id: I2b102c048131cd875888df2196f41480c8c1eb75

7 years agolayers: Add checks&tests to Img-Buf copy - GH284
Dave Houlton [Fri, 3 Feb 2017 00:26:23 +0000 (17:26 -0700)]
layers: Add checks&tests to Img-Buf copy - GH284

Added 16 VU checks for CmdCopyImageToBuffer and CmdCopyBufferToImage
Fixed 1 test in MiscImageLayerTests
Added 12 test in ImageBufferCopyTests

Individual commits:
GH284 add VUs 1240, 1241, 1258, 1259
GH284 add VUs 1238, 1244
GH284 add 1271 1272 1273 1274 1279 1281 1746 1747 remove 1238 1244 1262 1269
GH284 add 1227 1228 1245 1246
GH284 fix validation test MiscImageLayerTests for VU 1269/1747 swap
GH284 update database with new VU checks
GH284 redo VUs 1227 1246, move them into core validation
GH284 final checks and tests
GH284 fix a rebase merge error
GH284 fix uint64 format specifier that broke the Android build

Change-Id: I5b69eddab945fb09d4cf3645349fa45a61576355

7 years agolayers: Updated changed subroutines for style
Mark Lobodzinski [Wed, 15 Feb 2017 16:31:53 +0000 (09:31 -0700)]
layers: Updated changed subroutines for style

Change-Id: Idda8fd88bc63ba9d441b6fe4854b98e25eede279

7 years agolayers: GH1478, Add error msg for CB invalidation
Mark Lobodzinski [Tue, 14 Feb 2017 20:08:15 +0000 (13:08 -0700)]
layers: GH1478, Add error msg for CB invalidation

Previously, any command buffer not in a recording state would emit
an error message indication that BeginCommandBuffer had not been
called. Added a separate message for command buffers that were
invalidated.
  - Combined ValidateCMD and report_error_no_cb_begin
  - For invalidated CBs, output cause of invalidation
  - Updated test for improved error text

Change-Id: Ie72fb0ec039fbd6d4471ba32c75cc540e5c871d3

7 years agolayers: Fix CB status checks in bindVtx/IndexBuffer
Mark Lobodzinski [Tue, 14 Feb 2017 20:17:35 +0000 (13:17 -0700)]
layers: Fix CB status checks in bindVtx/IndexBuffer

These calls were calling the wrong validate function if a CB_NODE
was not found. Fixed this and added appropriate calls to check the
CB recording state.

Change-Id: I8f22f5bca7233fc92b0b91f3aceb8c38b312dc8f

7 years agodemos: Support cube on iOS and macOS via MoltenVK
Bill Hollings [Wed, 15 Feb 2017 03:58:56 +0000 (22:58 -0500)]
demos: Support cube on iOS and macOS via MoltenVK

7 years agolayers: Fix a few parameter validation holes
Mark Lobodzinski [Tue, 14 Feb 2017 21:30:08 +0000 (14:30 -0700)]
layers: Fix a few parameter validation holes

Added a few missing checks for validation return codes.

Change-Id: Ia6a3a3fbf702ebb982d4f4d26510f3f8fdcf2710

7 years agoheaders: Fix vulkan.hpp clang compiler errors
Mark Lobodzinski [Tue, 14 Feb 2017 23:09:03 +0000 (16:09 -0700)]
headers: Fix vulkan.hpp clang compiler errors

Change-Id: Ibca9f31b722945f1d96fb41aca0f1e78bd6567f1

7 years agolayers: commented SetMemBinding and ValidateSetMemBinding
Cort Stratton [Tue, 14 Feb 2017 20:11:18 +0000 (12:11 -0800)]
layers: commented SetMemBinding and ValidateSetMemBinding

7 years agolayers: Refactored SetMemBinding() for pre/post calls
Cort Stratton [Mon, 13 Feb 2017 22:11:50 +0000 (14:11 -0800)]
layers: Refactored SetMemBinding() for pre/post calls

7 years agolayers: refactor BindBufferMemory for pre/postcall style
Cort Stratton [Mon, 6 Feb 2017 23:30:33 +0000 (15:30 -0800)]
layers: refactor BindBufferMemory for pre/postcall style

7 years agolayers: Add trailing "()" to vkBind*Memory strings
Cort Stratton [Sat, 4 Feb 2017 21:43:39 +0000 (13:43 -0800)]
layers: Add trailing "()" to vkBind*Memory strings

7 years agotests: Add VU 797,806 to BindInvalidMemory
Cort Stratton [Sat, 28 Jan 2017 21:33:10 +0000 (13:33 -0800)]
tests: Add VU 797,806 to BindInvalidMemory

7 years agotests: Add VU 793,805 to BindInvalidMemory
Cort [Sat, 28 Jan 2017 02:34:50 +0000 (18:34 -0800)]
tests: Add VU 793,805 to BindInvalidMemory

7 years agolayers: Add VU error 805,793 (bind mem w/bad memoryOffset)
Cort Stratton [Sat, 28 Jan 2017 22:17:47 +0000 (14:17 -0800)]
layers: Add VU error 805,793 (bind mem w/bad memoryOffset)

7 years agotests: Add VU 792,804 to BindInvalidMemory
Cort Stratton [Sat, 28 Jan 2017 22:17:04 +0000 (14:17 -0800)]
tests: Add VU 792,804 to BindInvalidMemory

7 years agotests: Add VU 791,803 to BindInvalidMemory
Cort Stratton [Sat, 28 Jan 2017 22:16:16 +0000 (14:16 -0800)]
tests: Add VU 791,803 to BindInvalidMemory

7 years agotests: Add VU 800 to BindInvalidMemory
Cort [Wed, 18 Jan 2017 02:10:21 +0000 (18:10 -0800)]
tests: Add VU 800 to BindInvalidMemory

7 years agolayers: Add VU 791,803 (bind mem w/existing binding)
Cort [Wed, 18 Jan 2017 02:09:09 +0000 (18:09 -0800)]
layers: Add VU 791,803 (bind mem w/existing binding)

7 years agolayers: Add VU 792,804 (bind mem to sparse image/buffer)
Cort [Wed, 18 Jan 2017 01:32:33 +0000 (17:32 -0800)]
layers: Add VU 792,804 (bind mem to sparse image/buffer)

7 years agolayers: Refactor BindImageMem for pre/postcall style
Cort Stratton [Sat, 28 Jan 2017 22:14:06 +0000 (14:14 -0800)]
layers: Refactor BindImageMem for pre/postcall style

Change-Id: I40d5e8566a7e72a72e59ad07de01c51f10cd5bea

7 years agolayers: Update BindImageMemory var names for style
Mark Lobodzinski [Wed, 23 Nov 2016 17:18:53 +0000 (10:18 -0700)]
layers: Update BindImageMemory var names for style

Change-Id: I38fa79b4c696b3d986558cd885156004ad082468

7 years agoheader: Update to Vulkan 1.0.40
Mark Lobodzinski [Mon, 13 Feb 2017 17:15:53 +0000 (10:15 -0700)]
header: Update to Vulkan 1.0.40

    fixed:
       - generators for latex math changes
    updated:
       - include/vulkan/vk_platform.h
       - include/vulkan/vulkan.h
       - scripts/generator.py
       - scripts/lvl_genvk.py
       - scripts/reg.py
       - scripts/vk.xml
       - include/vulkan/vulkan.hpp
       - layers/tests json files
       - loader SOVERSION

Change-Id: Id7d6f9dee73888877f2e7528f5701871f54ece79

7 years agoscripts: Add copy of cgenerator.py to LVL repo
Mark Lobodzinski [Mon, 13 Feb 2017 17:33:08 +0000 (10:33 -0700)]
scripts: Add copy of cgenerator.py to LVL repo

This will be needed for genvk.py updates.

Change-Id: I48e28b3051b367cb883d86f7fc5b217cadecb495

7 years agolayers: Remove predefined threading object lists
Mark Lobodzinski [Tue, 14 Feb 2017 16:16:56 +0000 (09:16 -0700)]
layers: Remove predefined threading object lists

These lists were hard-coded in the generator. Added on-the-fly
detection of handles to reduce maintenance.

Change-Id: I8a897da731d96c2f70f00e479a17c355f03a7486

7 years agoLayers: Add KHR/KHX/NN extensions to threading layer
Mark Lobodzinski [Fri, 10 Feb 2017 15:34:54 +0000 (08:34 -0700)]
Layers: Add KHR/KHX/NN extensions to threading layer

These were skipped due to problems in codegen. Added support for new
objects into the layer, fixed codegen.

Change-Id: Iaf4fcaa229664f7d3118da4db35649fbdf36e2eb

7 years agodocs: Update LoaderAndLayerInterface
Mark Young [Mon, 13 Feb 2017 22:39:22 +0000 (15:39 -0700)]
docs: Update LoaderAndLayerInterface

Added section detailing the loader's instance extension name
filtering behavior and the environment varaible that can be used
to disable the behavior.

Change-Id: Iadbde47e2933a163906a7cfa1c4b340da0d73789

7 years agotests: Implement test for VU 2116 check
Mike Weiblen [Tue, 7 Feb 2017 02:21:52 +0000 (19:21 -0700)]
tests: Implement test for VU 2116 check

Add test 'PipelineRenderpassCompatibility' to exercise VU 2116 check.

Bump copyright year.

Update database test name.

Change-Id: I4eb73232e69874f34502d25867d2aa60c17f6a13

7 years agolayers: Add VU 2116 pColorBlendState checking GH-777
Mike Weiblen [Thu, 9 Feb 2017 19:13:24 +0000 (12:13 -0700)]
layers: Add VU 2116 pColorBlendState checking GH-777

Add Valid Usage 02116 check.
If the rasterizerDiscardEnable member of pRasterizationState is
VK_FALSE, and subpass uses color attachments, pColorBlendState must be
a pointer to a valid VkPipelineColorBlendStateCreateInfo structure.

Update VU database check_implemented flag.

Change-Id: I154321e3a891a61c0917ec8a9520ae766162e2e6

7 years agolayers: Refactor checking code
Mike Weiblen [Thu, 9 Feb 2017 19:26:58 +0000 (12:26 -0700)]
layers: Refactor checking code

Combine code blocks to avoid repetitive checking of the same state.

Change-Id: I788538b82ce9420035d9ab2ba9fefb9befb67722

7 years agoClang-format for recent QueueSubmit commits
Tony Barbour [Wed, 8 Feb 2017 20:53:39 +0000 (13:53 -0700)]
Clang-format for recent QueueSubmit commits

Change-Id: Id029c12d36b6327ac73c43879f315513c71b13d1

7 years agolayers: Separate validation from state in QueueSubmit
Tony Barbour [Wed, 25 Jan 2017 19:53:48 +0000 (12:53 -0700)]
layers: Separate validation from state in QueueSubmit

Change-Id: I95878805bfc025afd60ba2167aeb78dba064b56e

layers: Rework semaphore signal tracking in QueueSubmit

Change-Id: I6ee12fd44ebd42c1a4e14bb7fd0eae300489d413

layers: Better submit count tracking in QueueSubmit

Change-Id: I90065fc4546354cb2be14be9143356132ac2f3df

layers: Improve image layout tracking in QueueSubmit

Change-Id: I6e10c8a6d18730939dfa0a5d5e452a23c540f94e

layers: Move cmd collection from validate to record

Change-Id: I89df7358f1916ea4688d4b8cfe2cb870f946b3d9

layers: Fix command buffer submit count in QueueSubmit

Use vector and count instead of unordered_map

Change-Id: I227951085af7df0c288cb3563d17a04d7f2f41e1

7 years agolayers: Refactor CmdFillBuffer
Mark Lobodzinski [Fri, 10 Feb 2017 21:01:27 +0000 (14:01 -0700)]
layers: Refactor CmdFillBuffer

Separated validation from state updates, refactored for pre/post
and moved these functions out of core_validation. Also updated for
coding style.

Change-Id: I9b24bc8c951fd1df99a65db5fa8f1d0412488192

7 years agolayers: Move destroybuffer/bufferview out of CV
Mark Lobodzinski [Fri, 10 Feb 2017 20:48:38 +0000 (13:48 -0700)]
layers: Move destroybuffer/bufferview out of CV

Moved pre/post routines to buffer module, along with a couple of
functions.

Change-Id: Ibb67bf18ed376a37666f171c4e30676fa18157ca

7 years agoloader: Fix XDG path parsing
Karl Schultz [Sun, 12 Feb 2017 19:34:03 +0000 (12:34 -0700)]
loader: Fix XDG path parsing

Fixes #1474

Fix path parsing code to handle leading and trailing
path separators.  Also handle contiguous path separators.
When encountering something like ::: in the path, the old
code would add multiple entries containing only the
relative part of the path (e.g., /vulkan.icd.d).

7 years agolayers: Change mem map error to warning
Michael Lentine [Fri, 10 Feb 2017 20:57:15 +0000 (14:57 -0600)]
layers: Change mem map error to warning

Currently the spec allows memory to be mapped regardless of format.
However, because the memory cannot be used by the device in a predicable
way unless the format is PREINITIALIZED or GENERAL we still need a
warning here.

Change-Id: Ie50b21c0840d97409e40d7f9187f34b9552050f2

7 years agolayers: Fix CheckPreserved to allow input attachment
Tony Barbour [Fri, 10 Feb 2017 20:41:15 +0000 (13:41 -0700)]
layers: Fix CheckPreserved to allow input attachment

Attachments that are used (input / color / depth attachment)
in a subpass are not allowed in the preserved list, so if they
are used as a color, depth  or input attachment they should
be consided preserved.  Color and depth attachments were accounted
for, this commit adds input attachment

Change-Id: Id87c3c1546092bc64b293bead1d997e0f61f7990

7 years agolayers: Consolidate GetPhysicalDevice* accessors
Mark Lobodzinski [Fri, 10 Feb 2017 19:09:23 +0000 (12:09 -0700)]
layers: Consolidate GetPhysicalDevice* accessors

Simplified core_validation->descriptor_sets/buffer_validation.

Change-Id: I6921ac458bce5899e8bd60145bfaa0e0f5e8a2ac

7 years agolayers: Refactor CmdCopyBuffer for pre-post style
Mark Lobodzinski [Thu, 9 Feb 2017 20:06:56 +0000 (13:06 -0700)]
layers: Refactor CmdCopyBuffer for pre-post style

Change-Id: Ic0004cad00ba04295e8c05a703a085e07d3ad56e

7 years agolayers: Refactor CmdCopyImage for pre/post
Mark Lobodzinski [Thu, 9 Feb 2017 19:01:27 +0000 (12:01 -0700)]
layers: Refactor CmdCopyImage for pre/post

Refactored this API and moved routines to buffer validation module.
Also moved several related helper routines.

Change-Id: I5859c3413290c81983f7e1b30ddb75928448fb20

7 years agolayers: Move pre/post CreateImageView out of CV
Mark Lobodzinski [Thu, 9 Feb 2017 18:01:33 +0000 (11:01 -0700)]
layers: Move pre/post CreateImageView out of CV

Moved PreCallValidateCreateImageView and the postCallRecord routine,
along with a couple of helpers: ValidateImageSubrangeLevelLayerCounts
and ValidateImageAspectMask.

Change-Id: I1d94ecee6244010d71cf910a95aeb320c30fc0fb

7 years agolayers: Update CreateBuffer/BufferView for style
Mark Lobodzinski [Thu, 9 Feb 2017 17:40:41 +0000 (10:40 -0700)]
layers: Update CreateBuffer/BufferView for style

Clang-format and variable naming.

Change-Id: Ibbf60e547f8ece2d73896e7e3ba6979d993b9e59

7 years agolayers: Move CreateBuffer/BufferView routines
Mark Lobodzinski [Thu, 9 Feb 2017 17:33:46 +0000 (10:33 -0700)]
layers: Move CreateBuffer/BufferView routines

Moved out of core_validation, refactored for pre/post calls.
Moved ValidateImageUsageFlags, ValidateBufferUsageFlags, CreateBuffer,
and CreateBufferView, along with a couple of helper routines.

Change-Id: I7157369982d93b2327121406c208df36c15bcab4

7 years agowinsdk: Build runtime from RelWithDebInfo
Lenny Komow [Fri, 10 Feb 2017 17:44:37 +0000 (10:44 -0700)]
winsdk: Build runtime from RelWithDebInfo

Change-Id: I6d1484035de816d7bea0a3cad16fddf7b86cee24

7 years agobuild: Fix RelWithDebInfo CRT warnings
Lenny Komow [Fri, 10 Feb 2017 17:38:30 +0000 (10:38 -0700)]
build: Fix RelWithDebInfo CRT warnings

Change-Id: I0957264aa068af8e4d47a0ce9f7a9950b9729de9

7 years agoloader: Add env var to disable inst ext filter
Mark Young [Fri, 10 Feb 2017 18:19:02 +0000 (11:19 -0700)]
loader: Add env var to disable inst ext filter

Add an environmental variable to disable the instance extension
filtering.  Simply defining VK_LOADER_DISABLE_INST_EXT_FILTER to
a non-zero number will disable the functionality.

Change-Id: I953814b49e87289a35f154755521d5433474c920

7 years agotests: Fix UnusedPreserveAttachment
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

7 years agolayers: Codegen unique-objects extension whitelists
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

7 years agoexternal: Update glslang, spirv-tools
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

7 years agolayers: Added some missing extensions to PV
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

7 years agolayers: Enable autogen'd procmap for PV
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

7 years agoscripts: Automate intercepts for parameter validation
Mark Lobodzinski [Wed, 8 Feb 2017 21:37:15 +0000 (14:37 -0700)]
scripts: Automate intercepts for parameter validation

Change-Id: Idcacab581775ce95cf11965b417b625df8e12176

7 years agolayers: Fix CmdUpdateBuffer API definition
Mark Lobodzinski [Wed, 8 Feb 2017 23:28:18 +0000 (16:28 -0700)]
layers: Fix CmdUpdateBuffer API definition

Change-Id: I7a8a2215ceb3523ca74534fe547600bb585223a7

7 years agobuild: Add detection for VS2017
Karl Schultz [Thu, 9 Feb 2017 00:27:02 +0000 (17:27 -0700)]
build: Add detection for VS2017

Change-Id: Iefcf43af57fe42f3df7d5f2e37eb826c2764f1bd

7 years agolayers:Add using statements for layer_data
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.

7 years agolayers:Remove "using namespace std" statement
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.

7 years agolayers:Rename get* utility functions
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.

7 years agolayers:Remove unused param
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.

7 years agolayers:Remove unused functions
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.

7 years agolayers:Rename get_my_data_ptr to GetLayerDataPtr
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.

7 years agolayers:Rename my_data vars to dev_data
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.

7 years agocmake: GH1444, add wayland include dir to cmake
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.

7 years agolayers: Fix ValidateMapImageLayouts for style
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

7 years agolayers: Move ValidateMapImageLayouts out of CV
Mark Lobodzinski [Wed, 8 Feb 2017 00:20:06 +0000 (17:20 -0700)]
layers: Move ValidateMapImageLayouts out of CV

Change-Id: Ib9d9c169b1306a7ed6f243bbb957719305340a2e

7 years agolayers: Fix ImageLayout validation helpers for style
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

7 years agolayers: Move image layout validation helpers from CV
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

7 years agolayers: Fix ValidateMaskBits routines for style
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

7 years agolayers: Move MaskBits validation out of CV
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

7 years agolayers: Fix ValidateCmdBufImageLayouts for style
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

7 years agolayers: Move ValidateCmdBufImageLayouts out of CV
Mark Lobodzinski [Tue, 7 Feb 2017 23:36:03 +0000 (16:36 -0700)]
layers: Move ValidateCmdBufImageLayouts out of CV

Change-Id: I358250b6cacd42e4c2b28b324e3683b51efe75e0

7 years agolayers:Add physicalDevice check
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.

7 years agolayers: Correct BlitImage check and add VU ID
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

7 years agolayers: Move GetImageSubresourceLayout to CV
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

7 years agolayers: Remove CmdResolveImage from image layer
Mark Lobodzinski [Mon, 6 Feb 2017 22:37:52 +0000 (15:37 -0700)]
layers: Remove CmdResolveImage from image layer

Change-Id: I3adc9fa2a3d7912c1100b0c862fef5583fac4f17

7 years agolayers: Update CmdResolveImage validation
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

7 years agolayers: Move CmdResolveImage from image layer
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

7 years agolayers: Removed CmdBlitImage from image layer
Mark Lobodzinski [Mon, 6 Feb 2017 22:08:57 +0000 (15:08 -0700)]
layers: Removed CmdBlitImage from image layer

Change-Id: I9b1154b2c6e61c00509acb89e319125a7f8d0449

7 years agolayers: Fixed some blitimage VUs
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

7 years agolayers: Removed obsolete CmdBlitImage check
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

7 years agolayers: Move image layer BlitImage val into CV
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

7 years agolayers: Move CmdBlit/ResolveImage helpers out of CV
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

7 years agolayers: Refactor CmdBlitImage for PreCalls
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

7 years agolayers: Refactor CmdResolveImage for PreCalls
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

7 years agolayers: Split CmdResolveImage val/state updates
Mark Lobodzinski [Mon, 6 Feb 2017 17:07:21 +0000 (10:07 -0700)]
layers: Split CmdResolveImage val/state updates

Change-Id: I60b593da5f2863d7d0ac9c1d1785ff43d3179c6f

7 years agolayers: Fixup var names in CmdBlit/ResolveImage
Mark Lobodzinski [Mon, 6 Feb 2017 16:46:18 +0000 (09:46 -0700)]
layers: Fixup var names in CmdBlit/ResolveImage

Change-Id: I0841ebee4b847c9d4475359fbcc8f942880ac43a

7 years agolayers: Split CmdBlitImage validation/state updates
Mark Lobodzinski [Mon, 6 Feb 2017 16:44:34 +0000 (09:44 -0700)]
layers: Split CmdBlitImage validation/state updates

Change-Id: I445ca1466537b6c9da58266c7c33d4b91450a8f6

7 years agolayers:Fix queue state recording
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().

7 years agolayers:Add gpdp2 queue query to core_validation
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.

7 years agolayers:Update parameter validation for gpdp2
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

7 years agolayers:Update object validation for gpdp2
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.

7 years agolayers: Used predefined SPIR-V magic number
Mark Lobodzinski [Tue, 7 Feb 2017 15:17:00 +0000 (08:17 -0700)]
layers: Used predefined SPIR-V magic number

Change-Id: Ic766149709a74671ff4b2fc42c3dc1fc716eece7

7 years agolayers: Remove helper routine dead parameters
Mark Lobodzinski [Mon, 6 Feb 2017 22:34:43 +0000 (15:34 -0700)]
layers: Remove helper routine dead parameters

Change-Id: I9fa9456cd228dd3636002c5f59e60d7f7e1909fa

7 years agotests:Add DSBufferLimitErrors test
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.

7 years agolayers:Add buffer descriptor device limit checks
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.

7 years agolayers: adjust VU database/scripts for impl flag
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

7 years agolayers: GH706, Allow GLSL shaders during validation
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

7 years agolayers: Set up disable for shader validation
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