Mark Young [Fri, 11 Nov 2016 18:21:11 +0000 (11:21 -0700)]
external: Update glslang and spirv-tools revisions
Change-Id: I8eec3ac1a1dedc14fac79ba47a10998842a8ffe4
Tony Barbour [Thu, 10 Nov 2016 23:45:15 +0000 (16:45 -0700)]
demos: Call DeviceWaitIdle before DestroyDevice
Complying with best practice from Vulkan Programming Guide
page 31 - Shutting Down Cleanly
Change-Id: I19640071d26f765ffc0a2f5e5fc4d60920395e0b
Lenny Komow [Fri, 11 Nov 2016 01:36:05 +0000 (18:36 -0700)]
winsdk: Fix missing file extension in runtime
Change-Id: I251663fb2932823d387af11e94bcd1e2586e0772
Jeremy Hayes [Thu, 10 Nov 2016 20:24:47 +0000 (13:24 -0700)]
demos: fix gcc warning
Change-Id: I9f4371334bf958bb01e89621008b6e569002d9a1
Jeremy Hayes [Thu, 3 Nov 2016 16:49:44 +0000 (10:49 -0600)]
layers: update valid usage
Change-Id: Id7556ddc1be59ee7fe5ab9273257cbc399724a3e
joey-lunarg [Thu, 3 Nov 2016 20:27:05 +0000 (14:27 -0600)]
demos: Fix argument consistency for smoketest
All arguments now have double-dashes
Change-Id: I19548d60a008cc259326efb1b62b6fd9d3bbdd70
joey-lunarg [Thu, 3 Nov 2016 19:49:49 +0000 (13:49 -0600)]
demos: Add testing features for smoke
Smoketest will now output # of frames rendered and elapsed ms.
Command line argument added to limit the rendered frames,
usage: 'smoketest --c <framecount>'
Change-Id: Id6bc0186169b6511823c4406be655f6d8ca18324
joey-lunarg [Thu, 3 Nov 2016 19:45:54 +0000 (13:45 -0600)]
demos: Add Game class file for smoke
Change-Id: I385f8fd0676f665b1d774f38767b5691ddae6f7a
Mike Weiblen [Tue, 1 Nov 2016 05:59:10 +0000 (23:59 -0600)]
layers: GH1092 sync CreateGraphicsPipeline enums
Update enum error database with status of implemented checks
inside CreateGraphicsPipeline().
Change-Id: Ie74b51cb65db7c8bff5e40c90617781269bc95a9
Mike Weiblen [Tue, 1 Nov 2016 03:04:10 +0000 (21:04 -0600)]
layers: GH934 Bounds checking on SetViewport
Add viewport bounds checking.
Change-Id: I8ec8a663c5ce3d90447f8f6228ce3ed8fcbb4454
Jeremy Hayes [Tue, 8 Nov 2016 22:52:05 +0000 (15:52 -0700)]
demos: fix cubepp fence creation
Change-Id: I8019075d3ba7e44cfaf78f6b242cc2e4a8b6505f
Lenny Komow [Mon, 7 Nov 2016 22:20:54 +0000 (15:20 -0700)]
winsdk: Set runtime to use parameterized build
Change-Id: I2f315a25667219620f5dcc3c36ad66d225134eef
Lenny Komow [Mon, 7 Nov 2016 18:40:00 +0000 (11:40 -0700)]
loader: Parameterize locations of drivers/layers
Change-Id: I79c16e01f336b3cf90ec7e6e66901ad363502e7b
Lenny Komow [Mon, 7 Nov 2016 17:44:23 +0000 (10:44 -0700)]
build: Allow the use of a custom-named vulkan dll
Change-Id: Ibeae30386ca2a91717d6b4c3039ada884003a1a4
Lenny Komow [Fri, 4 Nov 2016 16:38:39 +0000 (10:38 -0600)]
winsdk: Parameterize ConfigureRT program
Change-Id: I2f869d5a71fb6c5411aa2ab6a3b133c37fb52a09
Lenny Komow [Thu, 3 Nov 2016 21:43:59 +0000 (15:43 -0600)]
winsdk: Parameterize runtime NSIS script
Change-Id: If1d767f29b6189a44e3f942ab96a55062a2f9cb7
Mark Young [Mon, 7 Nov 2016 23:26:17 +0000 (16:26 -0700)]
loader: Remove warning on missing implicit layer
If the Implicit Layer registry location was missing, validation
would throw a warning. This is not correct behavior as many systems will
not have Implicit layers. Modify so the warning/error is only thrown if
either a driver manifest path, or an explicit layer path.
Change-Id: Ideccc730e0b1c613c4cc58c5f64ae31ba19bc05c
Chris Forbes [Mon, 7 Nov 2016 23:17:12 +0000 (12:17 +1300)]
layers: Adjust doc to describe PV EXTENSION_NOT_ENABLED
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 7 Nov 2016 19:45:03 +0000 (08:45 +1300)]
layers: Avoid calling functions not produced by the pv codegen
Still need to investigate why the generator doesn't produce everything
it should, but this should be enough to get us going.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Thu, 3 Nov 2016 20:16:04 +0000 (09:16 +1300)]
layers: Fix unused variable breaking android build
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 22:28:19 +0000 (11:28 +1300)]
layers: Move platform entrypoints into main list in PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 21:18:35 +0000 (10:18 +1300)]
layers: Do extension checks for KHR_display in PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 21:18:18 +0000 (10:18 +1300)]
layers: Add tracking for VK_KHR_display extension in PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 21:15:31 +0000 (10:15 +1300)]
layers: Move display swapchain entrypoint into main block
This used to be separate because the FPs were only conditionally
returned. Now we always return them.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 20:53:59 +0000 (09:53 +1300)]
layers: s/skip_call/skip/ in PV
V2: slight tweak for upstream change to PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 20:51:48 +0000 (09:51 +1300)]
layers: Introduce require_instance_extension in PV
More noise going away.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 20:29:52 +0000 (09:29 +1300)]
layers: Introduce require_device_extension function in PV
This gets rid of a bit of redundancy.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 05:34:25 +0000 (18:34 +1300)]
layers: Move swapchain and surface extension enable checks to PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 04:56:50 +0000 (17:56 +1300)]
layers: Use uniform initialization better in PV::layer_data
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 04:54:21 +0000 (17:54 +1300)]
layers: Rename device ext flags to match extensions in PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 04:43:34 +0000 (17:43 +1300)]
layers: Move enable checks for KHR_surface to PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 04:36:42 +0000 (17:36 +1300)]
layers: Rename ambiguous 'wsi_enabled' to 'surface_enabled' in PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 04:32:51 +0000 (17:32 +1300)]
layers: Remove dead plumbing for platform extension enables
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 03:58:15 +0000 (16:58 +1300)]
layers: Move platform WSI extension checks from swapchain to PV
We want to do all extension checks in PV-- we'll return a good FP for
anything we recognize, and complain upfront if the appropriate extension
wasn't enabled.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 03:21:28 +0000 (16:21 +1300)]
layers: Remove mdd() from PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 2 Nov 2016 03:13:01 +0000 (16:13 +1300)]
layers: Remove one remaining use of mid() in PV
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Thu, 3 Nov 2016 16:46:44 +0000 (10:46 -0600)]
layers:Handle secondary cmd buffer transitions
When recording a secondary command buffer into a primary command buffer
record any image layout transitions from the secondary cb into the
primary cb.
At QueueSubmit time we validate the layouts at the primary cmd buffer
level so this change will allow that code to correctly work if
layout transitions occur in the secondary command buffer.
Tobin Ehlis [Thu, 3 Nov 2016 13:26:28 +0000 (07:26 -0600)]
layers:Set framebuffer for secondary cmd buffer
If a secondary cmd buffer is inheriting state, need to update the
activeFramebuffer in same way we update active renderPass and subpass.
Mark Young [Thu, 3 Nov 2016 20:27:13 +0000 (14:27 -0600)]
loader: Rename icd and physical device vars
Clean up the names of the icd and physical device structs, lists, and
variables used throughout the loader. Before, it was hard to tell where
the item was to be used appropriately. Now, the names include a hint as
to where they are expected to be allocated, freed, and used.
Also, fixed a bug where we were using a trampoline item in a terminator
function, which caused issues. Thanks to Piers @ Nvidia for discovering
this.
Change-Id: If98628a5496e9f645eff94b73e80ae7f8408f7b4
Karl Schultz [Thu, 3 Nov 2016 18:31:41 +0000 (12:31 -0600)]
layers: GH1115 Add missing VK_LAYER_EXPORT decorations
Functions in the vk_layer_extension_utils file were
not getting exported correctly.
Change-Id: If1bf6456cb8e79a1b6292ea76bd72e3e89a2b430
Mark Lobodzinski [Wed, 2 Nov 2016 21:49:08 +0000 (15:49 -0600)]
loader: Remove vk-loader-generate.py
Loader-specific version of this script was unnecessary. Moved this
functionality into vk-generate.py.
Change-Id: I2f2b7de7a6fdf368d3090c587f7fe78c31176a85
Mark Lobodzinski [Wed, 2 Nov 2016 21:43:04 +0000 (15:43 -0600)]
loader: Use vk-generate.py instead of loader version
Modify cmake to use non-loader-specific script.
Change-Id: Ibe1008badc9380fa399daf207e57438114d0b1e0
Mark Lobodzinski [Wed, 2 Nov 2016 21:25:26 +0000 (15:25 -0600)]
scripts: Extend vk-generate for 'all' parameter
A different script is used to generate the loader's windows
def file (loader\vk-loader-generate.py). Added the ability for the
main script to also create the loader's def file.
Change-Id: Ib5caaefe85f84489e3a9f70e20104c27f070c0e8
Tobin Ehlis [Mon, 31 Oct 2016 19:27:36 +0000 (13:27 -0600)]
scripts:Initial version of validation stats script
Adding vk_validation_stat.py script to display validation stats.
It parses the database file, unique enum header, source, and testfiles
and reports on the total number of checks and any discrepancies between
the database file and what's actually implemented.
Karl Schultz [Wed, 2 Nov 2016 19:50:35 +0000 (13:50 -0600)]
docs: Remove references to "this repo"
Remove references to "this repository" in the loader and layers design doc since this file can appear on web sites, etc.
Mike Weiblen [Mon, 31 Oct 2016 17:05:56 +0000 (11:05 -0600)]
layers: GH934 Bounds checking on SetScissor
Change-Id: I3b14cc79f851eb66401da659cb0dade9888d84a8
Mark Young [Wed, 2 Nov 2016 15:37:08 +0000 (09:37 -0600)]
loader: Fix icd reference in WSI code
Piers Daniell (Nvidia) found a nasty bug where the loader code
was incorrectly incrementing through the ICDs as if the list was
an array. This may fix some multi-GPU issues he has found.
Change-Id: I42dd4a153c3226ac36b82f4cda8ad21bea8b2f66
Mike Stroyan [Tue, 1 Nov 2016 17:50:16 +0000 (11:50 -0600)]
layers: Change to including vk_safe_struct code.
Cmake on windows cannot handle multiple projects using generated library code.
Mark Young [Wed, 2 Nov 2016 01:20:41 +0000 (19:20 -0600)]
loader: Call ICD for CreateDisplayPlaneSurfaceKHR
Add vkCreateDisplayPlaneSurfaceKHR to the functions that can call
down to an ICD and let it create the KHR_surface object.
Change-Id: I32dd88868c25149a903304f23bdf3a720cdd99af
Mark Lobodzinski [Mon, 31 Oct 2016 16:23:17 +0000 (10:23 -0600)]
scripts: Build single dispatch table helper
Modified layers and tests/layers to use 'AllPlatforms' param
instead of displayserver.
Change-Id: I39d53e3991aab4f01854b227e1f6eb030850473d
Mark Lobodzinski [Mon, 31 Oct 2016 22:53:40 +0000 (16:53 -0600)]
scripts: Add ifdef protection to non_wsi ext APIs
Dispatch_table_helper.h should not be platform dependent, wrap all
platform dependencies in pre-processor directives for safe
compilation.
Change-Id: I6c876efaceb4d3c38c719f1db9e93d7bd543370e
Johannes van Waveren [Sun, 30 Oct 2016 04:47:59 +0000 (05:47 +0100)]
scripts: Re-added AllPlatforms wsi option
A single cross-platform dispatch table helper file is preferable.
Added the AllPlatforms parameter back into vk-generate.py
Change-Id: Icc00c04504d58007270eb55fc269651c215aa9b4
Karl Schultz [Mon, 31 Oct 2016 21:58:21 +0000 (15:58 -0600)]
docs: Updates for Linux loader /usr/local search paths.
Change-Id: I899c55815ef51efd141c22a5ce37b0800c2a8430
Chris Forbes [Wed, 26 Oct 2016 20:32:34 +0000 (09:32 +1300)]
layers: Tweak CmdClearAttachment handling for error DB
- Align the 'ignored' cases with the 1.0.32 spec
- Use unique error enums in the error cases.
- 01125 isn't a perfect match for what I was trying to fix with
this change, but the code does cover the VU statement.
Possibly an area we can adjust in the spec.
V2: - Set test names properly too.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 25 Oct 2016 23:40:31 +0000 (12:40 +1300)]
layers: Validate VkClearAttachment::aspectMask against aspects present
Fixes #1085
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 25 Oct 2016 03:32:54 +0000 (16:32 +1300)]
layers: Rework some names a bit in CmdClearAttachments
I want to use some of these names for other things...
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tony Barbour [Fri, 28 Oct 2016 19:52:29 +0000 (13:52 -0600)]
demos: Fix uninitialized variables in vulkaninfo
Getting validation errors from uninitialized flags fields
Change-Id: I052cafcd3dc2cfd031b9d0ec75e654e318e1f320
Tobin Ehlis [Mon, 31 Oct 2016 17:10:38 +0000 (11:10 -0600)]
scripts:Add newline at end of database file
This intends to always keep the newline there for consistency.
Tobin Ehlis [Mon, 31 Oct 2016 13:55:19 +0000 (07:55 -0600)]
scripts:Update unique error enums as of 10/31/16
No new checks this week, updated script to handle blank lines and also
to not output the API name debug info by default.
Cmd line was "python spec.py -update"
Mark Young [Mon, 31 Oct 2016 15:49:06 +0000 (09:49 -0600)]
external: Update external commit IDs
Use latest version of Spir-V tools, Spir-V headers, and Glslang.
Change-Id: Id4675f369e016c507b09a355663b487d29b980c5
Karl Schultz [Mon, 31 Oct 2016 14:52:38 +0000 (08:52 -0600)]
docs: LX617: Fix Android layer path info
Jeremy Hayes [Fri, 28 Oct 2016 21:17:03 +0000 (15:17 -0600)]
layers: update error database
Change-Id: Ib7cbe624aabedec172bead14d0f6d8314f7fc743
Tony Barbour [Fri, 21 Oct 2016 20:47:07 +0000 (14:47 -0600)]
demos: Make present mode a command line option
rather than a compile time decision
Change-Id: Ia13400f03d1881ca3d923f47f76b068a19670435
Tony Barbour [Wed, 19 Oct 2016 20:15:49 +0000 (14:15 -0600)]
demos: Move staging texture to demo struct
Get rid of flush in staging code where it's probably unexpected, considering
it doesn't begin another command buffer, and then wait until the expected
flush to free staging texture resources
Change-Id: I80945c3f002a7efe212608895b91ccf0934fe6f9
Tony Barbour [Wed, 19 Oct 2016 19:41:16 +0000 (13:41 -0600)]
demos: Move command buffer creation out of layout util
Create, begin, end, and submit the setup command buffer all from the same routine
Change-Id: I1ea93e14e930dc3330f722fe212cd8f66555f618
Mark Lobodzinski [Fri, 28 Oct 2016 14:50:56 +0000 (08:50 -0600)]
header: Update header files to version 1.0.32
- updated vulkan.h
- updated vk.xml (note that the validity tags have been removed in
this update)
- updated vulkan.hpp
- updated loader's SOVERSION
- updated json files to version 1.0.32
Change-Id: Ie650c1d6e0bdff3c8cc9c38d74715c454dec37de
Mark Lobodzinski [Fri, 28 Oct 2016 18:59:47 +0000 (12:59 -0600)]
tests: PV cmdSetViewport code style updates
Was mucking around in here anyway, so fixed up a few var names.
Change-Id: I15f6eab8a94ed73ad3d2f0db143f099732ff54f7
Mark Lobodzinski [Fri, 28 Oct 2016 18:57:23 +0000 (12:57 -0600)]
tests: Fix header 1.0.32 PV issues
The validity checks have been removed from vk.xml. PV needed a small
fixup to replace a check that was formerly autogen'd.
Change-Id: Ic4249ff17c22899b6e5324131c644d054ac2a0cf
Tobin Ehlis [Thu, 27 Oct 2016 13:53:36 +0000 (07:53 -0600)]
tests:Add RenderPassInUseDestroyedSignaled
Added RenderPassInUseDestroyedSignaled test to verify
VALIDATION_ERROR_00393, renderPass in-use when destroyed.
This test exercises case when renderPass is bound to cmd buffer as
a child of a bound pipeline.
Updated database file.
Tobin Ehlis [Wed, 26 Oct 2016 20:30:06 +0000 (14:30 -0600)]
layers:Add binding for renderpass in pipeline
When creating the cmd buffer<->object linkage, need to account for any
renderPass that is tied to the pipeline and bind it as well.
Mark Lobodzinski [Thu, 27 Oct 2016 14:33:09 +0000 (08:33 -0600)]
scripts: Make vk-generate more generic
Removing 'AllPlatforms' arg simplifies and further isolates this
script from API changes.
Change-Id: Iaa3e7c63984e177471fe207b342d79bffa0614b7
Mark Lobodzinski [Thu, 27 Oct 2016 14:32:01 +0000 (08:32 -0600)]
layers: Make dispatch_table_helper platform specific
Allplatforms was specified unnecessarily, resulting in more work
downstream to filter out undefined entrypoints.
Change-Id: Iba542dd4cf4b51592833e704f3d166be5e73b046
Mark Lobodzinski [Thu, 27 Oct 2016 15:52:30 +0000 (09:52 -0600)]
scripts: Add simplified extension groups to vulkan.py
Change-Id: I349e8513e8de69580e3a2bed6b69205c377079cb
Mark Lobodzinski [Thu, 27 Oct 2016 15:48:53 +0000 (09:48 -0600)]
scripts: Update vulkan.py extension lists
Reduced the number of lists, standardized the accepted parameters
for using vulkan.py, and fixed up naming in preparation for
codegening vulkan.py.
Change-Id: I4dd4fff15733fc73bf0712b306fc651333568ece
John Zupin [Thu, 27 Oct 2016 19:15:27 +0000 (13:15 -0600)]
build: Update cmake files to use variables as destinations for make install
Change-Id: Ic1d6ebdb73e796cbb1207963973e410c9928c04f
Dor Askayo [Sat, 22 Oct 2016 19:20:29 +0000 (22:20 +0300)]
loader: fix duplicate detection of manifests when CMAKE_INSTALL_PREFIX is defined
This commit fixes GH-1084. (see the issue for more details)
Note that this adds /usr/local/etc and /usr/local/share to the
loader's search path for drivers and layers.
Change-Id: I2cf502cc7d905225c8d38383ea6f856a4daed3ea
Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
Dor Askayo [Sat, 22 Oct 2016 17:42:44 +0000 (20:42 +0300)]
loader: use CMAKE_INSTALL_FULL_<dir> to improve Linux filesystem compatibility
In order to improve the loader's compatibility with different filesystem hierarchies
under Linux, use CMake's CMAKE_INSTALL_FULL_<dir> instead of CMAKE_INSTALL_<dir> to
correctly resolve the absolute paths of SYSCONFDIR and DATADIR in compliance with
the GNU Coding Standard [1] and Linux Foundation's Filesystem Hierarchy Standard [2],
as explained in CMake's documentation [3].
Note to packagers: When using CMAKE_INSTALL_PREFIX, this commit obviates the
definition of other CMAKE_INSTALL_ defines to properly detect ICD and layer
manifests in GNU/Linux-compliant filesystems.
This commit fixes GH-1083. (see the issue for more details)
[1] https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
[2] https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
[3] https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html
Change-Id: If743a3c8f5f7381e00c0d23b95b9e13c0dead144
Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
Mark Young [Thu, 27 Oct 2016 21:32:08 +0000 (15:32 -0600)]
loader: gh1093 - Fix multiple EnumPhysDev calls
The loader was freeing a previously allocated struct of physical
devices every vkEnumeratePhysicalDevice call. This caused
pointers to become stale. This change doesn't fix every scenario,
but it does return the loader to the behavior it had before.
Future work will re-evaluate the list every time and add/remove
items as necessary.
Change-Id: I32b27df1fab521826e6cd15c534d3ab4b2ea0688
Jeremy Hayes [Tue, 25 Oct 2016 23:32:23 +0000 (17:32 -0600)]
demos: Add src and dst stages to set_image_layout
Change-Id: I97ba1643e17bb97faa868123f5ef6e6f140a9b13
Jeremy Hayes [Tue, 25 Oct 2016 23:02:33 +0000 (17:02 -0600)]
demos: Fix access masks when cube uses staging bfr
Change-Id: I78f9c5ecb36edbd2515f7ef2a889519e45707ea8
Jeremy Hayes [Tue, 25 Oct 2016 22:12:09 +0000 (16:12 -0600)]
demos: Cube barrier changes from GH #1033
Change-Id: Ib6638235ccf006e962ea3bacac82fdc1a75e08e4
Jeremy Hayes [Tue, 25 Oct 2016 21:57:02 +0000 (15:57 -0600)]
cube.cpp: Remove excess tests from present fences
Instead of using a bool array and both checking and writing to it every
frame for no reason, just create the presentation fences with the
VK_FENCE_CREATE_SIGNALED_BIT flag.
Change-Id: Icfa630a821bade51439ecbc6edddd4973d7bd4ed
Karl Schultz [Thu, 27 Oct 2016 19:29:19 +0000 (13:29 -0600)]
layers: Fix a couple of err enum probs found by accident
Change-Id: Ibdebf762561e5e0888c3c04e5047d9d879d5f45a
Tobin Ehlis [Wed, 26 Oct 2016 20:13:46 +0000 (14:13 -0600)]
layers:Share image aspect validation code
Mult-purpose the image aspect mask validation code to run both at
CreateImageView time and at ValidateBarriers time. There was some basic
image aspect mask validation at ValidateBarriers, but this makes it
more complete and will catch some escapes.
Update the tests related to these checks to account changes in error
messages and also trying to remove some unexpected errors.
Tobin Ehlis [Wed, 26 Oct 2016 16:42:49 +0000 (10:42 -0600)]
layers:Migrate CreateImageView checks
Move CreateImageView checks from image layer to core_validation.
This is in preparation of dual-purposing the aspect mask checking
code to perform the same check on barriers.
Also updated these checks to use unique errors enums and made
corresponsing changes to the database file.
Tobin Ehlis [Wed, 26 Oct 2016 14:04:58 +0000 (08:04 -0600)]
layers:Rename skip_call in CreateImageView
Rename skip_call->skip in CreateImageView()
Chris Forbes [Wed, 26 Oct 2016 02:45:33 +0000 (15:45 +1300)]
layers: Don't put self-dep edges in the subpass DAG, or any other junk
We'd already excluded edges to/from VK_SUBPASS_EXTERNAL, but we don't
want any of the other weird cases either; if we attempted to trace use
of an attachment, and found a subpass which /didn't/ use it, but had a
self-dependency, we'd get stuck chasing that dependency recursively
until we exhausted the stack.
Fixes #1094
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Mark Lobodzinski [Wed, 26 Oct 2016 14:19:24 +0000 (08:19 -0600)]
scripts: Fix codegen issue in dispatch-table-helper
If a dispatch table entry needed to be protected by a #ifdef and was
the last prototype in the list, the corresponding #endif was not
generated causing compilation failures.
Change-Id: I8760bf546bc38d6fc7d80cd3a095e52977dc554e
Mark Lobodzinski [Wed, 26 Oct 2016 15:29:08 +0000 (09:29 -0600)]
scripts: Fixup vulkan.py for trunkmerges in VT
VulkanTools still uses some of the removed vulkan.py functionality.
Adding back in to facilitate trunk merges.
Change-Id: I92b4793f551e5d2afa46f353984a97ee87d831f4
Tobin Ehlis [Wed, 26 Oct 2016 04:00:47 +0000 (22:00 -0600)]
layers:Refactor PostCallRecordFreeMemory()
Simplify the code based on review feedback. Don't need loop guard and
don't need to clear the set of struct that's about to be freed.
Tobin Ehlis [Wed, 26 Oct 2016 03:47:46 +0000 (21:47 -0600)]
layers:Fix destroy functions w/ disable flags
All of the Destroy functions Pre* calls had a bug where, if the disable
flag was on, the state ptr and object struct were not correctly set.
Updated all of these cases to first update state ptr and obj_struct and
only then check the disable flag.
Tobin Ehlis [Thu, 20 Oct 2016 20:17:21 +0000 (14:17 -0600)]
layers:Rename EVENT_NODE->EVENT_STATE
Tobin Ehlis [Thu, 20 Oct 2016 20:13:24 +0000 (14:13 -0600)]
layers:Refactor DestroyEvent
Update DestroyEvent to use the Pre/Post call pattern and add a
validation flag.
Tobin Ehlis [Thu, 20 Oct 2016 17:02:03 +0000 (11:02 -0600)]
layers:Refactor FreeMemory()
Updated FreeMemory to follow the Pre/Post call pattern. There was some
old code that I was able to just throw away such as clearing memory
struct members before the struct was freed, a few separate info
messages that aren't very useful, and some broken code that would clear
every mem reference on a cmd buffer when only a single mem object would
be freed.
Also added validation flag, unique error enum, and updated database
file.
Tobin Ehlis [Thu, 20 Oct 2016 20:42:57 +0000 (14:42 -0600)]
layers:Early exit in object_tracker FreeMemory
If memory object is invalid, object_tracker should not call down the
chain. Also, update validation test to expect that object_tracker
will flag the invalid handle instead of core_validation.
Tobin Ehlis [Thu, 20 Oct 2016 16:14:38 +0000 (10:14 -0600)]
layers:Variable renaming
Rename some vars from camelCase to lowercase to meet style guide.
There was one line where we re-did a calculation that I updated to use
the already calculated value.
Tobin Ehlis [Thu, 20 Oct 2016 16:09:44 +0000 (10:09 -0600)]
layers:Remove duplicate cmd buffer binding
Memory objects inherit cb_bindings from BASE_NODE so don't need
redundant command_buffer_bindings. Remove that and update the code to
use the standard cb_bindings.
Also renamed a few vars from camelCase while touching code.
Tobin Ehlis [Thu, 20 Oct 2016 15:40:35 +0000 (09:40 -0600)]
layers:Refactor DestroyCommandPool
Update DestroyCommandPool to use the Pre/Post pattern and add a
validation flag for these checks.
Tobin Ehlis [Thu, 20 Oct 2016 13:43:15 +0000 (07:43 -0600)]
layers:Update enums for cmdbuffer in-use cases
Add 4 unique enums for cmd buffer & pool free and reset cases.
Update the database file as well.
Tobin Ehlis [Thu, 20 Oct 2016 12:50:37 +0000 (06:50 -0600)]
layers:Rename SAMPLER_NODE->SAMPLER_STATE