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>
Chris Forbes [Tue, 29 Dec 2015 22:49:04 +0000 (11:49 +1300)]
tests: Add optional entrypoint name to test shader object.
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.
Tobin Ehlis [Fri, 5 Feb 2016 00:12:36 +0000 (17:12 -0700)]
layer: GL125 only check for fence in_use on valid fence handles
Tobin Ehlis [Fri, 5 Feb 2016 00:10:09 +0000 (17:10 -0700)]
layers: GL127 GL128 fix duplicate in_use updates
Only increment in_use at vkQueueSubmit() time. Also only need to
check ONE_TIME_SUBMIT case at that time. We were duplicating some
checks incorrectly at vkCmdExecuteCommands() time.
Mike Stroyan [Fri, 5 Feb 2016 16:46:01 +0000 (09:46 -0700)]
layers: thread checks of VkCommandBuffer pool read
Object reads of VkCommandBuffer should also be reads of their pool.
A single thread may have multiple uses of a pool in one call.
That will be allowed because the uses are all in a single thread.
Mike Stroyan [Thu, 4 Feb 2016 23:39:53 +0000 (16:39 -0700)]
layers: thread checks for vkDestroyInstance and vkDestroyDevice
Add instance write to vkDestroyInstance.
Add device write to vkDestroyDevice.
Mike Stroyan [Fri, 5 Feb 2016 16:11:32 +0000 (09:11 -0700)]
layers: allow one thread multiple uses of object
A single call in a thread may use an object more than once.
This first appeared with vkCmdExecuteCommands and buffer pools.
That is not distinguishable from recursive vulkan calls.
The error that this was looking for only happens if calling vulkan
while within another vulkan call. Such calls from signal handlers
or callbacks should be very rare errors. So just allow one thread
to have multiple uses of an object and keep accurate counters.
Mike Stroyan [Fri, 29 Jan 2016 22:33:21 +0000 (15:33 -0700)]
layers: use less of namespace std
Change to std::unordered_map instead of "using namespace std".
Mike Stroyan [Fri, 29 Jan 2016 22:11:28 +0000 (15:11 -0700)]
layers: change android build to xml threading
Use threading validation layer generated from vk.xml for android.
Mike Stroyan [Fri, 29 Jan 2016 22:09:04 +0000 (15:09 -0700)]
layers: Handle 32-bit threading validation
Non-dispatchable handles are all of the same type using 32-bit pointers.
Use a single counter for uses of such handles in that situation.
Mike Stroyan [Fri, 22 Jan 2016 22:22:03 +0000 (15:22 -0700)]
tests: disable bailout in teardown
Disable the bailout write before releasing target memory
in ThreadCommandBufferCollision teardown.
Prevent late callbacks from accessing freed memory.
Mike Stroyan [Mon, 2 Nov 2015 22:30:20 +0000 (15:30 -0700)]
layers: Add threading layer generation
Generate threading layer wrappers in thread_check.h.
Change path for generated vulkan.h.
Mike Stroyan [Thu, 7 Jan 2016 22:35:37 +0000 (15:35 -0700)]
layers: bring xml and scripts from documentation
These are repo git@gitlab.khronos.org:vulkan/vulkan.git
from commit
51ffe091889e08ca5196c5635363a5358c85ff82
David Pinedo [Fri, 5 Feb 2016 16:48:26 +0000 (09:48 -0700)]
winrtinstaller: Improve search for layer json files in SDK Bin dir
David Pinedo [Fri, 5 Feb 2016 00:04:44 +0000 (17:04 -0700)]
windowsrtinstaller: Change lincense info.
Also removed extra white space.
David Pinedo [Thu, 4 Feb 2016 21:33:09 +0000 (14:33 -0700)]
windowsrtinstaller: updated license
David Pinedo [Thu, 4 Feb 2016 20:31:28 +0000 (13:31 -0700)]
windowrtinstaller: Add more details to README.txt
Mark Lobodzinski [Fri, 5 Feb 2016 15:37:31 +0000 (08:37 -0700)]
layers: LX324, Fix descriptor indices in draw_state
Typo in BindDescriptorSets was using incorrect array index.
Michael Lentine [Fri, 5 Feb 2016 00:07:38 +0000 (18:07 -0600)]
layers: MR213 GL126 Fix render pass compatibility check
Use correct array size and add early-out if primary and secondary passes exactly match.
Mark Lobodzinski [Thu, 4 Feb 2016 23:09:12 +0000 (16:09 -0700)]
layers: Fix subscript-out-of-range crash in mem_tracker
Render pass map was not being updated for destroyed renderPasses. When a
renderPass handle was reused by the driver its data became invalid causing
crashes in Windows.
Ian Elliott [Thu, 4 Feb 2016 22:34:59 +0000 (15:34 -0700)]
layers: Fix vkEnumeratePhysicalDevices()--was always returning an error.
Mark Lobodzinski [Thu, 4 Feb 2016 20:50:23 +0000 (13:50 -0700)]
layers: Move logging callback destroy after logging calls
Swapchain was using deleted memory pointer causing crashes in
windows.
Conflicts:
layers/swapchain.cpp
Jon Ashburn [Thu, 4 Feb 2016 21:11:25 +0000 (14:11 -0700)]
loader: filter device extensions in the terminator instead of trampoline
Ian Elliott [Thu, 4 Feb 2016 15:17:18 +0000 (08:17 -0700)]
layers: MR212 Add locking to the swapchain layer.
Tobin Ehlis [Tue, 2 Feb 2016 16:57:25 +0000 (09:57 -0700)]
layers: Fix for GL119 to correctly index into pBindings
Added bindingToIndexMap to LAYOUT_NODE to map from the binding # to
the index into the pBinding array of layout create info.
Populate the map at vkCreateDescriptorSetLayout() time and use the
map when performing descriptor updates and when verifying that a
descriptor binding exists for given layout.