platform/upstream/Vulkan-LoaderAndValidationLayers.git
8 years agovulkaninfo: Show TexelOffset in decimal, instead of hex.
Rene Lindsay [Wed, 15 Jun 2016 15:55:32 +0000 (08:55 -0700)]
vulkaninfo: Show TexelOffset in decimal, instead of hex.

8 years agoloader: GH362 - Fix json output of escape chars
Mark Young [Tue, 14 Jun 2016 20:59:44 +0000 (14:59 -0600)]
loader: GH362 - Fix json output of escape chars

The strings from the JSON file already add escape characters.
So, \ becomes \\ in the JSON file strings.  However, the cJSON
library was adding \\ for ever encountered \ when converting
to a string.  This became messy as C:\\vulkanSDK\\layerfile.json
became C:\\\\vulkanSDK\\\\layerfile.json.

Change-Id: I006252e33d6e91e2bef704dd5dee0777105388a7

8 years agoloader: Fix GH607 by adding proper array support
Mark Young [Mon, 13 Jun 2016 20:49:53 +0000 (14:49 -0600)]
loader: Fix GH607 by adding proper array support

JSON spec does not allow objects of the same name at the same
level.  But, that's what we used to allow with "layer" definitions.
Update new file version to 1.0.1, add "layers" array object, and
add multiple "layer" definition warning.

Change-Id: I040f07897c689800364d243daf3c247f1b3cace7

8 years agoloader: return ext not present when applicable
Jeremy Hayes [Tue, 14 Jun 2016 17:50:02 +0000 (11:50 -0600)]
loader: return ext not present when applicable

8 years agotests: Fix type mismatch in wrap_objects
Mark Young [Tue, 14 Jun 2016 17:48:50 +0000 (11:48 -0600)]
tests: Fix type mismatch in wrap_objects

Change-Id: I4544293ae03565f345650a2dd41c8e36b5ab8205

8 years agovkjson: Include instance layers and extensions
Jesse Hall [Sun, 12 Jun 2016 06:40:43 +0000 (23:40 -0700)]
vkjson: Include instance layers and extensions

8 years agovkjson: Add ability to dump an entire instance
Jesse Hall [Sun, 12 Jun 2016 06:09:56 +0000 (23:09 -0700)]
vkjson: Add ability to dump an entire instance

8 years agovkjson: rename vkjson_device.cc -> vkjson_instance.cc
Jesse Hall [Sun, 12 Jun 2016 05:51:33 +0000 (22:51 -0700)]
vkjson: rename vkjson_device.cc -> vkjson_instance.cc

8 years agovkjson: Add VkJsonGetInstance()
Jesse Hall [Sun, 12 Jun 2016 05:50:00 +0000 (22:50 -0700)]
vkjson: Add VkJsonGetInstance()

To prepare for being able to dump an entire instance, vkjson_info now
always gathers info about all devices using VkJsonGetInstance, and
then dumps whichever devices were requested.

8 years agovkjson: Rename VkJsonAllProperties to VkJsonDevice
Jesse Hall [Sun, 12 Jun 2016 04:48:54 +0000 (21:48 -0700)]
vkjson: Rename VkJsonAllProperties to VkJsonDevice

In preparation for introducing VkJsonInstance. Typedefs and inline
functions are included in vkjson.h to preserve source compatibility.

8 years agovkjson: Add .clang-format
Jesse Hall [Sun, 12 Jun 2016 04:36:17 +0000 (21:36 -0700)]
vkjson: Add .clang-format

Future changes to vkjson should use consistent code formatting. The
vkjson-specific .clang-format will define the style to be used; I
picked Chromium style because it's the closest to the style of the
current code.

To avoid polluting git history/blame, I'm not reformatting all of the
existing code at this point. New changes should be run through
git-clang-format to reformat any modified lines. Recommended
configuration is:

  git config clangFormat.style file
  git config clangFormat.extension h,cc

8 years agolayers: Fix CMakeLists.txt for non-MSVC Win builds
Mark Mueller [Tue, 14 Jun 2016 00:26:30 +0000 (18:26 -0600)]
layers: Fix CMakeLists.txt for non-MSVC Win builds

Fix a recent change broke windows builds that don't use the VC IDE or
decorate build trees like VC does

Change-Id: I93c8a559c4255408a6fa890b2a3e4d81822d1cea

8 years agovulkaninfo: Clean up XCB window creation code.
Rene Lindsay [Mon, 13 Jun 2016 23:20:39 +0000 (17:20 -0600)]
vulkaninfo: Clean up XCB window creation code.

Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604

8 years agolayers: Update docs for shared utils DLL
Mark Lobodzinski [Mon, 13 Jun 2016 20:48:12 +0000 (14:48 -0600)]
layers: Update docs for shared utils DLL

Change-Id: I129b4d074f0604bbdf6d81c052333229ece99ac3

8 years agolayers: Add debug report header
Mark Lobodzinski [Wed, 8 Jun 2016 18:44:54 +0000 (12:44 -0600)]
layers: Add debug report header

Enable output of a short message header containing definitions of
debug message types.

Change-Id: Ia84fb0e79d599b8d022b7d78267b7b6a0307823e

8 years agolayers: Make vklayer_utils a shared library
Mark Lobodzinski [Wed, 8 Jun 2016 18:48:18 +0000 (12:48 -0600)]
layers: Make vklayer_utils a shared library

Was previously statically linked.  Converting to a DLL will allow
data sharing and use of utils in samples repo.

Change-Id: I63ccc1f0f57dfad40f7068c60ac623bce5bd714d

8 years agotests: remove unused flags
Jeremy Hayes [Mon, 13 Jun 2016 22:47:53 +0000 (16:47 -0600)]
tests: remove unused flags

Change-Id: I41ffcd1b89d7e18eb4bab3a1cdfb5e92dff017cb

8 years agolayers: Fix Windows Dota2 crash
Mark Lobodzinski [Mon, 13 Jun 2016 22:56:26 +0000 (16:56 -0600)]
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

8 years agolayers: Fix test fallout in CommandBufferTwoSubmits
Chris Forbes [Sun, 12 Jun 2016 21:59:34 +0000 (09:59 +1200)]
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>
8 years agolayers: Fix mistracking of semaphores associated with submissions
Chris Forbes [Fri, 10 Jun 2016 03:25:45 +0000 (15:25 +1200)]
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>
8 years agolayers: Note broken behavior around stealing tracking from other queues
Chris Forbes [Fri, 10 Jun 2016 03:25:12 +0000 (15:25 +1200)]
layers: Note broken behavior around stealing tracking from other queues

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add members to FENCE_NODE and QUEUE_NODE to hold the handles
Chris Forbes [Fri, 10 Jun 2016 03:22:37 +0000 (15:22 +1200)]
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>
8 years agolayers: Add helpers for getting fence and queue nodes
Chris Forbes [Fri, 10 Jun 2016 03:21:43 +0000 (15:21 +1200)]
layers: Add helpers for getting fence and queue nodes

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Add CB_SUBMISSION struct
Chris Forbes [Fri, 10 Jun 2016 00:43:13 +0000 (12:43 +1200)]
layers: Add CB_SUBMISSION struct

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Unify fence checks for queue functions
Chris Forbes [Thu, 9 Jun 2016 22:06:42 +0000 (10:06 +1200)]
layers: Unify fence checks for queue functions

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Remove dead fence members from GLOBAL_CB_NODE
Chris Forbes [Wed, 8 Jun 2016 21:40:55 +0000 (09:40 +1200)]
layers: Remove dead fence members from GLOBAL_CB_NODE

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agotests: Add simultaneous submission test with signal semaphores
Chris Forbes [Wed, 8 Jun 2016 04:52:28 +0000 (16:52 +1200)]
tests: Add simultaneous submission test with signal semaphores

This exposes some bad behavior in core_validation, as shown in #626.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: remove tracking of last queue and fence for CB
Chris Forbes [Tue, 7 Jun 2016 21:51:34 +0000 (09:51 +1200)]
layers: remove tracking of last queue and fence for CB

Unused.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Update manifest files for vers 1.0.16
Jon Ashburn [Mon, 13 Jun 2016 20:13:39 +0000 (14:13 -0600)]
layers: Update manifest files for vers 1.0.16

Change-Id: I7468c088d99f7bebabc05d1a84529f6e9e00d424

8 years agomisc: Update to Vulkan header version 16
Jon Ashburn [Mon, 13 Jun 2016 20:10:18 +0000 (14:10 -0600)]
misc: Update to Vulkan header version 16

Only change is the addition of AMD extensions.

Change-Id: Ia4270600247b2e3f406cdac0cfff3492ec1ce109

8 years agotests: add dispatchable object wrapping layer
Jon Ashburn [Wed, 11 May 2016 22:57:26 +0000 (16:57 -0600)]
tests: add dispatchable object wrapping layer

Change-Id: I181fd9b4363d98d4da63017b8bdce68e86e8aefc

8 years agoRevert "loader: Fix build warning on windows"
Jon Ashburn [Mon, 13 Jun 2016 20:02:13 +0000 (14:02 -0600)]
Revert "loader: Fix build warning on windows"

This reverts commit 27a58419aab1bd62201e00ea5a6d822b65f99fa3.

8 years agoloader: Fix build warning on windows
Jon Ashburn [Mon, 13 Jun 2016 19:31:32 +0000 (13:31 -0600)]
loader: Fix build warning on windows

Don't use default library for libcmt.

Change-Id: I68c0f629044713c0c875758af9a0a1dd345dad75

8 years agoAdded {} to if statements.
Rene Lindsay [Fri, 10 Jun 2016 23:25:55 +0000 (16:25 -0700)]
Added {} to if statements.

Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604

8 years agoRemoved some window event handling code.
Rene Lindsay [Fri, 10 Jun 2016 22:56:01 +0000 (16:56 -0600)]
Removed some window event handling code.

Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604

8 years agoApplied the "clang-format" obfuscator
Rene Lindsay [Fri, 10 Jun 2016 22:33:08 +0000 (15:33 -0700)]
Applied the "clang-format" obfuscator

Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604

8 years agoShow "Presentable Formats" per GPU for Win32/XCB/XLib
Rene Lindsay [Fri, 10 Jun 2016 15:26:26 +0000 (08:26 -0700)]
Show "Presentable Formats" per GPU for Win32/XCB/XLib

Change-Id: I5ef0862326d9a7ce4e59fe7c8947b532f252d604

8 years agotests: GH536, Updated Fill/UpdateBuffer test cases
Mark Lobodzinski [Thu, 9 Jun 2016 23:04:56 +0000 (17:04 -0600)]
tests: GH536, Updated Fill/UpdateBuffer test cases

Change-Id: I529ea57f0c4d68bc65baec1d953c1ff60fd331b2

8 years agolayers: GH536, Updated layer details doc
Mark Lobodzinski [Thu, 9 Jun 2016 23:03:52 +0000 (17:03 -0600)]
layers: GH536, Updated layer details doc

Added new cases, removed old enums, moved info from devlimits
to parameter validation.

Change-Id: Iddf6a679dc8596dcf411a6b880a63a26999607ec

8 years agolayers: GH536, Update CmdFillBuffer validation
Mark Lobodzinski [Thu, 9 Jun 2016 23:01:19 +0000 (17:01 -0600)]
layers: GH536, Update CmdFillBuffer validation

Was ignoring VK_WHOLE_SIZE. Moved validation cases for Update/FillBuffer
to Parameter Validation layer (as they were stateless) and added the
remaining additional stateless valid usage checks.

Change-Id: I0f41c6ba55f218a6db9fb34736a2abc52f856edf

8 years agowinrt: fix error on uninstall
David Pinedo [Fri, 10 Jun 2016 17:37:44 +0000 (11:37 -0600)]
winrt: fix error on uninstall

Remove old log files before writing them. When 2 uninstalls
are done in a row, this caused the uninstaller to display
an error

8 years agowinrtinstaller: display error num in ps warning window
David Pinedo [Fri, 10 Jun 2016 14:01:56 +0000 (08:01 -0600)]
winrtinstaller: display error num in ps warning window

Display an error number in warning window if powershell
script fails.

8 years agowinrt: configure loader even if ps script fails
David Pinedo [Thu, 9 Jun 2016 22:12:44 +0000 (16:12 -0600)]
winrt: configure loader even if ps script fails

8 years agotests: Add missing DestroyRenderPass call in LVT
Mark Lobodzinski [Thu, 9 Jun 2016 19:45:00 +0000 (13:45 -0600)]
tests: Add missing DestroyRenderPass call in LVT

Change-Id: I0f483883365abe34ce304ab6923e2507d8983367

8 years agotests: Fix line-endings in powershell scripts
Mark Lobodzinski [Thu, 9 Jun 2016 19:25:20 +0000 (13:25 -0600)]
tests: Fix line-endings in powershell scripts

Change-Id: Ibf90d79a93cc0689e647942271d86faade0bb1ca

8 years agotests: Fix instructions in doc validator
Mark Lobodzinski [Thu, 9 Jun 2016 19:22:04 +0000 (13:22 -0600)]
tests: Fix instructions in doc validator

Change-Id: Ie0d5d87da5e36e4206c6af73451ff28e3ad4b100

8 years agowinrtinstaller: fixed problems introduced by piping script to powershell.exe
David Pinedo [Thu, 9 Jun 2016 19:40:21 +0000 (13:40 -0600)]
winrtinstaller: fixed problems introduced by piping script to powershell.exe

PS script return value is now correctly retrieved by NSIS script.
Logging is less verbose, removed extranous errors.

8 years agolayers: PR573, Handle imageArraySize rename
David McFarland [Fri, 20 May 2016 21:26:28 +0000 (18:26 -0300)]
layers: PR573, Handle imageArraySize rename

Swapchain layer had stale references -- rename things still using
imageArraySize instead of imageArrayLayers.

Change-Id: Iaa4500ab8cf55e50b96636a50136605dd3e6d83e

8 years agolayers: PR632, Updated layer details doc
Mark Lobodzinski [Thu, 9 Jun 2016 16:59:03 +0000 (10:59 -0600)]
layers: PR632, Updated layer details doc

Added device_limits MISSING_QUERY_COUNT

Change-Id: I5b129ec12930129f5d5fe46bbe2622977dc2d992

8 years agolayers: PR632, Change devlimits errors to warnings
Jan-Harald Fredriksen [Wed, 8 Jun 2016 16:51:52 +0000 (18:51 +0200)]
layers: PR632, Change devlimits errors to warnings

Replace call sequence errors with warnings for
vkEnumeratePhysicalDevices and GetPhysicalDeviceQueueFamilyProperties.

Change-Id: I1505f4a2b339ac7ef435da8b3ec2f85612026a42

8 years agolayers: PR629, Remove subpass warnings
Jan-Harald Fredriksen [Wed, 8 Jun 2016 12:20:50 +0000 (14:20 +0200)]
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

8 years agolayers: Initialize write_in_use in eventMap entries
Tony Barbour [Mon, 6 Jun 2016 16:55:04 +0000 (10:55 -0600)]
layers: Initialize write_in_use in eventMap entries

Change-Id: Ic296788beb078f19a35b93b99df5dbf677c95122

8 years agowinrtinstaller: avoid executing ps scripts, instead just pipe cmds to ps
David Pinedo [Wed, 8 Jun 2016 22:30:06 +0000 (16:30 -0600)]
winrtinstaller: avoid executing ps scripts, instead just pipe cmds to ps

8 years agodemos: Add -lrt to link options for smoke LVL #500
Tony Barbour [Tue, 7 Jun 2016 16:44:06 +0000 (10:44 -0600)]
demos: Add -lrt to link options for smoke LVL #500

Change-Id: I0480e60e3c6c2f06f24022332640756bcdc3f1a0

8 years agotests: Remove 2 queue requirements for tests that only use 1
Tony Barbour [Mon, 6 Jun 2016 19:05:19 +0000 (13:05 -0600)]
tests: Remove 2 queue requirements for tests that only use 1

Change-Id: I95abf1b5414ca8ffc28397f07a8d20dcb5f405bc

8 years agotests: GH421 reflect vkAllocateDescriptorSets test
Mark Mueller [Tue, 7 Jun 2016 20:43:26 +0000 (14:43 -0600)]
tests: GH421 reflect vkAllocateDescriptorSets test

InvalidDescriptorSetLayout test was added with 772fcd1c

8 years agotests: GH421 reflect vkCmdBindDescriptorSets test
Mark Mueller [Tue, 7 Jun 2016 20:32:29 +0000 (14:32 -0600)]
tests: GH421 reflect vkCmdBindDescriptorSets test

Test was added with 772fcd1

8 years agolayers: Add check for image usage in vkCmdClearColorImage
Tony Barbour [Thu, 2 Jun 2016 15:43:50 +0000 (09:43 -0600)]
layers: Add check for image usage in vkCmdClearColorImage

Change-Id: I7ba803a11de29e65ae65fbf0a0168561a2e6739f

8 years agowinrtinstaller: retry ps script failure with full path to powershell.exe
David Pinedo [Tue, 7 Jun 2016 15:35:56 +0000 (09:35 -0600)]
winrtinstaller: retry ps script failure with full path to powershell.exe

Also changed diagnostics to log the contents of dir containing
powershell.exe, and log the current value of $PATH.

8 years agoloader: doc update for merge android and desktop layer interface
Jon Ashburn [Mon, 23 May 2016 19:05:21 +0000 (13:05 -0600)]
loader: doc update for merge android and desktop layer interface

Change-Id: Ibbffc0bf05bcbd1aa3b9272caa0b2c1c3a54037d

8 years agodemos: Added --suppress_popups flag
lenny-lunarg [Mon, 6 Jun 2016 17:07:53 +0000 (11:07 -0600)]
demos: Added --suppress_popups flag

Added a command line option to cube and tri to suppress
windows message boxes to facilitate Windows testing.

Change-Id: I069f9b199c9740e1e21c42100ceec42d5fb8f0e2

8 years agodoc: Expand LVL acronym in BUILD.md
Karl Schultz [Mon, 6 Jun 2016 18:15:00 +0000 (12:15 -0600)]
doc: Expand LVL acronym in BUILD.md

8 years agolayers: Update docs for default dbg msg callbacks
Mark Lobodzinski [Wed, 1 Jun 2016 22:12:49 +0000 (16:12 -0600)]
layers: Update docs for default dbg msg callbacks

Change-Id: Ic1f192ea7c95762d7e53f091cc9f0ea55be96c04

8 years agolayers: Move debug action enums from vk_layer.h
Mark Lobodzinski [Tue, 24 May 2016 22:04:56 +0000 (16:04 -0600)]
layers: Move debug action enums from vk_layer.h

Moved debug-report related items from vk_layer.h. Enums are now in
vk_layer_logging.h and DbgFunctionNode has been moved into a new
loader header file vk_loader_layer.h.

Change-Id: I6031146ba474ff01ca039da44ad5d42d054383a3

8 years agolayers: Add default layer error message config
Mark Lobodzinski [Thu, 19 May 2016 21:27:18 +0000 (15:27 -0600)]
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

8 years agowinsdkinstaller: add cmd copy as additional diagnosic for ps failure
David Pinedo [Mon, 6 Jun 2016 15:09:13 +0000 (09:09 -0600)]
winsdkinstaller: add cmd copy as additional diagnosic for ps failure

8 years agowinrtinstaller: add more logging debug code to powershell script invocation
David Pinedo [Sat, 4 Jun 2016 00:32:58 +0000 (18:32 -0600)]
winrtinstaller: add more logging debug code to powershell script invocation

8 years agowinrtinstaller: fixes and diagnostics for powershell config script failure
David Pinedo [Fri, 3 Jun 2016 18:08:12 +0000 (12:08 -0600)]
winrtinstaller: fixes and diagnostics for powershell config script failure

8 years agowindows: Allow run_all_tests.ps1 to skip tests
Cody Northrop [Thu, 2 Jun 2016 17:38:31 +0000 (11:38 -0600)]
windows: Allow run_all_tests.ps1 to skip tests

Use -TestExceptions to filter out tests with known problems.
Test list should follow a space, separated by a colon, i.e.

powershell -command .\run_all_tests.ps1 -TestExceptions ^
VkLayerTest.RequiredParameter:^
VkLayerTest.UnrecognizedValue

8 years agowindows: Enable vk_loader_validation_tests
Cody Northrop [Thu, 2 Jun 2016 17:36:23 +0000 (11:36 -0600)]
windows: Enable vk_loader_validation_tests

Tested and passed on Windows Skylake

8 years agowindows: Return exit status from test script
Cody Northrop [Wed, 25 May 2016 07:38:50 +0000 (01:38 -0600)]
windows: Return exit status from test script

8 years agolayers: Comment update
Tobin Ehlis [Thu, 2 Jun 2016 19:04:47 +0000 (13:04 -0600)]
layers: Comment update

8 years agolayers: Clean up poolMap access
Tobin Ehlis [Thu, 2 Jun 2016 19:02:17 +0000 (13:02 -0600)]
layers: Clean up poolMap access

Remove some unneeded passing of poolMap around and use getPoolNode()
function in DescriptorSet class.

8 years agolayers: Remove unneccessary consts
Tobin Ehlis [Thu, 2 Jun 2016 18:48:25 +0000 (12:48 -0600)]
layers: Remove unneccessary consts

8 years agolayers: Update swapchainMap to use unique_ptr
Tobin Ehlis [Thu, 2 Jun 2016 18:45:31 +0000 (12:45 -0600)]
layers: Update swapchainMap to use unique_ptr

8 years agolayers: Added getSwapchainNode() helper
Tobin Ehlis [Thu, 2 Jun 2016 18:41:47 +0000 (12:41 -0600)]
layers: Added getSwapchainNode() helper

Added getSwapchainNode() helper to core_validation and update
DescriptorSet class to use it.

8 years agolayers: Add getSwapchainFromImage() helper
Tobin Ehlis [Thu, 2 Jun 2016 18:13:32 +0000 (12:13 -0600)]
layers: Add getSwapchainFromImage() helper

Add getSwapchainFromImage() to core_validation and use it from
DescriptorSet class.

8 years agolayers: Remove unneeded layout_map
Tobin Ehlis [Thu, 2 Jun 2016 17:56:40 +0000 (11:56 -0600)]
layers: Remove unneeded layout_map

8 years agolayers: Add getImageNode() helper
Tobin Ehlis [Thu, 2 Jun 2016 17:49:22 +0000 (11:49 -0600)]
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.

8 years agolayers: Add getImageViewData() helper
Tobin Ehlis [Thu, 2 Jun 2016 16:54:09 +0000 (10:54 -0600)]
layers: Add getImageViewData() helper

Switch imageViewMap to store unique_ptrs. Add getImageViewDate() helper
to core_validation and update DescriptorSet to use it.

8 years agolayers: Add getSamplerNode() helper
Tobin Ehlis [Thu, 2 Jun 2016 16:08:53 +0000 (10:08 -0600)]
layers: Add getSamplerNode() helper

Kill sampler_map_ in DescriptorSet and add getSamplerNode() helper
and use it instead.

8 years agolayers: Add getBufferViewInfo() helper
Tobin Ehlis [Thu, 2 Jun 2016 15:43:11 +0000 (09:43 -0600)]
layers: Add getBufferViewInfo() helper

Add helper function to core_validation for bufferViewMap look-ups
and use the helper in DescriptorSet class.

8 years agolayers: Update getMemObjInfo helper
Tobin Ehlis [Thu, 2 Jun 2016 14:43:37 +0000 (08:43 -0600)]
layers: Update getMemObjInfo helper

Standardize core_validation use of getMemObjInfo() and update
DescriptorSet class to use it as well.

8 years agolayers: Add getBufferNode() helper
Tobin Ehlis [Thu, 2 Jun 2016 13:46:52 +0000 (07:46 -0600)]
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.

8 years agolayers: Make layer_data visible to DescriptorSet
Tobin Ehlis [Wed, 1 Jun 2016 22:41:17 +0000 (16:41 -0600)]
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.

8 years agoUpdate BUILD.md
Karl Schultz [Thu, 2 Jun 2016 22:48:30 +0000 (16:48 -0600)]
Update BUILD.md

Remove statement indicating that the Linux SDK installs the loader and layers to system libraries;  it no longer does this.

8 years agocmake: Fix MSVCRT override
Dustin Graves [Tue, 31 May 2016 22:32:29 +0000 (16:32 -0600)]
cmake: Fix MSVCRT override

Fix the CMake code that overrides the /MD flag with the /MT flag for
the Windows demo and loader projects.  The CMake debug and release
variables were set to /MTd and /MT, overriding all existing debug
and release settings.

Now replacing /MD with /MT in the debug and release variables,
without losing other debug/release settings.  Also performing
the MD/MT substitution for all release and debug configurations.

Change-Id: Id4a57c38bde0d909a95e7a49d9867029829e2c61

8 years agolayers: Comment update
Tobin Ehlis [Wed, 1 Jun 2016 17:56:42 +0000 (11:56 -0600)]
layers: Comment update

The behavior of the PreCallValidateAllocateDescriptorSets slightly
changed so updating comment accordingly.

8 years agolayers: Pass common data between pre/post AllocDescriptorSets
Tobin Ehlis [Wed, 1 Jun 2016 17:33:50 +0000 (11:33 -0600)]
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.

8 years agolayers: Add DescriptorSet interface for allocation
Tobin Ehlis [Thu, 26 May 2016 17:21:59 +0000 (11:21 -0600)]
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.

8 years agolayers: Migrate DESCRIPTOR_POOL_NODE to type header
Tobin Ehlis [Thu, 26 May 2016 17:20:13 +0000 (11:20 -0600)]
layers: Migrate DESCRIPTOR_POOL_NODE to type header

8 years agolayers: GH611 Fix dynamic offset indexing
iostrows [Thu, 2 Jun 2016 13:56:26 +0000 (15:56 +0200)]
layers: GH611 Fix dynamic offset indexing

8 years agolayers: simplify v0 function implementations
Chia-I Wu [Thu, 19 May 2016 23:11:22 +0000 (07:11 +0800)]
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.

8 years agotests: Fix extraneous errors in layer validation tests
Tony Barbour [Wed, 1 Jun 2016 21:55:43 +0000 (15:55 -0600)]
tests: Fix extraneous errors in layer validation tests

Change-Id: Idfa248eec6fd57494a7ee6010cf86680daa981a8

8 years agolayers: More noautovalidity processing for structs
Dustin Graves [Mon, 30 May 2016 22:14:27 +0000 (16:14 -0600)]
layers: More noautovalidity processing for structs

Apply 'noautovalidity' code generation logic to struct members.
Previously, struct pointers tagged as noautovalidity were ignored by
the code generator, but the members of non-NULL struct pointers
were still processed.  Now both the struct pointer and the struct
members are ignored when the struct pointer has the 'noautovalidity'
attribute.

Change-Id: I14bc231210f2440fb8bb3df8c73ef165100f0daa

8 years agolayers: LX506 fix vkFlushMappedMemoryRanges validation error
Mark Mueller [Mon, 30 May 2016 22:46:38 +0000 (16:46 -0600)]
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

8 years agowinrtinstaller: update signature on powershell config script
David Pinedo [Wed, 1 Jun 2016 16:31:51 +0000 (10:31 -0600)]
winrtinstaller: update signature on powershell config script

8 years agowinrt: Disable temp log in RT install.
Mark Young [Tue, 31 May 2016 21:25:46 +0000 (15:25 -0600)]
winrt: Disable temp log in RT install.

8 years agowinrt: Add more Powershell logging to RT install
Mark Young [Tue, 31 May 2016 20:34:08 +0000 (14:34 -0600)]
winrt: Add more Powershell logging to RT install

RT install Powershell script was using echo.  Now use transcript
recording (which will also include OS, Powershell version, and other
info).  Also, use Write-Host, Write-Warning, and Write-Error to
make errors and warnings more obvious.

NOTE: This includes intentional debug code enablement so I can
retrieve an RT install that does not remove a copy of the
Powershell log file.  This will be fixed quickly after the RT install
is generated on CruiseControl.

8 years agotests: Add test for new renderpass clearValue check
Tobin Ehlis [Tue, 31 May 2016 19:59:26 +0000 (13:59 -0600)]
tests: Add test for new renderpass clearValue check

Add test to hit the case where number of CLEAR loadOps in used
by renderPass attachments is greater than clearValueCount given
at renderPass begin time.

Also update documentation.