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
Tobin Ehlis [Thu, 20 Oct 2016 12:35:39 +0000 (06:35 -0600)]
layers:Refactor DestroySampler
Update DestroySampler to use the Pre/Post pattern and add a validation
flag for these checks.
Tobin Ehlis [Wed, 26 Oct 2016 02:56:47 +0000 (20:56 -0600)]
layers:CreateDescriptorSetLayout cleanup
Streamline duplicate binding check, use [] operator instead of emplace,
remove dead comment and add new comment.
Tobin Ehlis [Tue, 25 Oct 2016 13:58:24 +0000 (07:58 -0600)]
tests:Add DuplicateDescriptorBinding test
Test case where descriptor set layout had two bindings with the same
value.
Tobin Ehlis [Tue, 25 Oct 2016 15:36:53 +0000 (09:36 -0600)]
layers:Refactor CreateDescriptorSetLayout
Update CreateDescriptorSetLayout() to use Pre/Post pattern and split
out validation of createInfo for the layout to occur before the
creation of the layout.
Tobin Ehlis [Tue, 25 Oct 2016 13:43:27 +0000 (07:43 -0600)]
layers:Update error enum for duplicate bindings
Add unique error enum for the case where descriptor bindings are
duplicated.
Tobin Ehlis [Tue, 25 Oct 2016 21:23:08 +0000 (15:23 -0600)]
layers:Rename cmd buffer flags for clarity
Fixes #870
CBSTATUS_ALL was not clear so changed to more descriptive
CBSTATUS_ALL_STATE_SET. This mask is used to flag all of the pipeline
state for a cmd buffer as "set." The setting can then be adjusted based
on which state was flagged as dynamic in the pipeline state object.
Tobin Ehlis [Tue, 25 Oct 2016 20:00:20 +0000 (14:00 -0600)]
scripts:Update spec.py for 6-column database
Bring spec.py up-to-date so that it properly reads in the API and
note columns from the database file, and retains any note text when
updating.
Tobin Ehlis [Wed, 19 Oct 2016 21:59:38 +0000 (15:59 -0600)]
scripts:Update database file w/ api column
This adds two columns to the error database file.
The first is the Vulkan api call that the error is related to.
The second is a free txt field for "notes" as the last column.
The spec.py script in this commit is a slightly hacky version that
was used to generate the updated database file. In follow-on commit
I'll update the spec.py file to correctly handle the updated database
file format.
Tobin Ehlis [Wed, 19 Oct 2016 21:32:35 +0000 (15:32 -0600)]
scripts:Skip repeat error strings
When generating unique error enums, detect and flag identical error
strings and then skip them. The error strings should be unique so this
recognizes cases when they aren't and recommends spec review and filing
a spec bug as appropriate.
Rene Lindsay [Tue, 25 Oct 2016 17:05:09 +0000 (11:05 -0600)]
docs: Fix .md syntax typo in header
Tobin Ehlis [Tue, 25 Oct 2016 12:33:27 +0000 (06:33 -0600)]
scripts:Update unique error enums as of 10/25/16
Two new checks, two killed checks, and one updated check this week.
Cmd line used for update:
python spec.py -update -remap 2270-2042
Jamie Madill [Mon, 24 Oct 2016 20:54:40 +0000 (16:54 -0400)]
loader: Fix cast warning
Fix a cast warning found in loader.c.
Change-Id: Ie39e84ce8f050a2655c2ad3a1a146dda17c15bf9
Mark Young [Fri, 21 Oct 2016 22:25:47 +0000 (16:25 -0600)]
loader: gh610- More debug log messages
Add more debug log messages for CreateDevice.
Change-Id: Iba02facc479fab6a6f976addc94da3accf9541f4
Mark Young [Fri, 21 Oct 2016 17:04:52 +0000 (11:04 -0600)]
externals: Update glslang revision
Updated glslang to use commit
3fc1543794d1c368d690e60eaac6111c8c436aa7 from 10/20/2016.
Change-Id: I016273fbe936abd2dd5c19f5ee9ce3e6d09d72e6
Jan-Harald Fredriksen [Fri, 21 Oct 2016 13:14:16 +0000 (15:14 +0200)]
Adding input attachment access as optional for attachment optimal layouts.
Change-Id: I0ef3d1af2ef38d218f1721e98eb1d98b326cd340
Tony Barbour [Wed, 19 Oct 2016 19:58:29 +0000 (13:58 -0600)]
demos: Add src and dst stages to set_image_layout
Change-Id: I70e70b8085cc1196b5ffb69283c158ea8bd7ec1b
Karl Schultz [Thu, 20 Oct 2016 20:46:44 +0000 (14:46 -0600)]
tests: Add postive test group to validatelayerdoc script
Change-Id: If8b1d81d4c755ba8fc409d141387291d0e7d813d
Karl Schultz [Tue, 18 Oct 2016 00:27:20 +0000 (18:27 -0600)]
layers: More err enum work in obj_tracker
Change-Id: I299b68ec2e66d77812ce5dff0d457e328cdd6c5c
Tony Barbour [Wed, 19 Oct 2016 21:23:36 +0000 (15:23 -0600)]
demos: Fix access masks when cube uses staging buffer
Change-Id: I89655f8224c3543d9c57f2cf7bd55b2c2a21c09f
Tobin Ehlis [Tue, 18 Oct 2016 21:55:07 +0000 (15:55 -0600)]
scripts:Fix valid usage parsing
Fixes #1067
Original valid usage parsing was naive and in how it used "strong" tags
to disable valid usage parsing which led to missing some checks and
including some spec language that wasn't valid usage.
This change isolates valid usage parsing to sidebar blocks which will
always contain the valid usage language. This prevents anything outside
of a sidebar from being incorrectly caught as valid usage and it also
catched a number of valid usage cases that were missed with previous
parser.
There are about 50 valid usage cases removed and about 300 added.
Mike Weiblen [Tue, 18 Oct 2016 01:33:05 +0000 (19:33 -0600)]
layers: Reword from cryptic abbreviations to readable words
Expand abbreviations to improve readability:
DS=depth/stencil
DS=descriptor set
CB=command buffer
VS=vertex shader
FS=fragment shader
VTX=vertex
PSO=pipeline state object
Change-Id: I48fe917aac50d1911fe2a3aa1ed2c739637c7645
Mike Stroyan [Wed, 19 Oct 2016 15:27:17 +0000 (09:27 -0600)]
layers: Fix core_validation function declarations
Add VKAPI_ATTR to FlushMappedMemoryRanges and
InvalidateMappedMemoryRanges function declarations.
Mark Lobodzinski [Tue, 18 Oct 2016 19:34:58 +0000 (13:34 -0600)]
tests: Add ValErrorId support to ErrorMonitor
SetDesiredMessage is now overloaded to take a string or a unique
error enum ID (VALIDATION_ERROR_xxxxx) to identify a particular
message. Passing in VALIDATION_ERROR_MAX_ENUM will match all
messages for positive tests. Also updated a couple of tests to use
error enums instead of strings.
Change-Id: Ic7723cf88ea6bda57d89ab82aace6ed358b14382
Mike Weiblen [Tue, 18 Oct 2016 00:52:05 +0000 (18:52 -0600)]
demos: Fix misspelling
Change-Id: I044619fb70b0a77dcbcdfe7c72dc8915119239a3
Tobin Ehlis [Tue, 18 Oct 2016 12:31:15 +0000 (06:31 -0600)]
layers:Fix cmd buffer to buffer binding
Bind the buffer to the cmd buffer independent of the buffer memory.
Previously in the null memory case we'd bind the cmd buffer to the
buffer without binding the buffer to the cmd buffer. This fixes that
imbalance.
Tobin Ehlis [Wed, 12 Oct 2016 00:46:21 +0000 (18:46 -0600)]
layers:Fix memory cleanup at DestroyImage time
Need to ClearMemoryObjectBindings() when an image is destroyed. Do
this even if mem_info is NULL which it will be for sparse bindings.
Tobin Ehlis [Tue, 11 Oct 2016 23:29:32 +0000 (17:29 -0600)]
layers:Update memory helper funcs to use BINDABLE
When getting, setting & clearing memory bindings, work with the updated
BINDABLE superclass of IMAGE & BUFFER state objects.
Tobin Ehlis [Tue, 11 Oct 2016 20:26:49 +0000 (14:26 -0600)]
layers:Add BINDABLE superclass for image/buffer state
Support for sparse memory binding is virually non-existant in current
validation layers. This is a first step down a long path to improve
sparse binding support.
The BINDABLE superclass is sub-classed by IMAGE & BUFFER state objs
and contains memory binding info in both the single binding and
sparse binding cases.
Bindings are initially encapsulated in the new MEM_BINDING struct.
For single binding cases, things are almost exactly the same as they
have always been. For sparse binding, the various bindings will be
stored in the sparse_bindings set where we initally don't have complete
information on the sparse binding as we only store the MEM_BINDING info
but this is a start.
Tony Barbour [Tue, 11 Oct 2016 17:41:05 +0000 (11:41 -0600)]
demos: Cube barrier changes from GH #1033
Change-Id: Ic68f9cd722474dc74957625c23c0f801f4b3852c
Tobin Ehlis [Mon, 17 Oct 2016 19:51:57 +0000 (13:51 -0600)]
layers:Kill blank array element for empty binding
Fixes #1053
DescriptorLayout class was incrementing global index for empty bindings
which led to an empty array entry that could cause invalid errors when
updating descriptors.
This change will only increment global index for non-empty bindings.
Mark Lobodzinski [Mon, 17 Oct 2016 22:52:10 +0000 (16:52 -0600)]
header: Update vulkan.hpp to version 1.0.31
Change-Id: Ia81cef98ef59431255e608d3a3faecfc4368ef8d
Mark Lobodzinski [Mon, 17 Oct 2016 22:50:51 +0000 (16:50 -0600)]
loader: Update SOVERSION to version 1.0.31
Change-Id: If2e6d7dee62d03cfc95bebd8418c53bceef6fc22
Mark Lobodzinski [Mon, 17 Oct 2016 22:49:59 +0000 (16:49 -0600)]
layers: Update layer json files to version 1.0.31
Change-Id: I0f88d1c5572b643d83168095d95a3f33c6d5b837
Mark Lobodzinski [Mon, 17 Oct 2016 22:48:35 +0000 (16:48 -0600)]
header: Move vulkan.h. to version 1.0.31
Change-Id: I854442c5ef7f42b380766fd24aa11ef48dfb4ffb
Mark Lobodzinski [Mon, 17 Oct 2016 22:48:09 +0000 (16:48 -0600)]
header: Move vk.xml to version 1.0.31
Change-Id: If908ba18545c4afc0d041904c0daa57a2569c5a9
Tobin Ehlis [Tue, 18 Oct 2016 13:31:22 +0000 (07:31 -0600)]
layers:Fix Val IDs msg calls for
Two CmdCopyImage checks were looking up the incorrect strings for their
error enums. Use the correct strings.
Tobin Ehlis [Sat, 15 Oct 2016 00:06:16 +0000 (18:06 -0600)]
scripts:Update spec script to include extensions
Moving all of the validation error enums from the vanilla 1.0 script to
the script that includes all of the extensions.
Took a bit of script wizardry and lots of back and forth to get all of
the new checks matching the old ones. I think everything is there from
the original except for 4 layer checks (enums 1661-1664) that were all
invalid errors.
For reference here's the complete command line used to migrate:
python spec.py -update -remap 628-619:708-671:729-689:732-692:762-722:\
1251-1203:1253-1204:1256-1206:1258-1207:1315-1263:1320-1268:1322-1269:\
1364-1310:1366-1311:1369-1313:1371-1314:1555-1458:1684-1584:1697-1597:\
1960-1679,3:1945-1665,13:1963-1683,11
Chris Forbes [Mon, 17 Oct 2016 02:45:49 +0000 (15:45 +1300)]
layers: Fix bad use of PIPELINE_STATE ptr value in errors
Fixes #1056.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Mark Young [Mon, 17 Oct 2016 18:27:36 +0000 (12:27 -0600)]
loader: Fix vkDestroySurfaceKHR call on NULL surf
Thanks to Derrick Owens @ AMD for catching this bug which can
cause a null-ptr dereference while running Khronos conformance
test dEQP-VK.wsi.win32.surface.destroy_null_handle.
Change-Id: I104a890cd23615458566ec71e072e21c76e989cb
Jeremy Hayes [Fri, 14 Oct 2016 21:09:35 +0000 (15:09 -0600)]
demos: fix cubepp on wayland errors
Change-Id: I74fe07d170ee0e403357a018554ac9d6c754b6b5
Mark Young [Fri, 14 Oct 2016 20:19:25 +0000 (14:19 -0600)]
external: Update spirv and glslang revisions
Updated spirv-tools, spirv-headers, and glslang to latest
commits in their respective repositories.
Change-Id: Ic6543f827de2311a3e88d6e97bedcc0e77d7086a
Mark Young [Fri, 14 Oct 2016 20:18:56 +0000 (14:18 -0600)]
loader: Fix compilation warning in debug_report.c
Change-Id: I92e7f23217ef3897995514360c23849ef1cfadeb
Mark Lobodzinski [Fri, 14 Oct 2016 19:09:48 +0000 (13:09 -0600)]
layers: Update CmdCopyImage validation for style
Updated function/var names for layer coding style guidelines.
Change-Id: Ia9bcc2bd1c87e0e5f49d0d5996c030d727d971d2
Mark Lobodzinski [Fri, 14 Oct 2016 18:13:33 +0000 (12:13 -0600)]
layers: Add Val IDs for a more cmdCopyImage checks
A couple more of the CmdCopyImage checks that have LVTs got added.
One of the remaining ones is not covered by valid usage but is a
'must' check, will add later.
Change-Id: Id9a1b7ad276c159149be4ef8c29d845baae29a35
Mark Lobodzinski [Fri, 14 Oct 2016 17:40:31 +0000 (11:40 -0600)]
layers: GH1055, Update unique validation IDs
For CmdCopyImage bounds checks.
Change-Id: Ifb0f9916df9f0ee50815733c990f3e4397565e7e
Mark Lobodzinski [Fri, 14 Oct 2016 17:43:44 +0000 (11:43 -0600)]
layers: Updated validation database for new checks
Updated entries for new CmdCopyImage tests.
Change-Id: I3511da9c4e335fbd25eef0b60be5d4f9cc12a4d0
Mark Lobodzinski [Fri, 14 Oct 2016 17:43:06 +0000 (11:43 -0600)]
layers: Add error message header to image layer
Change-Id: I12afb66f2ba6de940f3257e52c5073690acd3d45
Mark Lobodzinski [Fri, 14 Oct 2016 16:59:27 +0000 (10:59 -0600)]
layers: GH1055, Add bounds checks for CmdCopyImage
Added missing bounds-checking code.
Change-Id: Ia65b8bb22e6c580c3ebbb26409ddfbf5dcb683b6
Tobin Ehlis [Wed, 12 Oct 2016 13:25:59 +0000 (07:25 -0600)]
layers:Kill old MTMERGE defines
Just a couple of these lingering that we can now axe
Chris Forbes [Thu, 13 Oct 2016 01:44:03 +0000 (14:44 +1300)]
layers: Suppress warning generation after app acknowledges an error
The app already knows about the problem-- it has requested that the call
be skipped. Producing another warning afterward is just noise.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Thu, 13 Oct 2016 02:34:59 +0000 (15:34 +1300)]
layers: Stop copying INSTANCE_STATE into device
V2: Squash in second patch; resolve conflicts with @tobine's renames.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Thu, 13 Oct 2016 16:18:18 +0000 (10:18 -0600)]
layers:Pipeline state rename fixup
Overzealous bulk replace changed getPipelineLayout to getPipelineState
layout. This should not have been changed so reverting here.
Tobin Ehlis [Wed, 12 Oct 2016 23:17:57 +0000 (17:17 -0600)]
layers:Rename IMAGE_NODE to IMAGE_STATE
Another node->state rename pass.
Tobin Ehlis [Wed, 12 Oct 2016 23:14:02 +0000 (17:14 -0600)]
layers:Refactor DestroyImage
Add validation flag for DestroyImage and update it to follow the
Pre/Post pattern.
Tobin Ehlis [Wed, 12 Oct 2016 22:58:54 +0000 (16:58 -0600)]
layers:Refactor DestroyRenderPass
Add validation flag for DestroyRenderPass and update it to follow the
Pre/Post pattern.
Tobin Ehlis [Wed, 12 Oct 2016 21:24:03 +0000 (15:24 -0600)]
layers:Rename RENDER_PASS_NODE to *_STATE
Another node->state rename pass.
Tobin Ehlis [Wed, 12 Oct 2016 21:09:16 +0000 (15:09 -0600)]
layers:Bind descriptor pool to cmd buffer
Add pool state to DescriptorSet instead of just the pool.
Then, at bind time, create a dual binding between the cmd buffer
and the pool. This correcly puts pool in-use when cmd buffer is
submitted, as well as flagging cmd buffer as INVALID if/when the
pool is destroyed.
Tobin Ehlis [Wed, 12 Oct 2016 21:01:39 +0000 (15:01 -0600)]
layers:Update some pool_node naming
Change some pool_node names to pool_state in DescriptorSet class.
Also update getPool function prototype to the new name of
getDescriptorSetState().
Tobin Ehlis [Wed, 12 Oct 2016 20:34:12 +0000 (14:34 -0600)]
layers:Add pool member to DescriptorSet class
When creating a DescriptorSet instance, record the pool that the set is
allocated from in a private pool_ variable.
Then, when binding a set to a cmd buffer, also create a binding between
the command buffer and the pool.
This allows us to catch the in-use case when sets are implicitly freed
by calling vkDestroyDescriptorPool().
Tobin Ehlis [Wed, 12 Oct 2016 20:27:30 +0000 (14:27 -0600)]
layers:Rename DESCRIPTOR_POOL_NODE to *_STATE
Continuing the NODE->STATE renaming effort
Tobin Ehlis [Wed, 12 Oct 2016 20:05:01 +0000 (14:05 -0600)]
layers:Kill outdated comment
Tobin Ehlis [Wed, 12 Oct 2016 19:20:29 +0000 (13:20 -0600)]
tests:Add FramebufferInUseDestroyedSignaled test
This test creates a binding between framebuffer and cmd buffer, submits
the cmd buffer and then destroys the framebuffer while still in-use to
verify that the correct error is triggered.
Update database file with new test for check 00422.
Tobin Ehlis [Wed, 12 Oct 2016 19:18:20 +0000 (13:18 -0600)]
layers:Fix framebuffer cmd buffer binding
Wasn't correctly establishing binding between framebuffer object and
cmd buffer object that it's used in. Updated code to use standard
addCommandBufferBinding() function.
Tobin Ehlis [Wed, 12 Oct 2016 17:54:09 +0000 (11:54 -0600)]
layers:Rename FRAMEBUFFER_NODE to *_STATE
Part of ongoing effort to kill nebulous "NODE" moniker and switch to
"STATE" instead.
Tobin Ehlis [Wed, 12 Oct 2016 17:48:21 +0000 (11:48 -0600)]
layers:Refactor DestroyFramebuffer
Add validation flag for DestroyFramebuffer and update it to follow the
Pre/Post pattern. This function didn't previously perform an in-use
check so added that check.
Updated database file.
Tobin Ehlis [Wed, 12 Oct 2016 15:58:35 +0000 (09:58 -0600)]
layers:Add in-use unique error enums
Pass error enum into ValidateObjectNotInUse function and update
all of the existing calls to pass correct enum.
Also update database file to record checks as implemented and note
test status.
Tobin Ehlis [Wed, 12 Oct 2016 15:29:26 +0000 (09:29 -0600)]
layers:Add validation to DestroyDescriptorPool
Add validation flag for DestroyDescriptorPool and update it with
validation code using the Pre/Post pattern.
Flag error if descriptor pool is in use and invalidate any cmd buffers
that it was bound to. Remove pool state from map when it's destroyed.
When the pool is destroyed make sure all of its descriptor sets are
also freed.
Tobin Ehlis [Wed, 12 Oct 2016 15:05:51 +0000 (09:05 -0600)]
layers:Rename PIPELINE_NODE to PIPELINE_STATE
Would like to migrate "NODE" structs to "STATE" as it's more
descriptive of their purpose. This commit changes PIPELINE_NODE
to PIPELINE_STATE.
Tobin Ehlis [Wed, 12 Oct 2016 14:53:27 +0000 (08:53 -0600)]
layers:Reduce locking window
Don't need to lock around these decls in DestroyImage/BufferView
Tobin Ehlis [Wed, 12 Oct 2016 14:51:35 +0000 (08:51 -0600)]
layers:Refactor DestroyPipeline
Add validation flag for DestroyPipeline and update it to follow the
Pre/Post pattern.
Tobin Ehlis [Wed, 12 Oct 2016 14:27:08 +0000 (08:27 -0600)]
layers:Refactor DestroyImageView
Add validation flag for DestroyImageView and update it to follow the
Pre/Post pattern.
Also made a couple minor tweaks to DestroyBufferView based on review.
Mark Young [Thu, 13 Oct 2016 16:51:14 +0000 (10:51 -0600)]
loader: gh1035- vkDestroyDebugReportCallbackEXT
The changes I made to enable layer wrapping of the debug report
callback broke the cleanup case so that under certain scenarios
vkDestroyDebugReportCallbackEXT would not delete the callback
resulting in messages after the destroy call.
Change-Id: Ie5b26d8c973a08bb3161412468bb9dfdb70b315c
Mark Lobodzinski [Wed, 12 Oct 2016 17:34:19 +0000 (11:34 -0600)]
layers: Removed genvk.py
Replaced with an updated and modified version, lvl_genvk.py.
Change-Id: I60f344d8361d1408303185a5d7958575a404870e
Mark Lobodzinski [Thu, 13 Oct 2016 14:58:38 +0000 (08:58 -0600)]
layers: Update build for v1.0.30 XML code-gen
- Updated cmakefiles for new codegen files: renamed genvk.py to
lvl_genvk.py as the file is modified in this repo.
- Modified dependencies and parameters of cmake build macros.
- Updated reg.py to version 1.0.30
- Updated generator.py to version 1.0.30
Change-Id: Ia87fc7fc68e406a724d5ad9822f1f87b964f9977
Mark Lobodzinski [Tue, 11 Oct 2016 21:23:51 +0000 (15:23 -0600)]
layers: Add and update custom version of genvk.py
Created a LoaderAndValidationLayers-specific version of the
1.0.30 version of genvk.py, locally named lvl_genvk.py.
- removed unused generator classes
- added LVL class to build threading
- added LVL class to build paramchecker
- added LVL class to build uniqueobjects
Change-Id: If3ac7f6b554ed5b850aba83b5b20998b84990a41
Mark Lobodzinski [Tue, 11 Oct 2016 20:33:07 +0000 (14:33 -0600)]
layers: Set up UniqueObjectsOutputGenerator class
Implements the Vulkan XML API registry-based generation
of the unique_objects layer's unique_objects_wrappers.h
header file.
Change-Id: Ie2456216bb10726dab792d39b0b9d85bb1ba528c
Mark Lobodzinski [Tue, 11 Oct 2016 20:29:52 +0000 (14:29 -0600)]
layers: Set up ThreadOutputGenerator class
Implements the Vulkan XML API registry-based generation
of the threading layer's thread_check.h header file.
Change-Id: I50e828aaf9ce9d494520b476c2c73f44dd549a3c
Mark Lobodzinski [Thu, 13 Oct 2016 14:36:42 +0000 (08:36 -0600)]
layers: Set up ParamCheckerOutputGenerator class
Implements the Vulkan XML API registry-based generation
of the parameter_validation layer's parameter_validation.h
header file.
Change-Id: Ib7be36121f4f21dd667d09f9bd5e82749a417a33
Karl Schultz [Wed, 12 Oct 2016 23:36:35 +0000 (17:36 -0600)]
build: Add include files to make install target
Change-Id: Ieaf84adc4a9345c1f5ef7646106dd00ff3e5e716
Karl Schultz [Wed, 12 Oct 2016 19:28:49 +0000 (13:28 -0600)]
layers: Add error enums to object tracker
- Add error enum to many calls to ValidateObject().
- Specify null_allowed=true when VU allows it.
(mostly Destroy* cases)
Change-Id: I61d94ea71cf885caad475c2012111c92bc7e9904
Mark Young [Wed, 12 Oct 2016 20:18:44 +0000 (14:18 -0600)]
loader: gh1026- Fix compiler warnings
Fixed the compiler fixes encountered in the loader.
Change-Id: I4b3bb34b2d7e2231ccae61c684029af337d7c25e
Mark Lobodzinski [Tue, 11 Oct 2016 15:25:23 +0000 (09:25 -0600)]
demos: Add .py extension to smoke build script
Change-Id: I7fbcdc26fe774baefbdb3796470f41c3393ddfda
Mark Lobodzinski [Tue, 11 Oct 2016 15:21:19 +0000 (09:21 -0600)]
scripts: Add python extension to script
Change-Id: If5c338ba6eb991cc489ef0a37296a111917ddd52
Mark Lobodzinski [Tue, 11 Oct 2016 15:18:55 +0000 (09:18 -0600)]
build: Remove dead code from build script
Change-Id: Id6dbde9743573659b57c2ee60634245ca10a827a
Mark Lobodzinski [Tue, 11 Oct 2016 15:17:57 +0000 (09:17 -0600)]
loader: Remove dead code from loader gen script
Change-Id: Ie6ad81c1f0097b93c3006a737d57a69d81ee70e8
Tobin Ehlis [Mon, 10 Oct 2016 20:02:48 +0000 (14:02 -0600)]
layers: Validate correct layout for STORAGE_IMAGE descriptors
According to the spec "Load and store operations on storage images can only
be done on images in VK_IMAGE_LAYOUT_GENERAL layout."
This change flags an error if a STORAGE_IMAGE descriptor is updated with an
image layout other than GENERAL.
szdarkhack [Sat, 8 Oct 2016 06:51:22 +0000 (09:51 +0300)]
cube.c: Remove excess tests from presentation 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.
Tobin Ehlis [Tue, 11 Oct 2016 15:59:09 +0000 (09:59 -0600)]
layers: Update database file for spec on 10/11/16
Update the error enum database file for spec as of 10/11/16.
There was only one change which was the removal of spurious </usage> tag
from error 500. Since this changed the error message, I had to force the
script to remap new 500 to the original 500.
Command line run to generate update:
python spec.py -update -remap 500-500
Tobin Ehlis [Tue, 11 Oct 2016 15:37:19 +0000 (09:37 -0600)]
scripts: Add database error check to spec.py
Fix broken database line where delimiter was incorrect.
Add check to spec.py script to detect if database line doesn't contain
expected number of elements and report error in that case.
Karl Schultz [Thu, 6 Oct 2016 23:53:48 +0000 (17:53 -0600)]
layers: Updating some CreateBuffer checks to use unique enums
Small batch of updates to use unique validation error enums and
messages for a few checks. Updated the database file and
flagged some other checks that are missing with the error
enums and TODO notes.
Change-Id: I2020a88bbdcf7ea6d725f667523e89b160fe7ab8
Tobin Ehlis [Mon, 10 Oct 2016 17:14:52 +0000 (11:14 -0600)]
layers: Add validation flag for descriptor updates
Add update_descriptor_sets flag to bypass validation for
vkUpdateDescriptorSets() call.
Tobin Ehlis [Thu, 6 Oct 2016 23:43:11 +0000 (17:43 -0600)]
layers: Pass unique error codes through descriptor validation
Descriptor validation builds up error strings at multiple levels such as
UpdateError->WriteUpdate->BufferUpdate->BufferOffset. The final error is
then reported via a log_msg() call at the top level.
In order for this design to allow for the new unique error codes, we need
to pass error codes down the chain in the same way we pass error strings
down the chain.
This change adds error msg passing for descriptor updates. Many error
codes are added in as well as comments for codes that are missing or need
to be updated.
The database file is also updated to account for all of the checks that
were updated and/or reviewed.
Mark Lobodzinski [Mon, 10 Oct 2016 20:05:59 +0000 (14:05 -0600)]
layers: Fix Windows build warnings
NOEXCEPT is defined multiple times
Change-Id: I9aef970e9588c17071cd71a31873db4090d50b07
Mark Lobodzinski [Mon, 10 Oct 2016 20:05:36 +0000 (14:05 -0600)]
demos: Fix Windows build warnrings
Change-Id: I733704e8904a77aa9071565cfc1d18b23b1c0c1c
Mark Mueller [Tue, 13 Sep 2016 22:21:50 +0000 (16:21 -0600)]
docs: GH429 change doc for shader_checker tests
This branch adds tests that challenge the validation layer on various
shader checker cases
Change-Id: I38072fb9afaa52148a24532e919c2ac81111480c