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
Courtney Goeltzenleuchter [Fri, 5 Feb 2016 20:09:59 +0000 (13:09 -0700)]
loader: MR215 device extensions not enumerated
If a layer's device extension didn't define any entrypoints
it was ignored by the loader. Now add it to the
list of layer extensions.
Karl Schultz [Sun, 7 Feb 2016 22:17:26 +0000 (15:17 -0700)]
layers: In GetInstanceProcAddr, intercept instance procs even if NULL instance
This problem showed up when running cube --validate and the order
of the layers was arranged so that the threading layer is NOT first.
It can also show up when running vktrace and the threading layer
is in any position, because the vktrace layer becomes first.
The symptom is generally a failure to create an instance when the
threading layer is enabled.
The fix is to check for the non-instance-based procs first by
calling layer_intercept_instance_proc before bailing if the instance
is NULL.
Dustin Graves [Fri, 5 Feb 2016 23:06:21 +0000 (16:06 -0700)]
layers: Fix 32-bit Windows build
A reinterpret_cast from a non-dispatch handle to uint64_t was failing on
windows 32-bit where non-dispatch handles are defined as 'typdef uint64_t
object'. Changed reinterpret_cast to a C-style cast, as is consistent
with the rest of the non-dispatch handle to uint64_t conversions in
draw_state.
Dustin Graves [Fri, 5 Feb 2016 22:53:12 +0000 (15:53 -0700)]
layers: Fix CreateSemaphore/CreateEvent conflict
Reorder includes to avoid conflicts between the VkLayerDispatchTable_
CreateSemaphore/CreateEvent fields and the WIN32 API.
Cody Northrop [Mon, 1 Feb 2016 17:01:45 +0000 (10:01 -0700)]
layers: MR217 Turn on more layers for Android build
Cody Northrop [Mon, 1 Feb 2016 16:52:07 +0000 (09:52 -0700)]
layers: MR217 Fix Android build of swapchain
Tobin Ehlis [Fri, 29 Jan 2016 21:24:42 +0000 (14:24 -0700)]
layers: MR217 Fix unique_objects android build
Need to guard vkCreateXcbSurfaceKHR in appropriate ifdef
David Pinedo [Fri, 5 Feb 2016 21:45:15 +0000 (14:45 -0700)]
winrtinstaller: update licenses
Michael Lentine [Tue, 26 Jan 2016 21:49:34 +0000 (15:49 -0600)]
Fix so that store images and buffers are assumed written.