Dave Houlton [Wed, 17 May 2017 19:25:53 +0000 (13:25 -0600)]
layers: Add NotTestable as a valid testname entry
Modify spec.py to add the keyword NotTestable as a valid test name.
Use for VU checks that are implemented but which have no reasonable
method of testing.
Change-Id: Icd91e91b7c85484a8c652f970edc55d978829d81
Mark Lobodzinski [Thu, 18 May 2017 18:02:34 +0000 (12:02 -0600)]
layers: Kill assert for NULL pInheritanceInfo->FB
It is perfectly acceptable for the FB member of this structure
to be NULL. Remove assert.
Change-Id: I22b207bc6d96e1bb4b7c5f71a8dd796da6639642
Mark Lobodzinski [Tue, 16 May 2017 15:17:51 +0000 (09:17 -0600)]
tests: Added tests for unrecorded prim/sec CBs
Also updated error DB with new test name (ExecuteUnrecordedCBs).
Change-Id: I5bb65b9a9b6bf93cbca5eceb66b2c7f7937ea313
Mark Lobodzinski [Tue, 16 May 2017 15:14:35 +0000 (09:14 -0600)]
layers: GH1756, Fix null pInteritanceInfo deref
Trying to execute an unrecorded secondary command buffer in an
active renderpass resulted in a nullptr dereference. Added null check
along with a warning for unrecorded command buffers.
Change-Id: I67f34da57a9eda422f2321ddc6f28b863c999f5b
Mike Schuchardt [Wed, 17 May 2017 13:54:02 +0000 (07:54 -0600)]
layers: Record results from ext surface queries
Update core validation to save the results of
vkGetPhysicalDeviceSurfaceCapabilities2KHR,
vkGetPhysicalDeviceSurfaceCapabilities2EXT, and
vkGetPhysicalDeviceSurfaceFormats2KHR so they can be used to validate
swapchain creation.
Change-Id: Iea112df509a35d9bf606b35d4da8d680ae0d76a6
Tobin Ehlis [Thu, 11 May 2017 14:52:51 +0000 (08:52 -0600)]
layers: Validate shared presentable image cases
Add validation support for shared presentable images as defined in
VK_KHR_shared_presentable_image extension.
For all uses of shared presentable images, make sure that the image is
appropriately in VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout.
For two cases where no layout validation was performed, added a TODO
note (vkCmdBlitImage, vkCmdResolveImage) as basic layout validation
should first be added upstream.
Also locked the layout in the case where a front-buffered image is
presented and then flag an error if an attempt is made to transition
the image layout after that point.
Change-Id: I06cda727e3a7f56ccff4bffd7503b5ff73e8a795
Mark Lobodzinski [Mon, 15 May 2017 21:55:28 +0000 (15:55 -0600)]
layers: Add VUIDs to new objecttracker checks
Change-Id: I0d2d893b68aea7df294796cf42a8c6d46fbfd441
Petr Kraus [Sun, 14 May 2017 21:43:38 +0000 (23:43 +0200)]
layers: Transition all to HandleToUint64
Mostly automatic (i.e. probably missed some cases)
Petr Kraus [Sat, 13 May 2017 18:53:12 +0000 (20:53 +0200)]
layers: Add handle to uint64 helper
Chris Forbes [Thu, 11 May 2017 17:51:26 +0000 (10:51 -0700)]
layers: Remove CV imageToSwapchainMap
This no longer served any purpose, and entries were never cleaned up
when swapchains were destroyed.
Chris Forbes [Thu, 11 May 2017 17:37:24 +0000 (10:37 -0700)]
layers: Remove swapchain image special case from ValidateBarriers
Swapchain images have been added to the images table for a long time.
The checks below were also inconsistent about using the extracted data
or just going to image_data.
Mark Lobodzinski [Wed, 17 May 2017 15:16:48 +0000 (09:16 -0600)]
layers: Fix swapchain acquired validation msgs
Running cube --validate generated erroneous validation messages saying
the swapchain images had not been correctly acquired. Fixed bug in the
shared_presentable_images support code.
Change-Id: I1a8adc38902bdf1b517fd4da8e0be55465d55e12
Mark Lobodzinski [Tue, 16 May 2017 20:42:25 +0000 (14:42 -0600)]
layers: Add basic support for new extension
Add basic validation support for KHR_shared_presentable_image.
Change-Id: If6cc5abe6b41ed8580fc89bcf7c8103af971abc9
Tobin Ehlis [Thu, 11 May 2017 14:52:51 +0000 (08:52 -0600)]
layers: Validate shared presentable image cases
Add validation support for shared presentable images as defined in
VK_KHR_shared_presentable_image extension.
For all uses of shared presentable images, make sure that the image is
appropriately in VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout.
For two cases where no layout validation was performed, added a TODO
note (vkCmdBlitImage, vkCmdResolveImage) as basic layout validation
should first be added upstream.
Also locked the layout in the case where a front-buffered image is
presented and then flag an error if an attempt is made to transition
the image layout after that point.
Change-Id: I06cda727e3a7f56ccff4bffd7503b5ff73e8a795
Mark Young [Tue, 16 May 2017 15:48:55 +0000 (09:48 -0600)]
loader: Expand error message info
Expand loader_platform_open_library_error on Windows to include
the error message from GetLastError();
Also, modify the loading of the layer library to use the
loader_platform_open_library_error message sincce we want
to get as much error information in that as possible.
And fix a typo in a comment.
Change-Id: I1ef5ede8c6716c4624b31ddb3b32b83392920a6c
Mark Young [Tue, 16 May 2017 13:03:56 +0000 (07:03 -0600)]
loader: Expand lib search locations
Expand library search locations based on recommendations by
Dustin. We still attempt to use the old LoadLibrary first,
and then, only if that fails, do we attempt to use the new search.
Change-Id: I4cf1358f9eb7e45ac61f36435e926aa89c212f83
Mark Young [Tue, 16 May 2017 03:35:47 +0000 (21:35 -0600)]
loader: Modify ICD dlopen to use RTLD_NOW
Pierre-Loup at Valve caught this. By using RTLD_NOW on dlopen
it fails if symbols are not resolved at dlopen time. This resolves
an error where an ICD is missing a symbol on a system causing
the loader to fail later at an unrecoverable time.
Change-Id: Icf43fd36aebfbcb4b08e7e3891570161234118f7
Mike Weiblen [Mon, 15 May 2017 21:33:46 +0000 (15:33 -0600)]
external: Update refs for glslang and spirv-tools
Change-Id: Iaf28f3b22c53d8272984e7369fb5afb606908bdd
Mark Lobodzinski [Mon, 15 May 2017 21:55:28 +0000 (15:55 -0600)]
layers: Add VUIDs to new objecttracker checks
Change-Id: I0d2d893b68aea7df294796cf42a8c6d46fbfd441
Mark Lobodzinski [Mon, 15 May 2017 19:17:18 +0000 (13:17 -0600)]
layers: Update ObjectTracker for new extensions
vkGetPhysicalDeviceSurfaceFormats2KHR, vkGetSwapchainStatusKHR, and
vkGetPhysicalDeviceSurfaceCapabilities2KHR.
Change-Id: I726880924300e06209013ae39a8c4e019d4c2266
Mark Lobodzinski [Mon, 15 May 2017 16:27:52 +0000 (10:27 -0600)]
header: Update to 1.0.49 Vulkan version
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated vulkan.hpp -- NOTE: includes workaround for mishandled
extension API
- updated parameter validation layer with new APIs
Change-Id: I0b65065e1a0355c18c4a5eafdb0b3d218af6ff91
Tobin Ehlis [Mon, 15 May 2017 19:18:19 +0000 (13:18 -0600)]
scripts:Updated Validation IDs for spec 1.0.49
This may be the last one of these updates. String-based VUIDs are
now integrated into the spec so I'll migrate to a system based on those
in the next week.
Command to perform update:
python spec.py -update -remap 1631-1086:1734-1180:1739-1183:
1799-1234:3289-1251:182-1696,2:185-1699,3:2844-2336:660-2816:
2920-1964
I also manually restored 911 & 912 which are only in the Core spec.
Lenny Komow [Mon, 15 May 2017 19:05:33 +0000 (13:05 -0600)]
loader: Add ICD to extension emulation debug info
Change-Id: I5ad4e0794726029fe7fe21fdb8a9667f7eb9e7d5
Timo Aaltonen [Tue, 9 May 2017 11:39:31 +0000 (14:39 +0300)]
demos: gh1747 - Check for the installed libvulkan.so.1
avoids depending on the development symlink
v2: Android doesn't have versioned libs, so don't touch ShellAndroid.cpp
Mark Lobodzinski [Thu, 11 May 2017 19:54:52 +0000 (13:54 -0600)]
docs: Contributing.md updates
Change-Id: I0253ecd6166d84188f4f1cc1523c8e87d46c8590
Mark Young [Thu, 11 May 2017 22:04:07 +0000 (16:04 -0600)]
layers: Update EXT_debug_report version
Update the EXT_debug_report revision reported by each of the
layer's via their JSON files.
Change-Id: Ie5891ae89b61fe4588edfef593a7885298050de3
Petr Kraus [Wed, 10 May 2017 23:05:16 +0000 (01:05 +0200)]
layers: GH1720 Migrate swapchain queue checks
fixes #1720
Petr Kraus [Mon, 8 May 2017 21:45:36 +0000 (23:45 +0200)]
layers: Update DeviceQueueCreate checks
- remove some potential false-positives from QF check
- update error db with existing check
- use error db unique codes on existing checks
- move check that need state to core_validation
- deal with VK_QUEUE_FAMILY_IGNORED case
- improve error messages texts
- make messages return appropriate object
- move code that looks displaced to appropriate places
- add locks
Tony Barbour [Wed, 10 May 2017 17:14:03 +0000 (11:14 -0600)]
layers: Validate pOffsets in vkCmdBindVertexBuffers
Change-Id: Ie618d7657af6eca555050507a623be02af2e21fe
Mark Lobodzinski [Wed, 10 May 2017 19:19:02 +0000 (13:19 -0600)]
tests: Add test for new barrier layout VU check
And updated the error database.
Change-Id: Ifa9e073689ff83f4cd3a37eb2cd7b8c39b7003eb
Mark Lobodzinski [Wed, 10 May 2017 15:46:30 +0000 (09:46 -0600)]
layers: LX652, Layout check for pipelinebarrier in RP
Covers VU 2080, oldlayout must equal newlayout if barrier in an
active renderPass.
Change-Id: I2bfbd27a5938615d9274ecea8799451b5134f237
Mark Lobodzinski [Wed, 10 May 2017 15:34:13 +0000 (09:34 -0600)]
layers: Move null check in ValidateBarriers
The check for a non-null pointer was placed well after its first use.
Moved earlier to catch null ptr refs in all of the routine.
Change-Id: Iefc9a41c9c65d3b9f9524d13d585266d22b4ba54
Mark Young [Tue, 9 May 2017 19:19:04 +0000 (13:19 -0600)]
layers: Fix unique_objects_wrappers.h
The unique_objects_wrappers.h header was generated with code that
caused several compilation warnings. This resolves those warnings.
Change-Id: I5ed3bdb6bbe7df48b3fe6fb6679916161b32fdfd
Lenny Komow [Wed, 10 May 2017 16:06:13 +0000 (10:06 -0600)]
loader: Add basic phys dev props emulation
Add the ability for the loader to emulate the commands in
VK_KHR_get_physical_device_properties2. This will only be used when
using multiple physical devices where only one supportes the ext.
Change-Id: I596c8ee9eea5e5136e5b478508abb21c5d8ad5a1
Mark Young [Tue, 25 Apr 2017 14:08:29 +0000 (08:08 -0600)]
loader : gh1675 - Further strncat changes
This doesn't completely satisfy GH 1675, but at least resolves a
few of the holes discovered by @randomascii.
Change-Id: Idb2273851e36d4470d2f14cb09d6ac1c314497a8
Mark Lobodzinski [Tue, 9 May 2017 21:54:16 +0000 (15:54 -0600)]
layers: GH1739, Add check for shader binary size
VU 2816 says size must be a multiple of 4.
Change-Id: I38749fe44e02cac4e40aa572c4e4ccec01d82279
Mark Young [Wed, 10 May 2017 15:51:18 +0000 (09:51 -0600)]
layers: Fix build dependency
The no-dependency layer's still need to have a dependency in order
for the commands to execute in the proper order. So, just tied them
to the utils object.
Change-Id: Ic279dcf86b8f0e551b194a6b5688ea646b00cc5f
Mark Lobodzinski [Tue, 9 May 2017 20:07:02 +0000 (14:07 -0600)]
layers: Modify PV to ignore FORMAT_NOT_SUPPORTED
This return code is now ignored by the Get*ImageFormatProperties*
APIs. Printing a message for this usage was just noisy.
Change-Id: I0cbd1b1a4cfa4761092a647d7912b1d590fcc89b
Mark Lobodzinski [Tue, 9 May 2017 19:49:59 +0000 (13:49 -0600)]
layers: Add exclusion list to validate_result in PV
Allows specifying return codes to ignore in parameter validation.
Change-Id: Iebf11920c3921c39190903b2750f4b3d61fe6242
Cort Stratton [Thu, 4 May 2017 22:18:52 +0000 (15:18 -0700)]
layers: Add vkCreateRenderPass subpass attachment VUs
Mark Young [Tue, 9 May 2017 21:23:33 +0000 (15:23 -0600)]
loader: Optimize layer removal
In the case we remove a meta-layer, use memmove once, not in an
array.
Change-Id: Ia7496c4436e987011a0ad504a096c15f9d320c28
Mark Lobodzinski [Tue, 9 May 2017 14:21:15 +0000 (08:21 -0600)]
layers: LX673, CreateWin32Surface Null HWND check
Added NULL check to parameter validation, and assigned VU2505.
All we can do is check for Null. Apparently, hInstance CAN be NULL.
Change-Id: Ica5ead0514b7435ea9428dbd0018f53ff25462fd
Chris Forbes [Tue, 9 May 2017 15:51:38 +0000 (08:51 -0700)]
layers: Remove default ctors for {Image,}SamplerDescriptor
These just added confusion; we already support the !immut case in the other
ctor.
V2: ImageSamplerDescriptor remaining ctor was buggy.
Chris Forbes [Mon, 8 May 2017 23:34:32 +0000 (16:34 -0700)]
layers: Don't start ImageSamplerDescriptor w/ immut as updated.
This descriptor is NOT initially updated; it's invalid until the Image
component is set.
Chris Forbes [Mon, 8 May 2017 20:54:50 +0000 (13:54 -0700)]
layers: Don't skip validating image part of combined image+immut sampler
This early out was from another time...
Mark Young [Tue, 9 May 2017 16:31:12 +0000 (10:31 -0600)]
loader: Code review fixes
Fix some potential issues discovered by Karl in the code review.
Also, fix CMake warning on newly added VkLayer_standard_layer.
The CMake generation code I had been using expected a project with
the same name as the JSON.
Change-Id: I8738ff03ac08bcfc13aa8d11c570a0b507de450a
Mark Young [Fri, 5 May 2017 17:17:17 +0000 (11:17 -0600)]
loader: Update meta-layers
Use the meta-layer Manifest API version to check against each
of its component layer API versions. This will force us to
make sure each JSON file is properly updated in sync.
Add a section to the LoaderAndLayerInterface markdown doc about
the usage of meta-layers, and an example of how they look in a
Manifest JSON file.
Change-Id: I667cfd3013cbcf201c83935dc6f1c2bb937c7742
Mark Young [Thu, 4 May 2017 18:16:35 +0000 (12:16 -0600)]
loader: Fix layer Enumerate bug
This fixes a bug found by Timothee Besset regarding calling
vkEnumerateDeviceLayerProperties when no layers are present. This
resulted in a negative number being filled into a uint32_t which
caused an invalid number of layers to be returned.
Now that we have meta-layers implemented instead of hard-coded,
I created two lists: an application provided list of layers, and
an expanded list of layers (where meta-layers are broken up into
their component layers). The former is used when working with the
enumerate calls, but the later is used internally for final layer
activation.
Change-Id: If723fdfb5acb1dc57923282d2c641c582870ad1c
Mark Young [Tue, 2 May 2017 16:49:46 +0000 (10:49 -0600)]
loader: Meta-layer support
Integrate Lenny and my changes for Meta-layers.
Includes adding initial JSON file for standard_validation.
Change-Id: Ibc1da464fad4949e14e171dbc7dd9990621e1081
Tobin Ehlis [Tue, 9 May 2017 16:22:14 +0000 (10:22 -0600)]
layers:Fix cut-and-paste bug
From Mikko at Unity, there was a cut-and-paste bug here where color
counts were being used to check input attachments. Use input counts
instead.
Lenny Komow [Mon, 8 May 2017 20:38:08 +0000 (14:38 -0600)]
loader: gh1661 - Phys dev exts not loading
Fix a bug whereby commands from physical device extensions were
not being written to the instance extension dispatch table,
preventing their terminators from ever being run.
Change-Id: I38dab0ae6463674f2a1f572bc0ee1eebe8d0dd13
Tobin Ehlis [Mon, 8 May 2017 17:24:57 +0000 (11:24 -0600)]
layers:Immutable samplers are updated at creation
Fixes #1741
Descriptors with immutable samplers are updated at the time they're
created. Set update bool for descriptor sets with immutable samplers
at the time they're created. This will prevent false positives.
Chris Forbes [Mon, 8 May 2017 17:58:00 +0000 (10:58 -0700)]
layers: Remove unhelpful precheck in ValidateDrawState
Cort Stratton [Fri, 5 May 2017 23:02:35 +0000 (16:02 -0700)]
tests: Add test for graphics pipelines with tessellation
Cort Stratton [Thu, 27 Apr 2017 14:26:47 +0000 (16:26 +0200)]
layers: check for both TE and TC, not just TC
Jeremy Hayes [Fri, 5 May 2017 00:10:28 +0000 (18:10 -0600)]
layers: Add VkVertexInputAttributeDescription VUs
Also fix GH#1709.
Change-Id: I62394dc34cb92aa4308eb84cf7a0d62403e7a9e7
Jeremy Hayes [Fri, 5 May 2017 00:08:49 +0000 (18:08 -0600)]
layers: Add VkVertexInputBindingDescription VUs
Change-Id: Id9cb603dce7a49b21f9f8252baef692b4f6787f7
Mark Young [Thu, 4 May 2017 21:10:59 +0000 (15:10 -0600)]
loader: gh1693 - GPDA override not used
In some situations, the loader wouldn't directly use the
GetInstanceProcAddr or GetDeviceProcAddr function overrides directly.
Instead, the loader would call vkGetInstanceProcAddr with an
argument of "vkGetInstanceProcAddr" and vkGetDeviceProcAddr with an
argument of "vkGetDeviceProcAddr". This short-cuts that.
NOTE: Layers still need to support these queries because if another
layer is above you, it may call "vkGetInstanceProcAddr" with
to get "vkGetDeviceProcAddr".
Change-Id: I810945f45121d42d23b69d0b3334d6bad3a8ed2f
Mike Schuchardt [Fri, 5 May 2017 15:35:07 +0000 (09:35 -0600)]
layers: Fix incorrect VU ID
Change-Id: Ifc751f1ece6cfd5b6ab02d63081af6acbb2c56e8
Mike Schuchardt [Wed, 26 Apr 2017 21:25:23 +0000 (15:25 -0600)]
layers: Move patchControlPoints validation
Move pTessellationState->patchControlPoints checks to parameter
validation where they will only be executed if the pipeline contains
tessellation stages.
Change-Id: I271f915625995f4a54045d0abe63ce27b9e023f9
Mike Schuchardt [Wed, 26 Apr 2017 20:41:38 +0000 (14:41 -0600)]
layers: Pipeline creation conditional validation
1.0.47 added language to spec about when arguments to
vkCreateGraphicsPipelines are ignored. Only perform validation on
pTessellationState when both tessellation control and evaluation shader
stages are present. Only perform validation on pViewportState,
pMultisampleState, pDepthStencilState, pColorBlendState when
rasterization is enabled.
Change-Id: I23e1880d73723189adea32ef9d6ec3b2c3ac689c
Petr Kraus [Thu, 4 May 2017 15:59:44 +0000 (17:59 +0200)]
layers: Correct error db of VkDeviceQueueCreateInfo
- validation cmd is vkCreateDevice not Destroy
- non-implicit checks are implemented,
just didn't use the unique codes
Lenny Komow [Thu, 4 May 2017 20:50:01 +0000 (14:50 -0600)]
docs: Update loader doc for linking and format
Change-Id: Id51ce907ca167a44f9f2db6db48b4ade679b129b
Cody Northrop [Thu, 4 May 2017 16:16:46 +0000 (10:16 -0600)]
Revert "Fix location of vk_layer_settings.txt on Android"
This reverts commit
3d22f33e862d4bed46edbd5ee948f4ebe9c84a6f.
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.
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.
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.
Chris Forbes [Wed, 3 May 2017 01:35:12 +0000 (18:35 -0700)]
layers: use Unwrap in UO codegen
Chris Forbes [Wed, 3 May 2017 01:25:30 +0000 (18:25 -0700)]
layers: use WrapNew in UO codegen
Chris Forbes [Wed, 3 May 2017 01:18:01 +0000 (18:18 -0700)]
layers: Move UO helpers to header
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?
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
Chris Forbes [Wed, 3 May 2017 00:45:29 +0000 (17:45 -0700)]
layers: Mark bogus looking reverse lookup in UO
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.
Chris Forbes [Wed, 3 May 2017 00:36:28 +0000 (17:36 -0700)]
layers: Use helpers in most swapchain UO impls
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.
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
Chris Forbes [Tue, 2 May 2017 23:50:35 +0000 (16:50 -0700)]
layers: Use InstanceExtensions support in UO
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
Chris Forbes [Tue, 2 May 2017 23:26:23 +0000 (16:26 -0700)]
layers: UO: split device and instance data
Chris Forbes [Tue, 2 May 2017 22:47:16 +0000 (15:47 -0700)]
layers: Use InstanceExtensions in PV
Chris Forbes [Tue, 2 May 2017 22:39:16 +0000 (15:39 -0700)]
layers: Move CV instance extension tracking to helper
Chris Forbes [Tue, 2 May 2017 21:52:05 +0000 (14:52 -0700)]
layers: Move PV device extension handling into helper
Chris Forbes [Tue, 2 May 2017 21:32:26 +0000 (14:32 -0700)]
layers: Move CV::DeviceExtensions into helper
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.
Chris Forbes [Tue, 2 May 2017 21:06:01 +0000 (14:06 -0700)]
layers: Alias devExts in checkDeviceRegisterExtension
Chris Forbes [Tue, 2 May 2017 21:05:39 +0000 (14:05 -0700)]
layers: Remove redundant check for extension enable in fptr
Chris Forbes [Tue, 2 May 2017 20:50:05 +0000 (13:50 -0700)]
layers: Move unrelated data out of devExts type
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
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
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
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
Mike Weiblen [Tue, 2 May 2017 16:45:28 +0000 (10:45 -0600)]
external: Update external reference ID for glslang
Change-Id: Ied5cecf65eaafcab9274376fea452934bda3f69b
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
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.
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.
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.
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'.
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.
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.