platform/upstream/Vulkan-Tools.git
7 years agoFix location of vk_layer_settings.txt on Android
Christian Forfang [Thu, 4 May 2017 13:26:51 +0000 (15:26 +0200)]
Fix location of vk_layer_settings.txt on Android

Commit 969ab0680dd434f0 ('api_dump: Support config file and logging on Android')
added a custom location for vk_layer_settings.txt on Android. However, commit
750837a5dedf524c81c (Merge branch 'trunk') ended up partly overwriting these changes,
breaking the functionality.

As a result, using the config file on Android hasn't worked since October 2016. This commit
restores the changes in the original commit to fix this.

7 years agolayers: Add missed entries for some nv extensions
Chris Forbes [Wed, 3 May 2017 15:21:33 +0000 (08:21 -0700)]
layers: Add missed entries for some nv extensions

Nothing uses these, so I didn't notice they weren't set up.

7 years agolayers: Don't generate T* = reinterpret_cast(T*) new T()
Chris Forbes [Wed, 3 May 2017 01:36:39 +0000 (18:36 -0700)]
layers: Don't generate T* = reinterpret_cast(T*) new T()

No need for the cast, these types already line up.

7 years agolayers: use Unwrap in UO codegen
Chris Forbes [Wed, 3 May 2017 01:35:12 +0000 (18:35 -0700)]
layers: use Unwrap in UO codegen

7 years agolayers: use WrapNew in UO codegen
Chris Forbes [Wed, 3 May 2017 01:25:30 +0000 (18:25 -0700)]
layers: use WrapNew in UO codegen

7 years agolayers: Move UO helpers to header
Chris Forbes [Wed, 3 May 2017 01:18:01 +0000 (18:18 -0700)]
layers: Move UO helpers to header

7 years agolayers: UO: rework GetDisplayPlaneCapabilitiesKHR
Chris Forbes [Wed, 3 May 2017 00:48:20 +0000 (17:48 -0700)]
layers: UO: rework GetDisplayPlaneCapabilitiesKHR

Not sure what this was trying to achieve -- we should have seen every
VkDisplayMode as a return from GetDisplayModePropertiesKHR?

7 years agolayers: Rework UO GetDisplayModePropertiesKHR
Chris Forbes [Wed, 3 May 2017 00:45:45 +0000 (17:45 -0700)]
layers: Rework UO GetDisplayModePropertiesKHR

Similar overkill to function fixed in earlier commit

7 years agolayers: Mark bogus looking reverse lookup in UO
Chris Forbes [Wed, 3 May 2017 00:45:29 +0000 (17:45 -0700)]
layers: Mark bogus looking reverse lookup in UO

7 years agolayers: Fix UO GetPhysicalDeviceDisplayPlanePropertiesKHR
Chris Forbes [Wed, 3 May 2017 00:36:57 +0000 (17:36 -0700)]
layers: Fix UO GetPhysicalDeviceDisplayPlanePropertiesKHR

This was doing odd things. pProperties is an output-only array. Its
contents are undefined before the call, so we shouldn't be trying to
unwrap the handles in there. We don't even need the safe_* here.

7 years agolayers: Use helpers in most swapchain UO impls
Chris Forbes [Wed, 3 May 2017 00:36:28 +0000 (17:36 -0700)]
layers: Use helpers in most swapchain UO impls

7 years agolayers: Write helpers for UO Unwrap+WrapNew operations
Chris Forbes [Wed, 3 May 2017 00:35:26 +0000 (17:35 -0700)]
layers: Write helpers for UO Unwrap+WrapNew operations

Allows us to concentrate all the ID generation and cast insanity in one
place.

7 years agolayers: Store instance data in UO::layer_data rather than gpu handle
Chris Forbes [Tue, 2 May 2017 23:54:24 +0000 (16:54 -0700)]
layers: Store instance data in UO::layer_data rather than gpu handle

7 years agolayers: Use InstanceExtensions support in UO
Chris Forbes [Tue, 2 May 2017 23:50:35 +0000 (16:50 -0700)]
layers: Use InstanceExtensions support in UO

7 years agolayers: hold UO dispatch tables by value in layer_data
Chris Forbes [Tue, 2 May 2017 23:42:55 +0000 (16:42 -0700)]
layers: hold UO dispatch tables by value in layer_data

Trims out some allocations; fixes leak of dispatch tables

7 years agolayers: UO: split device and instance data
Chris Forbes [Tue, 2 May 2017 23:26:23 +0000 (16:26 -0700)]
layers: UO: split device and instance data

7 years agolayers: Use InstanceExtensions in PV
Chris Forbes [Tue, 2 May 2017 22:47:16 +0000 (15:47 -0700)]
layers: Use InstanceExtensions in PV

7 years agolayers: Move CV instance extension tracking to helper
Chris Forbes [Tue, 2 May 2017 22:39:16 +0000 (15:39 -0700)]
layers: Move CV instance extension tracking to helper

7 years agolayers: Move PV device extension handling into helper
Chris Forbes [Tue, 2 May 2017 21:52:05 +0000 (14:52 -0700)]
layers: Move PV device extension handling into helper

7 years agolayers: Move CV::DeviceExtensions into helper
Chris Forbes [Tue, 2 May 2017 21:32:26 +0000 (14:32 -0700)]
layers: Move CV::DeviceExtensions into helper

7 years agolayers: Make device extension enables consistent
Chris Forbes [Tue, 2 May 2017 21:18:07 +0000 (14:18 -0700)]
layers: Make device extension enables consistent

I want to get rid of the "_enable" suffix everywhere to allow for a
second instance of the same structure to represent the /supported/ set
for better diagnostics.

7 years agolayers: Alias devExts in checkDeviceRegisterExtension
Chris Forbes [Tue, 2 May 2017 21:06:01 +0000 (14:06 -0700)]
layers: Alias devExts in checkDeviceRegisterExtension

7 years agolayers: Remove redundant check for extension enable in fptr
Chris Forbes [Tue, 2 May 2017 21:05:39 +0000 (14:05 -0700)]
layers: Remove redundant check for extension enable in fptr

7 years agolayers: Move unrelated data out of devExts type
Chris Forbes [Tue, 2 May 2017 20:50:05 +0000 (13:50 -0700)]
layers: Move unrelated data out of devExts type

7 years agolayers: clang-format only, no code changes
Dave Houlton [Thu, 27 Apr 2017 20:38:11 +0000 (14:38 -0600)]
layers: clang-format only, no code changes

clang-format of buffer_validation.cpp, layer_validation_tests.cpp

Change-Id: I98c581f6b343929f7812bf012084ad0abbb5a690

7 years agolayers: Add VUs 01202..01207
Dave Houlton [Thu, 27 Apr 2017 20:32:45 +0000 (14:32 -0600)]
layers: Add VUs 01202..01207

Added checks for 6 CopyImage VUs to buffer validation. Updated copy
size tests to provoke each new VU.

Change-Id: Ice7821b7c1b8aa0c90e68e8386c56bd021a616ed

7 years agobuild: set CMAKE_INSTALL_PREFIX explicitly
Mike Weiblen [Tue, 2 May 2017 22:42:31 +0000 (16:42 -0600)]
build: set CMAKE_INSTALL_PREFIX explicitly

Recent changes to upstream CMakeFiles changed the default install
location.  Explicitly specify our desired install location.

Changed for Linux only; Windows was already doing this.

Change-Id: Id71945d426ac8f0a445dca3855bfa037870aaed9

7 years agolayers: Special case threading and VK_NULL_HANDLE
Mike Stroyan [Mon, 1 May 2017 17:10:07 +0000 (11:10 -0600)]
layers: Special case threading and VK_NULL_HANDLE

If a parameter is VK_NULL_HANDLE, then it needs no use count.

Fixes #1712

7 years agoexternal: Update external reference ID for glslang
Mike Weiblen [Tue, 2 May 2017 16:45:28 +0000 (10:45 -0600)]
external: Update external reference ID for glslang

Change-Id: Ied5cecf65eaafcab9274376fea452934bda3f69b

7 years agolayers: Migrate surface support check to core
Petr Kraus [Mon, 1 May 2017 23:27:57 +0000 (01:27 +0200)]
layers: Migrate surface support check to core

- fix memory leak of `pQueueFamilyIndexSupport`
- remove vestige of queue family support check

7 years agolayers: Convert capability handling to data
Chris Forbes [Tue, 2 May 2017 01:39:21 +0000 (18:39 -0700)]
layers: Convert capability handling to data

Replace the huge switch + duplicated calls with a map of ptr-to-member.

7 years agolayers: Fix validation of compute pipelines
Chris Forbes [Tue, 2 May 2017 19:03:03 +0000 (12:03 -0700)]
layers: Fix validation of compute pipelines

skip handling was inverted for this case.

7 years agolayers: Remove check for imageExtent == currentExtent
Cort Stratton [Mon, 1 May 2017 22:36:05 +0000 (15:36 -0700)]
layers: Remove check for imageExtent == currentExtent

The condition tested in this check is only valid on platforms where
the swapchain dimensions must match the surface dimensions (e.g. Windows,
Xlib). In such cases, the surface *must* report minExtent == maxExtent ==
currentExtent, and this check would already be handled by the code directly
above the deleted check.

Platforms like Android allow the swapchain's imageExtent to be anywhere
within the surface minExtent/maxExtent range; if this does not match the
surface dimensions, it will be scaled accordingly.

7 years agolayers: Invert old 'pass' checks for shader validation
Chris Forbes [Tue, 2 May 2017 00:43:28 +0000 (17:43 -0700)]
layers: Invert old 'pass' checks for shader validation

Make this consistent with everything else, which uses 'skip'.

7 years agocube: Throttle rendering rather than presentation
Damien Leone [Fri, 14 Apr 2017 23:10:14 +0000 (16:10 -0700)]
cube: Throttle rendering rather than presentation

It is currently impossible to reliably throttle presentation per the
Vulkan spec.

The previous code was relying on fences returned by
vkAcquireNextImageKHR() to throttle.  The only information this fence
holds is whether it is possible to render to that image since the *last
time* it was presented, which could have happened several frames ago.

Instead, we can throttle the rendering by passing a fence to
vkQueueSubmit().

The previous code (only the cube.c version) was using a fence there to
synchronize a vkMapMemory() in demo_update_data_buffer(), which doesn't
seem necessary.

Before this commit, we were effectively throttling to the number of
frames in the swapchain rather than on FRAME_LAG.

In the FIFO present mode, this could schedule too much work in the
presentation channel (since we have to account for VBLANK events)
and thus causing undesired side effects, such as stutters when trying
to move the cube window on a desktop, which is I assume why the
throttle code was added in the first place.

7 years agolayers: Don't insist on memory dependency for present
Chris Forbes [Sat, 29 Apr 2017 00:29:10 +0000 (17:29 -0700)]
layers: Don't insist on memory dependency for present

When transitioning to/from VK_IMAGE_LAYOUT_PRESENT_SRC_KHR we don't need
to insist on VK_ACCESS_MEMORY_READ_BIT. On the transition TO, it's
automatically handled; in the transition FROM, it's a WAR hazard rather
than RAW/WAW so only the execution dependency is needed.

Fixes #1717.

7 years agolayers: Rewrite VerifyQueueStateToSeq to be less wasteful
Chris Forbes [Thu, 6 Apr 2017 23:33:46 +0000 (16:33 -0700)]
layers: Rewrite VerifyQueueStateToSeq to be less wasteful

When we have the same queue appearing multiple times in the dependency
tree of the operations between queue->seq and seq, we would scrub that
part of the submission list recursively, potentially to a great depth,
eventually blowing the stack.

[This used to work fine when it was done as part of RetireWorkOnQueue, as
we'd have brought queue->seq up as we went, and the recursive call would
end up doing no work.]

Instead, explicitly track where we're up to on each queue as well as
where we'd like to be, and use an explicit stack of work to do rather
than using the call stack.

Fixes crash in VkLayerTests.LongSemaphoreChain with 32k semaphores.

V2: Explain what's going on
V3: Tweak for windows build

7 years agoexternal_revisions: bump spirv-tools
Chris Forbes [Fri, 28 Apr 2017 20:02:17 +0000 (13:02 -0700)]
external_revisions: bump spirv-tools

CV needs the new bitpattern interface for specialization.

V2: also bump for android
V3: also bump headers
V4: also bump shaderc for android build

7 years agolayers: Change size of D32_SFLOAT_S8_UINT
Dave Houlton [Fri, 28 Apr 2017 20:03:39 +0000 (14:03 -0600)]
layers: Change size of D32_SFLOAT_S8_UINT

Change the size of the other format with 'optional' bytes, to be
consistent with the X8_D24_UNORM_PACK32 change. We'll now assume
the optional bytes when calculating buffer/image sizes for these
formats.

Change-Id: I7c194b85611795cc680f76de04513c3b45a88c4b

7 years agolayers: Change size of X8_D24_UNORM_PACK32
Tony Barbour [Fri, 28 Apr 2017 16:44:23 +0000 (10:44 -0600)]
layers: Change size of X8_D24_UNORM_PACK32

Change-Id: If049e2afaea83f0a705a7031888d4278784be49d

7 years agotests: Update vkCreateFramebuffer tests
Cort Stratton [Thu, 27 Apr 2017 14:25:03 +0000 (16:25 +0200)]
tests: Update vkCreateFramebuffer tests

- Add tests for width/height/layers of zero.
- Fix one VU check that wasn't using its corresponding error code.
- Migrate string-based tests to error-code-based variants.
- database update.

7 years agolayers: Add check for VkFramebuffer dimensions of zero
Cort Stratton [Thu, 27 Apr 2017 13:57:21 +0000 (15:57 +0200)]
layers: Add check for VkFramebuffer dimensions of zero

7 years agolayers: Guard checks of pQueueFamilyIndices
Tony Barbour [Wed, 26 Apr 2017 19:59:35 +0000 (13:59 -0600)]
layers: Guard checks of pQueueFamilyIndices

Only examine pQueueFamilyIndices if sharingMode is VK_SHARING_MODE_CONCURRENT
This fixes a crash in CTS when sharing mode was VK_SHARING_MODE_EXCLUSIVE
and queueFamilyIndexCount was VK_QUEUE_FAMILY_IGNORED

Change-Id: I72b1f140e8949e711723e98bdaead15655ab07a5

7 years agotests:Test VALIDATION_ERROR_00302
Tobin Ehlis [Wed, 26 Apr 2017 22:53:52 +0000 (16:53 -0600)]
tests:Test VALIDATION_ERROR_00302

InvalidBarriers test was already checking case VALIDATION_ERROR_00302
but it was doing so based on setting COLOR aspect bit.

Add another case where depth bit is excluded and verify that error is
correctly triggered.

7 years agolayers:Add barrier imageAspect check for DS image
Tobin Ehlis [Wed, 26 Apr 2017 22:51:48 +0000 (16:51 -0600)]
layers:Add barrier imageAspect check for DS image

Fixes #1703

Add validation check to make sure that both depth & stencil aspects of
DS images are transitioned in image memory barrier.

7 years agodemo/smoke Android build update: use latest cmake with Android Studio
guanghuafan [Wed, 26 Apr 2017 21:31:16 +0000 (14:31 -0700)]
demo/smoke Android build update: use latest cmake with Android Studio

7 years agowinsdk: Make copyright signature editable
Lenny Komow [Wed, 26 Apr 2017 20:55:48 +0000 (14:55 -0600)]
winsdk: Make copyright signature editable

Change-Id: Ie28b5d1e5ba7fbd727122399ef1f35d1eb54305a

7 years agolayers: Remove GLOBAL_CB_NODE::imageSubresourceMap
Chris Forbes [Wed, 26 Apr 2017 17:21:20 +0000 (10:21 -0700)]
layers: Remove GLOBAL_CB_NODE::imageSubresourceMap

This served no purpose. We can get the same result in the one place that
matters, by consulting GLOBAL_CB_NODE::imageLayoutMap

7 years agoloader: gh1681 - Restrict error in JSON
Mark Young [Tue, 25 Apr 2017 16:35:54 +0000 (10:35 -0600)]
loader: gh1681 - Restrict error in JSON

Restrict the loader's JSON errors when reading ICD manifest files
to only return an overall error if there are no valid drivers.

Change-Id: I10edb1cdc7e4db9cfdc0b3595416f0614ed22867

7 years agoci: Add myself to mail recipients
Chris Forbes [Tue, 25 Apr 2017 20:05:15 +0000 (13:05 -0700)]
ci: Add myself to mail recipients

7 years agolayers: Fix some function name passing
Chris Forbes [Tue, 25 Apr 2017 19:51:40 +0000 (12:51 -0700)]
layers: Fix some function name passing

- This was constructing a temporary std::string for no reason
- Missing () as other similar cases use.

7 years agolayers: Drop unused param for SetSparseMemBinding
Chris Forbes [Tue, 25 Apr 2017 01:57:15 +0000 (18:57 -0700)]
layers: Drop unused param for SetSparseMemBinding

There is only one function that can call this, and we didn't care
anyway.

7 years agolayers: fix typo in vkCmdExecuteCommands error strings
Chris Forbes [Tue, 25 Apr 2017 01:54:55 +0000 (18:54 -0700)]
layers: fix typo in vkCmdExecuteCommands error strings

7 years agolayers: Drop dead device param to CreatePassDAG
Chris Forbes [Tue, 25 Apr 2017 01:51:26 +0000 (18:51 -0700)]
layers: Drop dead device param to CreatePassDAG

7 years agolayers: Simplify slightly
Chris Forbes [Tue, 25 Apr 2017 01:42:14 +0000 (18:42 -0700)]
layers: Simplify slightly

7 years agolayers: Fix format utils SSCALED/USCALED descriptions
Chris Forbes [Tue, 25 Apr 2017 01:41:23 +0000 (18:41 -0700)]
layers: Fix format utils SSCALED/USCALED descriptions

These aren't about colorspaces -- comment was previously mangled from
sRGB case.

7 years agolayers: Inline deleteCommandBuffers into sole caller
Chris Forbes [Tue, 25 Apr 2017 01:40:57 +0000 (18:40 -0700)]
layers: Inline deleteCommandBuffers into sole caller

7 years agolayers: Fix more VkBool32 vs bool
Chris Forbes [Tue, 25 Apr 2017 01:40:13 +0000 (18:40 -0700)]
layers: Fix more VkBool32 vs bool

7 years agolayers: Fix 'secondary' typo
Chris Forbes [Tue, 25 Apr 2017 01:39:45 +0000 (18:39 -0700)]
layers: Fix 'secondary' typo

7 years agolayers: Fix more signedness noise
Chris Forbes [Tue, 25 Apr 2017 01:39:31 +0000 (18:39 -0700)]
layers: Fix more signedness noise

7 years agolayers: Use format utils rather than open-coded list in SC
Chris Forbes [Tue, 25 Apr 2017 01:39:11 +0000 (18:39 -0700)]
layers: Use format utils rather than open-coded list in SC

7 years agolayers: Drop layer_data from some leaf funcs that dont use it
Chris Forbes [Tue, 25 Apr 2017 01:38:50 +0000 (18:38 -0700)]
layers: Drop layer_data from some leaf funcs that dont use it

7 years agolayers: Fix some signedness mess
Chris Forbes [Tue, 25 Apr 2017 01:34:59 +0000 (18:34 -0700)]
layers: Fix some signedness mess

7 years agolayers: Fix some confused VkBool32 vs bool
Chris Forbes [Tue, 25 Apr 2017 01:34:28 +0000 (18:34 -0700)]
layers: Fix some confused VkBool32 vs bool

These aren't the same type!

7 years agolayers: Simplify DESCRIPTOR_POOL_STATE
Chris Forbes [Mon, 24 Apr 2017 23:59:02 +0000 (16:59 -0700)]
layers: Simplify DESCRIPTOR_POOL_STATE

Just use safe_* here rather than copying things manually.

7 years agolayers: Remove dead update_cmd_buf_and_mem_references
Chris Forbes [Mon, 24 Apr 2017 23:58:30 +0000 (16:58 -0700)]
layers: Remove dead update_cmd_buf_and_mem_references

No callers.

7 years agolayers:Validate display_timing swapchainCount
Tobin Ehlis [Mon, 24 Apr 2017 21:31:38 +0000 (15:31 -0600)]
layers:Validate display_timing swapchainCount

For the VK_GOOGLE_display_timing extension validate that the
swapchainCount in the VkPresentTimesInfoGOOGLE extension struct matches
the swapchainCount in the VkPresentInfoKHR struct.

Update unique ID database.

7 years agolayers:Validate objects for display_timing
Tobin Ehlis [Mon, 24 Apr 2017 20:46:25 +0000 (14:46 -0600)]
layers:Validate objects for display_timing

Update object_tracker validation for swapchain objects in new functions
for VK_GOOGLE_display_timing extension.
Add in missing Error IDs and update database.

7 years agolayers: Fix enum use in GetStateStructPtrFromObject
Chris Forbes [Mon, 24 Apr 2017 18:39:44 +0000 (11:39 -0700)]
layers: Fix enum use in GetStateStructPtrFromObject

Everything around this was updated to use the new enums, but not this
function. Mostly works by accident since many of these coincide.

7 years agolayers: Inline VkCommandBuffer overload of clear_cmd_buf_...
Chris Forbes [Mon, 24 Apr 2017 18:22:45 +0000 (11:22 -0700)]
layers: Inline VkCommandBuffer overload of clear_cmd_buf_...

This was silly. On the very next line, we called GetCBNode again.

7 years agolayers: Drop dead string conversion for command types
Chris Forbes [Mon, 24 Apr 2017 18:18:52 +0000 (11:18 -0700)]
layers: Drop dead string conversion for command types

No callers.

7 years agolayers: Banish 'skip_call' once and forever
Mark Lobodzinski [Mon, 24 Apr 2017 15:11:35 +0000 (09:11 -0600)]
layers: Banish 'skip_call' once and forever

Except for swapchain.cpp, which is undergoing a merge into CV.

Change-Id: I8b18518ef662a9a11a808ef3dce1b8f60d858fb3

7 years agotests: Update database to make validation happy
Jeremy Hayes [Mon, 24 Apr 2017 16:37:44 +0000 (10:37 -0600)]
tests: Update database to make validation happy

Change-Id: I2002d23d09208e4154fe06a864ae9c8d78f0bc49

7 years agolayers: Force all device extensions disabled initially
Chris Forbes [Mon, 24 Apr 2017 16:45:34 +0000 (09:45 -0700)]
layers: Force all device extensions disabled initially

Should really fix device initialization so we don't need to do this
explicitly.

7 years agolayers: Final object-type cleanup and loose ends
Mark Lobodzinski [Mon, 24 Apr 2017 14:58:52 +0000 (08:58 -0600)]
layers: Final object-type cleanup and loose ends

Fixed a few DebugReport object type casts and a couple of missed
spots with internal object type usage.

Change-Id: Iaa8bdcf60d5ec89e1da64227f2b7367ce6c64dc1

7 years agovulkaninfo: Fix various entries in VkPhysicalDeviceFeatures output
Tobias Markus [Sun, 23 Apr 2017 14:18:20 +0000 (16:18 +0200)]
vulkaninfo: Fix various entries in VkPhysicalDeviceFeatures output

The VkPhysicalDeviceFeatures dump missed the multiViewport and
samplerAnisotropy fields. The alphaToOne field was at the wrong position
(compared to the official definition in the Vulkan specification).

The fields {vertex,fragment}StoresAndAtomics as well as
shaderTessellationAndGeometryPointSize had the misleading and incorrect
names {vertex,tessellation,geometry}SideEffects.

7 years agolayers: Change obj type conversion routine name
Mark Lobodzinski [Thu, 13 Apr 2017 20:25:39 +0000 (14:25 -0600)]
layers: Change obj type conversion routine name

Change-Id: I3b4208ca3777ac46b2c5ab2839c268ed4381a2ac

7 years agolayers: Remove unused string helper from CV
Mark Lobodzinski [Thu, 13 Apr 2017 19:36:37 +0000 (13:36 -0600)]
layers: Remove unused string helper from CV

Change-Id: I36daf405a6c8170d7ee61f5a07bdad045f8d6304

7 years agolayers: Switch CV over to layer object types
Mark Lobodzinski [Thu, 13 Apr 2017 17:10:11 +0000 (11:10 -0600)]
layers: Switch CV over to layer object types

Convert internal uses of VkDebugReportObjectTypeEXT for the core-
validation layer to use the internal layer-povided object-type.

Also modified tests for changed error text.

Change-Id: If080f4bf452ead0c6fecc648309bfd95b27fc0ce

7 years agoscripts: Make object string conversion array const
Mark Lobodzinski [Tue, 18 Apr 2017 20:22:10 +0000 (14:22 -0600)]
scripts: Make object string conversion array const

Prevents unused var warnings by changing to be a constant.

Change-Id: Ie8f6cc837dd589074ae2278de34d4bd0a3e66236

7 years agolayers: Use UNKNOWN object type instead zero-cast
Mark Lobodzinski [Thu, 13 Apr 2017 16:06:48 +0000 (10:06 -0600)]
layers: Use UNKNOWN object type instead zero-cast

Change-Id: I36c175e78d7a33667f1485ed0e53f1dadab62a31

7 years agolayers: remove PIPELINE_STATE::vertexAttributeDescriptions
Chris Forbes [Fri, 21 Apr 2017 21:31:05 +0000 (14:31 -0700)]
layers: remove PIPELINE_STATE::vertexAttributeDescriptions

Nobody used this.

7 years agolayers: Simplify ValidateCmd
Chris Forbes [Fri, 21 Apr 2017 20:27:08 +0000 (13:27 -0700)]
layers: Simplify ValidateCmd

Nested !=, == was needlessly weird.

7 years agolayers: Remove GLOBAL_CB_NODE::numCmds
Chris Forbes [Fri, 21 Apr 2017 20:21:58 +0000 (13:21 -0700)]
layers: Remove GLOBAL_CB_NODE::numCmds

Nobody used this.

7 years agolayers: slim down draw counting
Chris Forbes [Fri, 21 Apr 2017 20:15:15 +0000 (13:15 -0700)]
layers: slim down draw counting

We used to care how many draws there were. Now we just care whether
there were /no/ draws (in one place)

7 years agolayers: Fix naming of enable flags for swapchain exts
Chris Forbes [Fri, 21 Apr 2017 20:06:31 +0000 (13:06 -0700)]
layers: Fix naming of enable flags for swapchain exts

Should be consistent with the actual extension names

7 years agolayers: Tidy up tracking of enabled device extensions in CV
Chris Forbes [Fri, 21 Apr 2017 20:01:20 +0000 (13:01 -0700)]
layers: Tidy up tracking of enabled device extensions in CV

- These are all guaranteed initialized.
- Convert code to data.

7 years agoscripts:Updated Validation IDs for spec 1.0.48
Tobin Ehlis [Wed, 19 Apr 2017 23:30:52 +0000 (17:30 -0600)]
scripts:Updated Validation IDs for spec 1.0.48

This was much nicer after that last update. Cmd line was:
python spec.py -update -remap 2937-3217:557-375:669-2819:739-536:
751-2106,4:1263-2956,5:2237-3104:2906-3203:2960-3222

Updated parser to BeautifulSoup so we can now use the HTML spec
directly from online again. You may have to install BeautifulSoup
python module separately to be able to run.

Had to manually import errors 911 and 912 which are only present in
the non-extension spec. This is an issue we're planning to fix when
unique ids are integrated into the spec which may acutally finally
happen within a month.

7 years agodocs: Update Android documentation
Cody Northrop [Mon, 10 Apr 2017 14:00:40 +0000 (08:00 -0600)]
docs: Update Android documentation

7 years agoandroid: Add script that installs APKs
Cody Northrop [Mon, 17 Apr 2017 15:35:43 +0000 (09:35 -0600)]
android: Add script that installs APKs

7 years agoandroid: Add test_APK script for layer validation
Cody Northrop [Tue, 11 Apr 2017 17:05:44 +0000 (11:05 -0600)]
android: Add test_APK script for layer validation

This is a script we've been using internally for a while, no reason
not to make it public.  It installs our layer validation tests, runs
them, and gathers output.  Improvements are welcome!

Usage:

  ./test_APK.sh -s <serial number> -p <plaform name> -f <gtest_filter>

7 years agoandroid: Add build script that includes APK packaging
Cody Northrop [Mon, 27 Mar 2017 19:08:30 +0000 (13:08 -0600)]
android: Add build script that includes APK packaging

7 years agoheader: Update to 1.0.48 Vulkan version
Mark Lobodzinski [Mon, 17 Apr 2017 18:28:27 +0000 (12:28 -0600)]
header: Update to 1.0.48 Vulkan version

- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated vulkan.hpp

Change-Id: I90407d181ad6a4652e1d1f210ee9b9d21c7857b0

7 years agolayers:Remove old INFO message
Tobin Ehlis [Mon, 17 Apr 2017 17:13:12 +0000 (11:13 -0600)]
layers:Remove old INFO message

INFO message in vkCreateDescriptorPool() is not needed and it was
returning a validation error if the callback returned "true" which is
just wrong. Killing the code altogether.

7 years agolayers: Special-case UO generation of QueuePresentKHR
Chris Forbes [Sun, 16 Apr 2017 01:13:17 +0000 (13:13 +1200)]
layers: Special-case UO generation of QueuePresentKHR

VkPresentInfo::pResults is an /output/ array. The generated code makes a
copy on the way in (pointlessly, but other clients of safe_* might find
this reasonable), but neglects to copy it back on the way out.

Lift the current code generated for QueuePresentKHR back into the
special cases, and add the correct post-call copy.

Fixes #1670.

V3: Just open-code the loop. I don't want to turn off MSVC's fussy mode,
and it's convinced both std::copy and std::copy_n are unsafe with all
raw pointers.

Signed-off-by: Chris Forbes <chrisforbes@google.com>
7 years agolayers:Add image layout validation for descriptors
Tobin Ehlis [Fri, 7 Apr 2017 18:20:30 +0000 (12:20 -0600)]
layers:Add image layout validation for descriptors

This change adds validation to make sure that an image layout at the
time the image is used in a descriptor matches the layout that was
given when the descriptor was updated.

Because image view covers a range of mip levels, loop over each level
and verify layouts one at a time.

Also Updated a number of validate functions to use cont ptr params for
data that they aren't changing.

7 years agoscripts: Convert ugly case statment to nice array
Mark Lobodzinski [Thu, 13 Apr 2017 14:36:18 +0000 (08:36 -0600)]
scripts: Convert ugly case statment to nice array

Since this was codegen'd, we can just create a static array for the
object type conversion and do away with all of the switch statement
mess.

Change-Id: I5fb20778d64f0675afa9c1563e2d44d22d5b4a02

7 years agolayers: Switch to codegen'd obj_type string helper
Mark Lobodzinski [Tue, 11 Apr 2017 21:43:49 +0000 (15:43 -0600)]
layers: Switch to codegen'd obj_type string helper

Updated LVTs for error string changes as well.

Change-Id: I5e0da92a9859e8ada7374af42a21a3f8f7629fdd

7 years agolayers: Use gen'd object types in object_tracker
Mark Lobodzinski [Tue, 11 Apr 2017 21:37:17 +0000 (15:37 -0600)]
layers: Use gen'd object types in object_tracker

Change-Id: I2166407bffcbf037d9b7898d91c674ed60fc95ba

7 years agoscripts: Add object type string helper func
Mark Lobodzinski [Tue, 11 Apr 2017 21:31:51 +0000 (15:31 -0600)]
scripts: Add object type string helper func

Also fixed a bug with the object type names.

Change-Id: Iea3c89a2e53266704aff0727296cce0e460195ce