Dustin Graves [Thu, 11 Feb 2016 17:10:14 +0000 (10:10 -0700)]
layers: MR243: Add param checker code generation
Generate param checker code to verify that required pointer/array
parameters are not NULL and that structures with sType fields
have the correct VkStructureType value. The checks are generated
from the Vulkan XML API registry based on the optional parameter
tag and sType comments.
Jon Ashburn [Thu, 18 Feb 2016 21:51:18 +0000 (14:51 -0700)]
spirv-tools: update versions for 1.0.3
Tobin Ehlis [Tue, 16 Feb 2016 19:08:54 +0000 (12:08 -0700)]
layers: Fix android build of safe_struct wrappers
Handle default case in switch statement for descriptor types.
Courtney Goeltzenleuchter [Mon, 8 Feb 2016 18:16:21 +0000 (11:16 -0700)]
layers: MR221: Correct name for unique_objects layer
Courtney Goeltzenleuchter [Sun, 7 Feb 2016 00:11:22 +0000 (17:11 -0700)]
layers: MR221: rename threading test
The threading validation layer has been basically
re-written, so updating the vendor name accordingly
Courtney Goeltzenleuchter [Fri, 12 Feb 2016 20:46:04 +0000 (13:46 -0700)]
layers: MR221: Android needs Enumerate*Properties
Android queries information about layers and extensions
from the layers via the Enumerate*Properties calls so
need them to function correctly. This patch adds missing
functions.
---------------------------
Courtney Goeltzenleuchter [Fri, 12 Feb 2016 20:30:20 +0000 (13:30 -0700)]
layers: MR221: Add Enumerate for Android
Android does not use json files to store layer and
extension information and needs to query it directly
from the layer.
Courtney Goeltzenleuchter [Fri, 12 Feb 2016 20:22:04 +0000 (13:22 -0700)]
layers: MR221: Update extension info to match json files
Courtney Goeltzenleuchter [Sun, 7 Feb 2016 00:30:30 +0000 (17:30 -0700)]
swapchain: MR221: Remove unused property info
Courtney Goeltzenleuchter [Sun, 7 Feb 2016 00:30:10 +0000 (17:30 -0700)]
swapchain: MR221: Use proper layer name
Courtney Goeltzenleuchter [Sun, 7 Feb 2016 00:22:25 +0000 (17:22 -0700)]
layers: MR221: Fix implementationVersion
Tobin Ehlis [Fri, 12 Feb 2016 21:37:09 +0000 (14:37 -0700)]
layers: Special case VkWriteDescriptorSet safe_struct code
VkWriteDescriptorSet may have non-null ptrs that we don't care about.
Add a special case for this struct in safe_struct codegen that will only
check the array ptrs that we care about based on the descriptorType.
Also update safe_struct codegen so that all ptrs in structs are initially
set as NULL, and then only updated if src struct ptr is non-NULL.
Update unique_objects to base "if" guards around ptrs to be based off of
the shadowed safe_struct ptrs for any ptrs below the first level input
params. This is because safe_struct initialization will have already copied
down any ptrs so if there are any additional guards in safe_struct
shadowing, such as for VkWriteDescriptorSet, this allows unique_objects.cpp
to make use of only valid info and not have to replicate special cases.
Jon Ashburn [Fri, 12 Feb 2016 23:39:20 +0000 (16:39 -0700)]
loader:Force Cmake to build dev_ext_trampoline.c always relase mode
This makes sure this file always has tail call optimizations occuring
Peter Lohrmann [Tue, 16 Feb 2016 23:20:58 +0000 (15:20 -0800)]
Update build info and references to new public GitHub names
Update build instructions to reference new repository names in GitHub
Update all references to the new public GitHub repository names, and
also switches from SSH access to the repositories to HTTPS access.
Update glslang_revision to reference new GitHub repo
Mark Lobodzinski [Tue, 16 Feb 2016 01:23:12 +0000 (18:23 -0700)]
layers: Fix Win32 build errors in draw_state
Mark Lobodzinski [Tue, 16 Feb 2016 00:33:56 +0000 (17:33 -0700)]
layers: Re-enable support for linux
Jon Ashburn [Fri, 12 Feb 2016 21:46:41 +0000 (14:46 -0700)]
loader: Add better checks for malformed disable_environment in layer JSON file
Karl Schultz [Mon, 15 Feb 2016 18:44:53 +0000 (11:44 -0700)]
layers: Update debug_report spec version in json files to match vulkan.h
Jon Ashburn [Mon, 15 Feb 2016 17:19:26 +0000 (10:19 -0700)]
loader: move doc png file to loader current directory for use of same file in SDK
Jon Ashburn [Mon, 15 Feb 2016 04:54:52 +0000 (21:54 -0700)]
loader: more doc updates
Jon Ashburn [Mon, 15 Feb 2016 04:40:34 +0000 (21:40 -0700)]
loader: Add more info in layer interface doc, the layer section
Courtney Goeltzenleuchter [Sun, 14 Feb 2016 18:42:24 +0000 (11:42 -0700)]
loader: Doc review comments
Courtney Goeltzenleuchter [Sun, 14 Feb 2016 17:48:22 +0000 (10:48 -0700)]
loader: Add images to interface Doc
Courtney Goeltzenleuchter [Sun, 14 Feb 2016 16:31:24 +0000 (09:31 -0700)]
loader: Add line breaks to interface doc
Wrapped long lines to make it easier to edit in text based editor.
Also hoping that editing diffs could be smaller since a line is not
a whole paragraph.
Jon Ashburn [Mon, 15 Feb 2016 04:00:39 +0000 (21:00 -0700)]
loader: change so LoaderAndLayerInterface document is the sole document
Jon Ashburn [Sun, 14 Feb 2016 16:33:59 +0000 (09:33 -0700)]
layers: Fix Windows build with device_limits.cpp
David Pinedo [Sun, 14 Feb 2016 01:19:50 +0000 (18:19 -0700)]
loader: check for null pointers in loader_add_layer_property_meta
Fixes vulkaninfo when only RT is installed and there are no layers
installed.
Jon Ashburn [Fri, 12 Feb 2016 15:20:06 +0000 (08:20 -0700)]
loader: For dev ext trampoline error code, add error logging
Jon Ashburn [Fri, 12 Feb 2016 01:59:43 +0000 (18:59 -0700)]
loader: add support for standard_validation layer enabled from env var
Also fix memory corruption issue with the original std_validation patch.
Jon Ashburn [Thu, 11 Feb 2016 03:59:26 +0000 (20:59 -0700)]
loader: Add feature standard-validation layer from application
Adds a validation layer grouping VK_LAYER_LUNARG_standard_validation, which
is the set of validation layers in a fixed order.
This only adds support for enumerating the meta layer and enabling it explicitly
from the app. Environment variable enablement of this layer is not yet added.
Jon Ashburn [Thu, 11 Feb 2016 21:57:30 +0000 (14:57 -0700)]
loader: Update the interface document
Mostly formatting and typos.
Jon Ashburn [Thu, 11 Feb 2016 03:50:19 +0000 (20:50 -0700)]
loader: rerun clang-format on some files
Mark Young [Fri, 12 Feb 2016 20:56:56 +0000 (13:56 -0700)]
windowsrtinstall: Fix errors on vcredist not being present before install.
We install the 2013 VC redistributables, but we first read the registry to
determine if they were already installed. That registry read returns an
error if they aren't already present. So, we clear the error after reading
the registry. We also added the 32-bit 2013 VC redistributables to the
64-bit OS install, just to be safe.
Karl Schultz [Fri, 12 Feb 2016 20:50:13 +0000 (13:50 -0700)]
codegen: Add special case for DebugReportCallback inconsistency
Mark Young [Fri, 12 Feb 2016 19:07:45 +0000 (12:07 -0700)]
windowssdk: Fixed Config powershell script to look at Windows Folder.
This replaces a hard-code to C:\windows instead of looking at the
proper windows drive letter <SYSTEMDRIVE and SYSTEMROOT>.
Mark Lobodzinski [Fri, 12 Feb 2016 18:30:14 +0000 (11:30 -0700)]
layers/loader: Fix string validation error
Mark Lobodzinski [Thu, 11 Feb 2016 16:26:16 +0000 (09:26 -0700)]
header: Update 1.0.3 header revision for inclusion of debug report extension
Removed vk_ext_debug_report.h (contents moved into vulkan.h)
Renamed debug report message enums
Courtney Goeltzenleuchter [Thu, 11 Feb 2016 18:44:04 +0000 (11:44 -0700)]
android: Add support for Android surface extension
Courtney Goeltzenleuchter [Fri, 29 Jan 2016 22:43:49 +0000 (15:43 -0700)]
param_checker: Check for pQueuePriorities
Verify that pQueuePriorities is set before using it.
Michael Lentine [Wed, 10 Feb 2016 22:18:47 +0000 (16:18 -0600)]
layers: Validate wait event sourceStageMask.
David Pinedo [Fri, 12 Feb 2016 16:23:33 +0000 (09:23 -0700)]
license: move RenderDoc license from LoaderAndTools to SDK
Chris Forbes [Mon, 1 Feb 2016 05:42:42 +0000 (18:42 +1300)]
layers: Use accessible id set when determining shader's descriptor use
- Eliminates bogus false conflicts between resources in a module, where the resources share a descriptor slot but
no entrypoint refers to both.
- Eliminates false positives from shader vs descriptor set layout validation, where we would previously be upset
about the layout not including a descriptor which was declared in the module but not used by the entrypoint.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 1 Feb 2016 05:41:33 +0000 (18:41 +1300)]
layers: Add spirv static call tree walker
With emphasis on finding all descriptor-based resources referenced in the static call tree of an entrypoint
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 1 Feb 2016 05:38:39 +0000 (18:38 +1300)]
layers: Collect OpFunction defs
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Sun, 31 Jan 2016 23:15:48 +0000 (12:15 +1300)]
layers: Pass the entrypoint down to collect_interface_by_location
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 1 Feb 2016 01:29:51 +0000 (14:29 +1300)]
layers: Use entrypoint interface specification to collect variables
The module may contain many others -- only the variables listed in
the OpEntryPoint are part of the interface.
Note that the shader resource interface is NOT listed in OpEntryPoint. For now we
continue to conservatively assume every OpVariable in the module with a suitable
storage class is in every entrypoint's shader resource interface -- that is, we're
not walking the static call tree from each entrypoint to determine what is and is
not used by it.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Sun, 31 Jan 2016 23:00:21 +0000 (12:00 +1300)]
layers: Look up entrypoint for each shader stage
Not doing anything useful with this yet beyond insisting that it is present, but
that will come in later patches.
V4: Add new enum to md
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Sun, 31 Jan 2016 23:00:01 +0000 (12:00 +1300)]
layers: Minor housekeeping in draw_state.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Fri, 12 Feb 2016 00:49:23 +0000 (17:49 -0700)]
demos: Fix a few layout transition bugs in cube
Re-enabled layout validation in draw_state revealed a few bugs in cube. This change fixes those bugs by starting tex image in PREINITIALIZED state with the HOST_WRITE_BIT set.
Michael Lentine [Thu, 11 Feb 2016 15:37:48 +0000 (09:37 -0600)]
layers: Fix and re-enable layout checks.
Handle layout transitions for subresources and re-enable layout validation.
Tobin Ehlis [Wed, 10 Feb 2016 22:38:45 +0000 (15:38 -0700)]
layers: Update unique_objects to make use of safe_structs
Stop overwriting const* data in unique_objects.
Instead, declare local safe_struct copies of data, update that
data in place with unwrapped objects, and pass down the local
safe_struct copy, which spoofs the original struct layout.
This includes code to build the layer using vk_safe_struct.h/cpp files.
Tobin Ehlis [Wed, 10 Feb 2016 22:32:46 +0000 (15:32 -0700)]
layers: Update vk_helper to generate safe_struct wrappers
Create vk_safe_struct.h/cpp files that contain wrapped versions of vk structs.
The idea is to wrap structs that contain non-dispatchable objects so that
the non-dispatchable objects are no longer contained within or below "const" decls.
The safe struct wrappers are intended to exactly match the original structures
in how they appear, but they also contain some utility functions to contruct and
desctruct themselves so that ptr chains are automatically replicated.
For unique_objects, the idea is to use the safe_struct wrappers as follows:
foreach struct that contains non-dispatchable objects
declare local safe_struct version of struct
initialize struct to exactly match original
unwrap non-dispatchable objects in place in the safe_struct
Chris Forbes [Thu, 11 Feb 2016 04:39:55 +0000 (17:39 +1300)]
layers: Validate specialization entry data is fully contained within the specialization data block.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Michael Lentine [Thu, 11 Feb 2016 00:19:48 +0000 (18:19 -0600)]
Validate buffer barrier size and offset.
Tobin Ehlis [Thu, 11 Feb 2016 21:17:13 +0000 (14:17 -0700)]
layers: Correctly handle VK_WHOLE_SIZE for dynamic offsets
Michael Lentine [Wed, 10 Feb 2016 16:58:04 +0000 (10:58 -0600)]
layers: Validate event is not in use when deleted.
Michael Lentine [Wed, 10 Feb 2016 15:55:49 +0000 (09:55 -0600)]
layers: Also allow fences to be submitted via acquire next image.
Michael Lentine [Wed, 10 Feb 2016 02:59:50 +0000 (20:59 -0600)]
layers: Validate semaphore is not in use when deleted.
Michael Lentine [Tue, 9 Feb 2016 23:11:41 +0000 (17:11 -0600)]
layers: Validate fences not in use when reset.
David Pinedo [Thu, 11 Feb 2016 20:49:09 +0000 (13:49 -0700)]
winrtinstaller: Fix typo in messagebox
David Pinedo [Thu, 11 Feb 2016 19:06:38 +0000 (12:06 -0700)]
winrtinstaller: add section to README on ProductVersion property
Courtney Goeltzenleuchter [Wed, 10 Feb 2016 22:13:55 +0000 (15:13 -0700)]
bug-135: param_checker incorrectly checking optional strings
https://gitlab.khronos.org/vulkan/LoaderAndTools/issues/135
Courtney Goeltzenleuchter [Wed, 10 Feb 2016 21:00:52 +0000 (14:00 -0700)]
bug 134: param_checker using layer private data before it's been created
https://gitlab.khronos.org/vulkan/LoaderAndTools/issues/134
David Pinedo [Thu, 11 Feb 2016 15:27:20 +0000 (08:27 -0700)]
licensing: Add RenderDoc to LICENSE.txt
Tobin Ehlis [Wed, 10 Feb 2016 23:36:15 +0000 (18:36 -0500)]
Merge branch 'stroyan_draw_state_beginCB' into 'master'
layers: draw_state allow pInheritanceInfo NULL
The pInheritanceInfo field in VkCommandBufferBeginInfo may be NULL.
Test for that before using it in draw_state layer.
See merge request !229
David Pinedo [Wed, 10 Feb 2016 23:28:01 +0000 (16:28 -0700)]
winrtinstaller: Remove mention of SDK from RT license file
David Pinedo [Wed, 10 Feb 2016 23:20:45 +0000 (16:20 -0700)]
winrtinstaller: Add file properties to rt installer executable
Tony Barbour [Wed, 10 Feb 2016 23:12:30 +0000 (16:12 -0700)]
More api version bumps
Tony Barbour [Wed, 10 Feb 2016 22:59:32 +0000 (15:59 -0700)]
layers: Update api version to 1.0.3 in json files
Karl Schultz [Wed, 10 Feb 2016 22:41:43 +0000 (15:41 -0700)]
include: Use single-quote no paths when including sibling headers
Karl Schultz [Wed, 10 Feb 2016 01:07:25 +0000 (18:07 -0700)]
Remove Khronos confidential clause from license text.
David Pinedo [Wed, 10 Feb 2016 18:29:33 +0000 (11:29 -0700)]
winrtinstaller: change to README so it matches sdk_1.0.3 version
David Pinedo [Wed, 10 Feb 2016 18:20:44 +0000 (11:20 -0700)]
winrtinstaller: Add section on error return values.
David Pinedo [Wed, 10 Feb 2016 18:03:29 +0000 (11:03 -0700)]
winrtinstaller: add more error checks during install, uninstall
Michael Lentine [Tue, 9 Feb 2016 22:18:02 +0000 (16:18 -0600)]
layers: Validate fence not in use when deleted.
Michael Lentine [Tue, 9 Feb 2016 21:03:28 +0000 (15:03 -0600)]
layers: Validate command buffer doesn't have duplicate query type.
Michael Lentine [Tue, 9 Feb 2016 19:14:32 +0000 (13:14 -0600)]
layers: Validate pipeline stats query with secondary cmdbufs.
Michael Lentine [Tue, 9 Feb 2016 16:31:11 +0000 (10:31 -0600)]
layers: Validate no active queries unless enabled.
Michael Lentine [Wed, 3 Feb 2016 22:51:46 +0000 (16:51 -0600)]
layers: Enable Wall and Werror.
Mike Stroyan [Wed, 10 Feb 2016 15:29:08 +0000 (08:29 -0700)]
layers: draw_state allow pInheritanceInfo NULL
The pInheritanceInfo field in VkCommandBufferBeginInfo may be NULL.
Test for that before using it in draw_state layer.
Chris Forbes [Mon, 1 Feb 2016 01:39:54 +0000 (14:39 +1300)]
layers: Don't skip over tessellation stages when validating stage interfaces
Signed-off-by: Chris Forbes <chrisforbes@google.com>
David Pinedo [Tue, 9 Feb 2016 21:44:05 +0000 (14:44 -0700)]
winrtinstaller: A new dir is created for reinstall of same version
Windows 10 was displaying a warning when an uninstall resulted
in the install dir not being deleted. (As happens when there are
multiple installs of the same version.) So we create a folder
for each re-install, the folder is removed on uninstall, and
Windows 10 doesn't get upset.
David Pinedo [Tue, 9 Feb 2016 16:15:34 +0000 (09:15 -0700)]
winrtinstaller: Allow uninstall to be run from any dir
David Pinedo [Mon, 8 Feb 2016 20:50:01 +0000 (13:50 -0700)]
winrtinstaller: fix install dir not recorded in registry correctly
David Pinedo [Mon, 8 Feb 2016 19:20:11 +0000 (12:20 -0700)]
winrtinstaller: install to to same dir if already installed. PUBLISHER changed.
PUBLISHER is set to YourComany, Inc by default
Jon Ashburn [Tue, 9 Feb 2016 15:57:58 +0000 (08:57 -0700)]
header: Update to version 1.0.3 which adds some version macros
Jon Ashburn [Tue, 9 Feb 2016 18:03:09 +0000 (11:03 -0700)]
loader: Change error to warning for missing layer registry key
Continue to report an error for missing ICD registry key
Jon Ashburn [Mon, 8 Feb 2016 22:42:01 +0000 (15:42 -0700)]
loader: add Architecture and interface document
Mark Young [Tue, 9 Feb 2016 22:30:34 +0000 (15:30 -0700)]
windowssdk: Fix 32-bit install issue with Powershell script.
Fix the install Powershell script which populates the ExplicitLayers
registry entries. There were 2 problems: 1) it was using newer
Powershell commands that failed on Windows 7, 2) it was trying to
populate the 32-bit data on a 32-bit system with the 64-bit Bin
folder.
Karl Schultz [Tue, 9 Feb 2016 17:10:34 +0000 (10:10 -0700)]
Add .clang-format: LLVM style with IndentWidth of 4.
Karl Schultz [Tue, 9 Feb 2016 17:03:29 +0000 (10:03 -0700)]
Adjust .gitignore to remove vktrace files and add cmake user file.
Ian Elliott [Mon, 8 Feb 2016 20:25:47 +0000 (13:25 -0700)]
draw_state: Add FIXME/TODO for vkAcquireNextImageKHR(..., fence, ...).
Ian Elliott [Fri, 5 Feb 2016 21:47:39 +0000 (14:47 -0700)]
layers: Redo draw_state locking--all in top-level functions.
All locking is now done in top-level, API-entrypoint functions. Before,
locking was done at all levels of functions, which caused unnecessary locking
(e.g. within inner loops), and was not very maintainable. This is cleaner,
easier to maintain, and should perform better.
Jeremy Hayes [Mon, 8 Feb 2016 19:14:51 +0000 (12:14 -0700)]
linux: use linux naming conventions
Mark Lobodzinski [Wed, 3 Feb 2016 01:53:34 +0000 (18:53 -0700)]
loader: Null-terminated string checks
Mark Lobodzinski [Tue, 12 Jan 2016 18:52:05 +0000 (11:52 -0700)]
layers: Add string validation to param_checker
Mark Lobodzinski [Mon, 11 Jan 2016 21:17:05 +0000 (14:17 -0700)]
layers: Add UTF-8 String validation utility
Mike Stroyan [Mon, 8 Feb 2016 17:27:55 +0000 (10:27 -0700)]
layers: lock use of threading layer cmd pool map
Access to command_pool_map data structure in threading validation layer
needs a mutex.
David Pinedo [Mon, 8 Feb 2016 16:30:46 +0000 (09:30 -0700)]
winrtinstaller: update license text
Courtney Goeltzenleuchter [Fri, 5 Feb 2016 20:04:27 +0000 (13:04 -0700)]
layers: MR215 Update spec version to match json files