Jon Ashburn [Mon, 2 May 2016 14:39:14 +0000 (08:39 -0600)]
external: GH#246, Move glslang and spirv-tools inside of dir tree
Have update_external_sources create a sub-directory "external" to
fetch these components into. This way the update_external_sources
does not potentially overwrite files outside the directory tree.
Change-Id: Ia03d1fb9e4dad9d9db26a46e596fb1bf24fcb033
Jon Ashburn [Tue, 3 May 2016 15:45:42 +0000 (09:45 -0600)]
demos: Add location to smoketest varyings
Change-Id: I6fb9d1d0ffd8b51988bc0768afedc0e9fb510cc5
Jon Ashburn [Tue, 3 May 2016 14:52:58 +0000 (08:52 -0600)]
header: Move to header version 1.0.12
Adds an AMD rasterization order extension
Change-Id: I62d17b0437e190da4d44f65a59b8cc246f05b567
Ian Elliott [Fri, 29 Apr 2016 19:03:17 +0000 (13:03 -0600)]
layers: Add extension-enabled check to vkDestroySurfaceKHR().
Because the WSI functions are statically exported (i.e. no need to call gpa()
functions), the swapchain layer is supposed to issue an error if any WSI
function is called without its corresponding extension being enabled. For
example, the VK_KHR_swapchain extension must be enabled before the
vkCreateSwapchainKHR() function is called.
David Pinedo [Mon, 2 May 2016 18:12:04 +0000 (12:12 -0600)]
winrtinstaller: added patch file to be used when building nsis
Mark Lobodzinski [Thu, 28 Apr 2016 22:36:58 +0000 (16:36 -0600)]
layers: Make unique object IDs unique cross-device and cross-instance
Change-Id: Ic45e21bd3137dc0474c59f0f4cf9331f070dac20
Michael Lentine [Fri, 29 Apr 2016 23:37:32 +0000 (18:37 -0500)]
Remove fences once they have been waited on.
Michael Lentine [Fri, 29 Apr 2016 22:46:35 +0000 (17:46 -0500)]
layers: Add fence in use for bind sparse info.
Tobin Ehlis [Mon, 2 May 2016 16:17:07 +0000 (10:17 -0600)]
layers: GH463 Fix layout compatibility check
After lh and rh layout descriptorCounts were verified to be the same, the
next check was testing the descriptor count for each binding in the lh binding
against the entire descriptor count for the rh layout. The check should be made
just against the descriptor count for the specific binding we're checking in
the rh layout.
Karl Schultz [Fri, 29 Apr 2016 23:22:50 +0000 (17:22 -0600)]
layers: GH439 Fix locking in Destroy* funcs
Change-Id: Icd9c2b63f8e59b39ad0349bc5a4456cbd88a5803
Jon Ashburn [Fri, 29 Apr 2016 22:03:10 +0000 (16:03 -0600)]
demos: Change tri to not require shaderClipDistance
Change-Id: Iaa1afa361d29022388005c173054f714c64fb7d7
Dustin Graves [Fri, 29 Apr 2016 17:55:43 +0000 (11:55 -0600)]
layers: Fix access violation
Move the get_dispatch_key(instance/device) call before calling the
driver's vkDestroyDevice/vkDestroyInstance functions in
unique_objects. This addresses an access violation error reported
by Application Verifier on Windows due to the previously destroyed
instance/device handle being dereferenced.
Change-Id: I151d42fb8a897d9d3b3c988813108b0b6b5b6b0d
David Pinedo [Fri, 29 Apr 2016 17:33:59 +0000 (11:33 -0600)]
windowsRuntimeInstaller: improve documentation on how to build RT installer
Tobin Ehlis [Fri, 29 Apr 2016 13:32:31 +0000 (07:32 -0600)]
layers: Clarify error message for pipelineLayout incompatible
Dustin Graves [Thu, 28 Apr 2016 23:58:59 +0000 (17:58 -0600)]
layers: Add 0 check for VkFlags array elements
- Add parameter validation for the case where the elements in an
array of VkFlags values must not be 0
- Replace the template parameter in the VkFlags validation functions
with the VkFlags base type.
Change-Id: Ie85d4d048b21e73409ff817425a1db64570e1b2f
Dustin Graves [Tue, 26 Apr 2016 21:37:10 +0000 (15:37 -0600)]
layers: Add VkFlags parameter validation
Add parameter validation for VkFlags derived types to the
parameter_validation layer's code generation scripts. The following
validation checks are performed:
- If a VkFlags parameter is not marked as optional in the XML, a message
is generated when the parameter is 0.
- If a VkFlags parameter is not 0, a message is generated if it combines
bits that are not defined by its associated flag bits enumeration.
- If a VkFlags parameter does not have an associated flag bits
enumeration it is treated as a reserved value that must be 0.
Change-Id: I6daed360cde46e2a27c84deda1e0798621f92d50
Dustin Graves [Tue, 26 Apr 2016 22:34:10 +0000 (16:34 -0600)]
layers: Merge enum array NULL/value checks
- Merge the NULL checks and enumeration value checks performed for arrays
of enumeration values into a single function call. This is consistent
with the validation for arrays of other types.
- Reduce duplicate array checking code.
Change-Id: I8c4e05542bb2f52f5623fe6c7ed3629b9b2680e0
Jamie Madill [Wed, 6 Apr 2016 22:26:46 +0000 (18:26 -0400)]
loader: Add compile-time option for layer search paths.
This enables programatically specifying search directories for the
layer JSON files. This makes deploying and running compiled layers
in local and automated testing with multiple configurations a much
simpler process.
Change-Id: I0904ef230d020004d8d71cbe265e83cdb6120db8
Jamie Madill [Wed, 27 Apr 2016 20:33:23 +0000 (16:33 -0400)]
Revert "loader: Remove the default directory paths for ICDs and layers"
This reverts commit
b1e6b564616c40062b81d0b8b90e8689dd9aea11.
Change-Id: I9e6bfad81369912c85c3122d6d36093c3c148454
Tony Barbour [Thu, 28 Apr 2016 21:05:09 +0000 (15:05 -0600)]
demos+tests: Add HOST_COHERENT to HOST_VISIBLE memory requests
Where the memory is going to be mapped
Change-Id: I66c4f5950fa77fe8b785b12233adbc4e9db797ce
Alexandre BACQUART [Thu, 28 Apr 2016 20:25:09 +0000 (14:25 -0600)]
demos: replace raw value with Vulkan constant in demos
Change-Id: I517467bc1afae07fdf6346596908ddb15757dc5d
Karl Schultz [Thu, 28 Apr 2016 20:20:13 +0000 (14:20 -0600)]
docs: #444 Fix clang-format instructions
Tobin Ehlis [Thu, 28 Apr 2016 16:17:33 +0000 (10:17 -0600)]
demos: Fix-ups so that cube/tri build and run on both linux & android
Cody Northrop [Wed, 27 Apr 2016 01:59:19 +0000 (19:59 -0600)]
android: Start using vulkan_wrapper in cube and tri
Tobin Ehlis [Thu, 28 Apr 2016 15:00:47 +0000 (09:00 -0600)]
android: Move vulkan_wrapper to common (from Cody)
Michael Lentine [Mon, 18 Apr 2016 18:20:45 +0000 (13:20 -0500)]
Fix cube for android.
Michael Lentine [Mon, 18 Apr 2016 15:14:32 +0000 (10:14 -0500)]
Make tri work on android.
Karl Schultz [Thu, 28 Apr 2016 19:55:42 +0000 (13:55 -0600)]
docs: Add info for layer tests to CONTRIBUTING
Jon Ashburn [Thu, 28 Apr 2016 18:03:57 +0000 (12:03 -0600)]
loader: don't remove loader structs from CreateInfo for ICD
pNext/sType extension structs that are unknown to a component must
be ignored by those components (layers, loader, ICDs). Loader was
stripping off the pNext structs it added to DeviceCreateInfo and
InstanceCreateInfo. Remove this stripping as the loader passes needed
info to layers and ICDs via this.
Change-Id: I49f169660474cffba276afac0c224e1b74eaa4bc
Karl Schultz [Thu, 28 Apr 2016 18:09:34 +0000 (12:09 -0600)]
build: Fix Windows build issues
Cody Northrop [Thu, 28 Apr 2016 15:55:08 +0000 (09:55 -0600)]
android: Fix layer build
Warning as error, struct field initialization not matching
order of declaration.
Ian Elliott [Thu, 28 Apr 2016 15:08:13 +0000 (09:08 -0600)]
layers: Use tmp callback for msgs during vk{Create|Destroy}Instance().
This is implements some relatively-new functionality of the VK_EXT_debug_report
extension. An application can pass VkDebugReportCallbackCreateInfoEXT structs
on the pNext chain given to vkCreateInstance(), in order to setup one or more
callbacks that can be used during vk{Create|Destroy}Instance(). These special,
"temporary callbacks" allow messages (e.g. errors) to be logged during the time
when the debug_report extension is normally not setup.
A set of utilities copy VkDebugReportCallbackCreateInfoEXT structs from the
pNext chain given to vkCreateInstance(). These utilities are used by the
validation layers that may have messages (e.g. errors) during
vk{Create|Destroy}Instance().
Chris Forbes [Thu, 28 Apr 2016 02:27:19 +0000 (14:27 +1200)]
layers: Fix -Wunused-result warning for vasprintf
In case of allocation failure, glibc's vasprintf doesn't make any
guarantees about the ptr -- the return value is the only way to handle
this safely.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Tue, 26 Apr 2016 20:17:19 +0000 (14:17 -0600)]
layers: Add copy constructors and initializers for safe_* structs
Any safe struct for which default copy constructor was incorrect was
broken (anything with embedded ptrs). This change fixes that by adding
correct copy constructors. Also had to add initializers that can take
object ptrs in order for copy constructor code to work.
Chris Forbes [Wed, 27 Apr 2016 22:09:11 +0000 (10:09 +1200)]
Fix android build for CV -> spirv-tools dep
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Sun, 3 Apr 2016 22:48:35 +0000 (10:48 +1200)]
layers: Integrate SPIRV-Tools validator
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Sun, 3 Apr 2016 21:52:11 +0000 (09:52 +1200)]
layers: link core_validation against spirv-tools
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tony Barbour [Tue, 26 Apr 2016 17:13:48 +0000 (11:13 -0600)]
demos: Acquire WSI image before changing layout
Change-Id: I1606bd92bcabb40156f8745b58596ae8f1ec429d
Chris Forbes [Wed, 27 Apr 2016 02:00:44 +0000 (14:00 +1200)]
layers: Emit safe_*::ptr() members to eliminate some cast noise
These casts were annoying noise, and uncheckable. Move them into the
generator where we know the one type that makes sense.
Drop spurious reinterpret_cast of stage create info to itself -- it's
all raw types once the root pCreateInfo is unwrapped.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Dustin Graves [Mon, 25 Apr 2016 21:54:16 +0000 (15:54 -0600)]
layers: Add missing compute stage sType check
The parameter_validation code generator was only generating sType checks
for pointers to structures. There is one case where a non-pointer struct
parameter needs to be validated: the VkComputePipelineCreateInfo::stage
member of the vkCreateComputePipelines pCreateInfos parameter. The code
generator has been updated to handle this case.
Change-Id: I1e695fcc875574eae94912ceb6338428d7ed8b49
Jon Ashburn [Tue, 26 Apr 2016 23:00:03 +0000 (17:00 -0600)]
update README to refer to COPYRIGHT.txt
Change-Id: I32685ef02c245557315a3e44c65eb8c8cf62f9f4
Jon Ashburn [Tue, 26 Apr 2016 18:02:58 +0000 (12:02 -0600)]
loader: update doc to remove sentence allowing layers to skip
using app provided allocation callbacks
Change-Id: Ib293934b4574864a78f975aba52c9aa5c0a24779
Mark Lobodzinski [Tue, 26 Apr 2016 22:02:19 +0000 (16:02 -0600)]
layers: Update layer README file for clarity and bugfixes
Change-Id: I544f72fde8cbbe4d57679c692887fd262073374f
Tobin Ehlis [Tue, 26 Apr 2016 22:00:56 +0000 (16:00 -0600)]
layers: Android DescriptorSetLayout class build fixes
Tobin Ehlis [Tue, 26 Apr 2016 19:09:51 +0000 (13:09 -0600)]
layers: Add interface to get descriptor type from layout's global index
We match up dynamic descriptor offsets one at a time so added an interface
to get descriptor type from the global index in addition to the original
pBinding index. This allows us to iterate over all of the descriptors in a
set and easily grab their type.
Tobin Ehlis [Tue, 26 Apr 2016 17:06:05 +0000 (11:06 -0600)]
layers: Fix object lifetime bugs in DescriptorSetLayout
Incomplete copy construction of DescriptorSetLayout and safe_* types
causes embedded pointers (such as pImmutableSamplers) to become invalid
before they should. Fixing this for now by moving DescriptorSetLayout
and its embedded safe_* struct to ptrs within their containers and
explicitly deleting.
David Pinedo [Tue, 26 Apr 2016 17:30:13 +0000 (11:30 -0600)]
winrtinstaller: update license
Tobin Ehlis [Thu, 21 Apr 2016 20:19:26 +0000 (14:19 -0600)]
layers: Break out VkDescriptorSetLayout code into its own class
This is the start of a refactor to pull code out of core_validation.cpp
into its own separate classes. I'm starting with descriptor set code as
it isolates reasonably well and it's old and could use some updating anyway.
For this first piece I've broken VkDescriptorSetLayout into its own
class currently called DescriptorSetLayout. I don't know if that's a great
name as it's close to VkDescriptorSetLayout, so I'm open to changing it.
Provided a brief class description in comment in new file descriptor_sets.h.
I made the class interfaces based on what other code is currently using.
I'm planning to pull more descriptor set code into its own classes and I
anticipate that will cause some flux in the class interfaces until most
of the work is done.
Jon Ashburn [Mon, 25 Apr 2016 17:09:37 +0000 (11:09 -0600)]
loader: ghlvl#180 Support a ICD interface version negotiation
Change-Id: I2e5c3717dd7fa86992f617bcc0f93de8ba60759e
Jon Ashburn [Fri, 22 Apr 2016 20:40:07 +0000 (14:40 -0600)]
loader: update spec doc for ICD interface versioning
Change-Id: I7c149a4542623e537b44720766006652abe33948
Karl Schultz [Mon, 25 Apr 2016 16:52:21 +0000 (10:52 -0600)]
json: Update to version 11.
Change-Id: Ifcdd5423ab03110326897dd9cda272eda05acc01
Tobin Ehlis [Fri, 22 Apr 2016 15:16:20 +0000 (09:16 -0600)]
layers: GH384 Fix to correctly recognize immutable samplers
Actual fix this time. If a binding is immutable samplers
skip over it when verifying descriptor bindings.
greg-lunarg [Fri, 22 Apr 2016 20:28:25 +0000 (14:28 -0600)]
Merge pull request #342 from KhronosGroup/update_toolchain_20160414
toolchain: Bump everything to pull in required SPIR-V tools revision
Cody Northrop [Thu, 14 Apr 2016 17:18:30 +0000 (11:18 -0600)]
toolchain: Bump everything to pull in required SPIR-V tools revision
Encompasses pull request #261 from Chris.
Also gets things building again reflecting upstream changesi, mainly
HLSL libs for glslang.
Desktop build/test results w/ update_external_sources.sh/bat
Windows on Skylake: _run_all_tests.ps1, demos with --validate
Ubuntu on Skylake: vk_layer_validation_tests, cube --validate
Android build/test results w/ update_external_sources_android.sh/bat:
Windows: VkLayerValidationTests pass
OSX: VkLayerValidationTests pass
Ubuntu: VkLayerValidationTests pass
Jon Ashburn [Fri, 22 Apr 2016 14:49:39 +0000 (08:49 -0600)]
header: Update to version 1.0.11
No functional change.
Change-Id: I190a2af5de66686f070b093bf7bd1459afb9da64
Chia-I Wu [Fri, 22 Apr 2016 00:12:19 +0000 (08:12 +0800)]
doc: remove rules on vkEnumerate*Properties for layers
Chia-I Wu [Tue, 19 Apr 2016 22:23:24 +0000 (06:23 +0800)]
doc: formalize the current loader-layer interface
Expand the section "Discovery of layer entry points" into "Layer Library
Interface". In general, the new section defines an interface that allows
a loader to discover and insert layers while staying compliant. Other
sections have additional guidelines for layers to follow.
Karl Schultz [Thu, 21 Apr 2016 22:45:12 +0000 (16:45 -0600)]
demos/smoke: Fix validation errors in push-constants mode.
Change-Id: I48e736ef1c777af831d7e888c8ac6e1647d1f6b2
Karl Schultz [Thu, 21 Apr 2016 21:57:51 +0000 (15:57 -0600)]
layers: Reorder to prevent Null deref; add test
Found by running Hologram with validation and push constants
using args "-p -v".
Hologram is issuing a memory barrier in the push constants
mode. This will be fixed in Hologram, but validation should
not be crashing.
Change-Id: I1e76c3fca0152fc3bf8c1de3db3b044f650c202f
Jeremy Hayes [Thu, 21 Apr 2016 19:19:41 +0000 (13:19 -0600)]
loader: fix LX475
Silently ignore VK_NULL_HANDLE in DestroyInstance/Device.
Change-Id: I96305088db75932b6f3f824852db9c72b8352120
Mark Young [Thu, 31 Mar 2016 20:56:43 +0000 (14:56 -0600)]
layers: Add fix for lx172 to catch invalid line widths.
Validate line wdith in both vkCreateGraphicsPipelines and in
vkCmdSetLineWidth. Also, add a warning in vkCmdSetLineWidth
if the user calls it but doesn't enable dynamic line width.
Also, updated demos to fix missing lineWidth setting as well.
Change-Id: I62118da9cb5282fcc22b1506e9be2db82b5f4a40
Michael Lentine [Thu, 21 Apr 2016 04:01:26 +0000 (23:01 -0500)]
layers: Fix cmd buffer tracking.
Tobin Ehlis [Mon, 18 Apr 2016 21:45:20 +0000 (15:45 -0600)]
layers: Cleanup core_validation fence tracking
There were two separate mechanisms for tracking fence state in core_validation.
This change removes the last[Retired|Submitted]Id per queue method.
We also no longer over-write the fence createInfo to track fence state, but
just use the needsSignaled bool for all fence state tracking.
Finally, there was a validation test/check flagging an error if an
unsignaled fence was reset, but this is valid based on the spec so removed
the check and changed test to be a positive test expected to pass.
Chris Forbes [Thu, 21 Apr 2016 03:00:58 +0000 (15:00 +1200)]
layers: Consider #locations consumed by large VkFormats
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Thu, 21 Apr 2016 02:46:48 +0000 (14:46 +1200)]
layers: Consider element type bit width for #locations consumed.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tony Barbour [Tue, 19 Apr 2016 16:57:58 +0000 (10:57 -0600)]
demos: Add xlib wsi path to cube
Change-Id: I8df42b71a40318b6d46a6b65cc9d8060a8f912a8
Jon Ashburn [Wed, 20 Apr 2016 19:21:17 +0000 (13:21 -0600)]
loader: ghlvl 361, Simplify library resource handling
Layer and ICD libraries are opened and closed as needed. No ref counting,
no knowledge of if a library contains multiple layers or ICDs.
Change-Id: Ie88b671cd1671187a42d3d838d20e3af1afc67cc
Cody Northrop [Wed, 20 Apr 2016 01:01:55 +0000 (19:01 -0600)]
android: Unify source used for build.gradle
In previous commit we modified build.gradle to be cross platform,
so we can stop using the windows specific version.
Cody Northrop [Tue, 19 Apr 2016 20:55:13 +0000 (14:55 -0600)]
gradle: Workaround for clang on Windows problems
Use gcc instead if building on Windows.
Cody Northrop [Tue, 19 Apr 2016 16:37:36 +0000 (10:37 -0600)]
python: Update script to include all platforms when generating ifdef code
This commit cleans up the platform detection code that was emitting some
(but not all) ifdef wrappers around platform specific code. It changes
the logic to wrap all the functions that are platform specific. This
allows us to use these generated files on multiple platforms, not just
the platform is was generated on.
Michael Lentine [Wed, 20 Apr 2016 16:39:50 +0000 (11:39 -0500)]
layers: Fix for clearing layouts and cmdbuffers.
Dustin Graves [Tue, 19 Apr 2016 00:33:21 +0000 (18:33 -0600)]
layers: Add handle NULL checks to codegen
Add support for validating that required handle parameters are not
specified as VK_NULL_HANDLE to the parameter validation layer's code
generator.
- Add new parameter validation utility functions to validate required
handles and arrays of handles.
- Add new parameter validation layer entrypoints for functions that
previously had no parameters to validate.
- Add handle validation logic to the parameter validation code generator.
Change-Id: I7a5680954245db4c1b12587f78e30e17c3903d6c
Chris Forbes [Wed, 20 Apr 2016 02:22:07 +0000 (14:22 +1200)]
layers: Add missing 64bpc formats to get_format_type
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 20 Apr 2016 02:16:10 +0000 (14:16 +1200)]
layers: Fix get_format_type for VK_FORMAT_A8R8G8B8_{S,U}INT_PACK32
Fixes GH #330.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Wed, 20 Apr 2016 01:34:27 +0000 (13:34 +1200)]
layers: block members do not express extra array level in member type
Fixes GH #377.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Tue, 19 Apr 2016 14:15:03 +0000 (08:15 -0600)]
layers: GH384 Fix descriptor update check for immutable samplers
If a descriptor is an immutable sampler of type VK_DESCRIPTOR_TYPE_SAMPLER
then it doesn't need to be explicitly updated so don't flag errors in this case.
David Pinedo [Wed, 20 Apr 2016 02:34:59 +0000 (20:34 -0600)]
winrtinstaller: change formatting in RT rtf license
David Pinedo [Tue, 19 Apr 2016 22:16:50 +0000 (16:16 -0600)]
winrtinstaller: formatting of license files, make them more readable
David Pinedo [Tue, 19 Apr 2016 19:36:49 +0000 (13:36 -0600)]
winrtinstaller: fix COPYRIGHT.txt filename
David Pinedo [Tue, 19 Apr 2016 18:52:10 +0000 (12:52 -0600)]
winrtinstaller: get LICENSE.txt file from LVL
Michael Lentine [Tue, 19 Apr 2016 14:27:01 +0000 (09:27 -0500)]
demos: Fix paths in gradle file.
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
Mark Lobodzinski [Tue, 12 Apr 2016 16:41:59 +0000 (10:41 -0600)]
layers: LX468, Prevent bad core_validation error message
Properly track commandBuffer/FrameBuffer references.
Change-Id: Ibbc078b582b204bee26cdc510575c57023cf9d6b
ttyio [Sun, 10 Apr 2016 14:09:44 +0000 (22:09 +0800)]
Update typo in doc
Tobin Ehlis [Mon, 18 Apr 2016 21:40:59 +0000 (15:40 -0600)]
layers: Fix object_tracker bugs
A couple of bugs in object_tracker hand-coded sections that MarkY tracked down.
In DestroyInstance case we were attempting to delete wrong map key.
Then, for vkDestroyCommandPool we were using wrong function to clean-up the
command buffers in that pool which would result in occassional crashes.
David Pinedo [Mon, 18 Apr 2016 22:59:59 +0000 (16:59 -0600)]
doc: fix typos in doc
Dustin Graves [Sat, 16 Apr 2016 00:06:14 +0000 (18:06 -0600)]
layers: Make logicOp param validation conditional
- Only validate that VkPipelineColorBlendStateCreateInfo::logicOp is
a valid VkLogicOp enumeration value when
VkPipelineColorBlendStateCreateInfo::logicOpEnable is set to VK_TRUE.
- Remove redundant VkPipelineColorBlendStateCreateInfo validation (hand
written code replaced by generated code).
Change-Id: I075c58342678219c5ed1dd5c401e0da2cea53232
Dustin Graves [Thu, 14 Apr 2016 21:03:31 +0000 (15:03 -0600)]
layers: Improved generated struct validation code
Improvements to the parameter validation code generator, primarily to
eliminate string concatenations performed when processing structs. A
validation function was being produced for each struct, which received a
string specifying the name of the struct parameter. This string was then
concatenated with the names of the struct members. The struct validation
code is no longer in a separate function, and a single string containing
the full names of each struct member (eg. pCreateInfo->pApplicationInfo)
is created at code generation time.
Change-Id: I2800bfbc26247e4e4c6f8c885c0e7c4b8b3776a2
Dustin Graves [Mon, 11 Apr 2016 22:06:25 +0000 (16:06 -0600)]
layers: Simplify generated param validation code
- Remove unnecessary conditional checks for input vs. output parameters
from the generated C++ code.
- Split some generator code into smaller functions.
Change-Id: I32e47d417ab884e5cc0fc7af40cb5657b39c176d
Jeremy Hayes [Wed, 13 Apr 2016 22:20:24 +0000 (16:20 -0600)]
layers: core_validation - use std mutex
Change-Id: I88af1e86c0ef93dbeab303977b8190ad1968c00d
Jeremy Hayes [Wed, 13 Apr 2016 17:57:20 +0000 (11:57 -0600)]
layers: swapchain - use std mutex
Change-Id: I2c5584a5d36edc097b061db2e49fba2505bd1d65
Jeremy Hayes [Wed, 13 Apr 2016 16:54:17 +0000 (10:54 -0600)]
layers: object_tracker - use std mutex
Change-Id: I5f9ed9dc92daccaada895808e3fea3189ef81212
Jeremy Hayes [Tue, 12 Apr 2016 19:48:52 +0000 (13:48 -0600)]
layers: threading - use std mutex
Change-Id: I773ea148807e5b634ad021ea58b001cd3d1bad87
Jeremy Hayes [Fri, 8 Apr 2016 15:53:54 +0000 (09:53 -0600)]
layers: image - use std mutex
Change-Id: Ie132289c0e601397f54b06c1ef758c65b712f906
Tobin Ehlis [Thu, 14 Apr 2016 18:22:03 +0000 (12:22 -0600)]
layers: Correctly remove secondary cmd buffers from in-flight
Secondary command buffers are considered executing, or "in-flight"
at the time they're bound into a primary command buffer. This leads
to a couple of corner case bugs if the primary command buffer is
never submitted on a queue. This change fixes those bugs:
1. If a secondary cmd buffer is being freed and is in the global
in-flight set, remove it if associated primary is not in-flight
2. When a primary cmd buffer is reset, remove its secondary
cmd buffers from in-flight
Tobin Ehlis [Fri, 15 Apr 2016 17:59:39 +0000 (11:59 -0600)]
layers: Fix vkResetDescriptorPool
When we reset descriptor pool, need to remove the allocated
descriptors from setMap and free them.
Jon Ashburn [Fri, 15 Apr 2016 22:24:44 +0000 (16:24 -0600)]
Revert "loader: Temp workaround to add WSI surface extensions enumerated."
This reverts commit
884065fcd89540dca9a710389641bf1c39cedce0.
Jon Ashburn [Fri, 15 Apr 2016 22:24:12 +0000 (16:24 -0600)]
Revert "loader: temp workaround for advertising linux wsi surface extensions"
This reverts commit
23b248d32c943c136589e679e1fcc3444488d906.
Jon Ashburn [Fri, 15 Apr 2016 22:02:07 +0000 (16:02 -0600)]
layers: Update JSON files to 1.0.10
Change-Id: I2020999bac6090fe40688f977f15c9818b828cf4
Jon Ashburn [Fri, 15 Apr 2016 21:51:08 +0000 (15:51 -0600)]
header: Update to 1.0.10 header
No functional changes.
Change-Id: Ia57a172a2ab0c7e082ad30aef64354cd1427b528