platform/upstream/Vulkan-Tools.git
8 years agolayers: Validate subpass index in begin info is valid.
Michael Lentine [Tue, 2 Feb 2016 23:28:24 +0000 (17:28 -0600)]
layers: Validate subpass index in begin info is valid.

8 years agolayers: Make sure fb render pass and secondary render pass are compatible.
Michael Lentine [Tue, 2 Feb 2016 22:47:58 +0000 (16:47 -0600)]
layers: Make sure fb render pass and secondary render pass are compatible.

8 years agolayers: Validate that the framebuffer specified in the secondary command buffer is...
Michael Lentine [Tue, 2 Feb 2016 21:24:27 +0000 (15:24 -0600)]
layers: Validate that the framebuffer specified in the secondary command buffer is the same as the current one.

8 years agolayers: Validate render pass compatiblity for executed secondary command buffers.
Michael Lentine [Tue, 2 Feb 2016 20:26:02 +0000 (14:26 -0600)]
layers: Validate render pass compatiblity for executed secondary command buffers.

8 years agolayers: Fix issues with some command buffer tracking structures being left uninitialized
Chris Forbes [Tue, 2 Feb 2016 02:45:40 +0000 (15:45 +1300)]
layers: Fix issues with some command buffer tracking structures being left uninitialized

Signed-off-by: Chris Forbes <chrisforbes@google.com>
8 years agolayers: Fix 32-bit Windows build
Dustin Graves [Thu, 4 Feb 2016 17:57:00 +0000 (10:57 -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.

8 years agoloader: GL120, move critical section to cover loader_get_icd_and_device
Andrzej Kotlowski [Wed, 3 Feb 2016 08:41:53 +0000 (09:41 +0100)]
loader: GL120, move critical section to cover loader_get_icd_and_device

8 years agodemos: Copyright update
Karl Schultz [Thu, 4 Feb 2016 17:29:00 +0000 (10:29 -0700)]
demos: Copyright update

8 years agolayers: MR209 Fix swapchain's vkDestroyInstance to error about devices ...
Ian Elliott [Thu, 4 Feb 2016 13:11:17 +0000 (06:11 -0700)]
layers: MR209 Fix swapchain's vkDestroyInstance to error about devices ...

not being previously destroyed, instead of physical devices not being
previously destroyed.

8 years agolayers: Valdiate query is not active when cmd buffer is ending.
Michael Lentine [Wed, 3 Feb 2016 00:29:30 +0000 (18:29 -0600)]
layers: Valdiate query is not active when cmd buffer is ending.

8 years agolayers: GL122 Init queueFamilyIndex in command pool.
Michael Lentine [Thu, 4 Feb 2016 03:20:25 +0000 (21:20 -0600)]
layers: GL122 Init queueFamilyIndex in command pool.

8 years agolayers: Fix Windows build error in device_limits
Jon Ashburn [Thu, 4 Feb 2016 00:06:33 +0000 (17:06 -0700)]
layers: Fix Windows build error in device_limits

8 years agolayers: GL96 validateCommandBufferState should return skipCall
Tobin Ehlis [Mon, 1 Feb 2016 14:50:57 +0000 (06:50 -0800)]
layers: GL96 validateCommandBufferState should return skipCall

When validation checks were rolled into separate validateCommandBufferState
function, forgot to return the skipCall value from that function.

8 years agolayers: GL64 Don't warn on descriptor set that's not updated
Tobin Ehlis [Fri, 29 Jan 2016 14:52:45 +0000 (07:52 -0700)]
layers: GL64 Don't warn on descriptor set that's not updated

Previously was not handling the case of 0 sets in a layout.
Now catching this case by verifying that a descriptor set's
layout bindingCount is not zero before incrementing internal
descriptorCount variable.

8 years agolayers: Check that queryFlags is valid if enabled.
Michael Lentine [Thu, 28 Jan 2016 21:03:46 +0000 (15:03 -0600)]
layers: Check that queryFlags is valid if enabled.

8 years agolayers: Add check to make sure inherited queries in enabled before use.
Michael Lentine [Thu, 28 Jan 2016 20:20:46 +0000 (14:20 -0600)]
layers: Add check to make sure inherited queries in enabled before use.

8 years agolayers: Add occlusion query precise check.
Michael Lentine [Thu, 28 Jan 2016 17:55:28 +0000 (11:55 -0600)]
layers: Add occlusion query precise check.

8 years agolayers: Improve in flight cmd buffer validation
Michael Lentine [Thu, 28 Jan 2016 02:42:07 +0000 (20:42 -0600)]
layers: Improve in flight cmd buffer validation

Validation in flight cmd buffers are not reset.
Validate cmd buffer is not in use when freed.

8 years agolayers: Add queue bit checks.
Michael Lentine [Wed, 27 Jan 2016 03:36:08 +0000 (21:36 -0600)]
layers: Add queue bit checks.

For each command check to make sure if the queue bits are set
correctly for that command.

8 years agodemos: Minor cube/tri updates
Dustin Graves [Wed, 27 Jan 2016 20:48:06 +0000 (13:48 -0700)]
demos: Minor cube/tri updates

Minor updates/fixes for cube and tri:
 - Break from demo_check_layers search loop when finding a match.
 - Skip memory allocation and layer/extension processing when 0
   layers/extensions are enumerated.
 - Fix potential NULL pointer dereference and exit with message when
   no accessible devices are available.
 - Fix device_extensions memory leak.
 - Remove trailing whitespace.

8 years agodemos/tests: Enable unique_objects layer
Dustin Graves [Tue, 26 Jan 2016 23:30:22 +0000 (16:30 -0700)]
demos/tests: Enable unique_objects layer

Using VK_LAYER_GOOGLE_unique_objects with 'cube --validate' and when
running all tests with layers.

8 years agowindowsrtinstaller: update estimated size for Programs and Features
David Pinedo [Wed, 3 Feb 2016 20:38:40 +0000 (13:38 -0700)]
windowsrtinstaller: update estimated size for Programs and Features

8 years agoloader: Fix bug on pass by value for created_instance
Jon Ashburn [Wed, 3 Feb 2016 19:37:30 +0000 (12:37 -0700)]
loader: Fix bug on pass by value for created_instance

8 years agoRevert "layers: Clang-format changes for files in layers dir of repo"
Mark Lobodzinski [Wed, 3 Feb 2016 16:57:14 +0000 (09:57 -0700)]
Revert "layers: Clang-format changes for files in layers dir of repo"

This reverts commit e260acfb96ea20945149ede6a250ef622ca7fd03.
The clang-format changes need to be postponed until just prior
to public release to facilitate MRs.

8 years agolicense: Update the main MIT license to reflect white space and copyrights
Jon Ashburn [Wed, 3 Feb 2016 16:17:51 +0000 (09:17 -0700)]
license: Update the main MIT license to reflect white space and copyrights

8 years agolicense: remove licenses for componenets that were moved to different repo.
Jon Ashburn [Wed, 3 Feb 2016 15:59:09 +0000 (08:59 -0700)]
license: remove licenses for componenets that were moved to different repo.

8 years agoloader:Update copyright and apply clang-format (no logic changes)
Jon Ashburn [Wed, 3 Feb 2016 00:47:28 +0000 (17:47 -0700)]
loader:Update copyright and apply clang-format (no logic changes)

8 years agoUpdate copyright info in python scripts
Karl Schultz [Wed, 3 Feb 2016 02:32:33 +0000 (19:32 -0700)]
Update copyright info in python scripts

8 years agolayers: Clang-format changes for files in layers dir of repo
Mark Lobodzinski [Wed, 3 Feb 2016 00:06:29 +0000 (17:06 -0700)]
layers: Clang-format changes for files in layers dir of repo

8 years agowindowrtinstaller: use new image files names in installer
David Pinedo [Tue, 2 Feb 2016 23:10:39 +0000 (16:10 -0700)]
windowrtinstaller: use new image files names in installer

8 years agowindowsrtinstaller: changed images
David Pinedo [Tue, 2 Feb 2016 23:03:59 +0000 (16:03 -0700)]
windowsrtinstaller: changed images

8 years agolayers: Validation Layer Copyright Updates
Mark Lobodzinski [Tue, 2 Feb 2016 22:55:36 +0000 (15:55 -0700)]
layers: Validation Layer Copyright Updates

8 years agodemos: Update copyright and apply clang-format
Karl Schultz [Tue, 2 Feb 2016 22:37:51 +0000 (15:37 -0700)]
demos: Update copyright and apply clang-format

8 years agoUpdate BUILD.md and README.md for the reduced scope of this repo
Jon Ashburn [Tue, 2 Feb 2016 21:28:38 +0000 (14:28 -0700)]
Update BUILD.md and README.md for the reduced scope of this repo

8 years agoscripts: Remove icd generation specific code
Jon Ashburn [Tue, 2 Feb 2016 21:12:00 +0000 (14:12 -0700)]
scripts: Remove icd generation specific code

8 years agoandroidBuild: remove unused layers api_dump, generic, basic, multi
Jon Ashburn [Tue, 2 Feb 2016 20:25:40 +0000 (13:25 -0700)]
androidBuild: remove unused layers  api_dump, generic, basic, multi

8 years agolayers: Remove non-validation layers
Jon Ashburn [Tue, 2 Feb 2016 20:13:01 +0000 (13:13 -0700)]
layers: Remove non-validation layers

Removes api_dump, generic, basic, multi.

8 years agomisc: Remove vktrace and icd from this repository
Jon Ashburn [Tue, 2 Feb 2016 19:08:10 +0000 (12:08 -0700)]
misc: Remove vktrace and icd from this repository

8 years agoinclude: Update copyright and apply clang-format (no logic changes)
Karl Schultz [Tue, 2 Feb 2016 19:32:50 +0000 (12:32 -0700)]
include: Update copyright and apply clang-format (no logic changes)

8 years agowindowssdk: Handle silent installer/uninstaller message boxes appropriately.
Mark Young [Tue, 2 Feb 2016 17:56:42 +0000 (10:56 -0700)]
windowssdk: Handle silent installer/uninstaller message boxes appropriately.

If Silent Install or Uninstall is enabled, we want all the message boxes we
have control over to automatically make a selection.  In addition, return
an error if we are supposed to reboot, and the silent install doesn't show
the message for the user to choose.

8 years agomisc: Modify build_windows_targets.bat to build quietly.
Mark Young [Mon, 1 Feb 2016 21:51:13 +0000 (14:51 -0700)]
misc: Modify build_windows_targets.bat to build quietly.

Making these changes allows errors/warnings to be more obvious.

8 years agowindowsrtinstaller: Don't display dialog when silent uninstall requires reboot
David Pinedo [Tue, 2 Feb 2016 17:47:57 +0000 (10:47 -0700)]
windowsrtinstaller: Don't display dialog when silent uninstall requires reboot

8 years agoscripts: Fix python helper to find ext headers under vulkan dir
Jon Ashburn [Tue, 2 Feb 2016 00:02:38 +0000 (17:02 -0700)]
scripts: Fix python helper to find ext headers under vulkan dir

8 years agowindowsrtinstaller: change windows icon
David Pinedo [Mon, 1 Feb 2016 20:04:45 +0000 (13:04 -0700)]
windowsrtinstaller: change windows icon

8 years agoMerge branch 'marky_working'
Mark Young [Mon, 1 Feb 2016 18:44:53 +0000 (11:44 -0700)]
Merge branch 'marky_working'

8 years agomisc: Modify update_external_sources.bat to build quietly.
Mark Young [Mon, 1 Feb 2016 18:43:39 +0000 (11:43 -0700)]
misc: Modify update_external_sources.bat to build quietly.

This speeds up the build as well as makes warnings and errors more obvious.

8 years agoRevert "misc: Change repo name references to LoaderAndValidationLayers"
Jon Ashburn [Sun, 31 Jan 2016 17:22:36 +0000 (10:22 -0700)]
Revert "misc: Change repo name references to LoaderAndValidationLayers"

This reverts commit 015e74cda0b9ad46bd6127d816f14d699697ec4a.

8 years agomisc: Change repo name references to LoaderAndValidationLayers
Jon Ashburn [Sun, 31 Jan 2016 16:16:58 +0000 (09:16 -0700)]
misc: Change repo name references to LoaderAndValidationLayers

8 years agowindowsrtinstaller: Handle error conditions during install by uninstalling.
Mark Young [Fri, 29 Jan 2016 23:09:29 +0000 (16:09 -0700)]
windowsrtinstaller: Handle error conditions during install by uninstalling.

If an error occurs during install, uninstall the portions that have been
installed, and exit with an error code.

8 years agolayers: MR182/GL113 Fix dynamic offset validation
Tobin Ehlis [Fri, 29 Jan 2016 18:50:47 +0000 (11:50 -0700)]
layers: MR182/GL113 Fix dynamic offset validation

Dynamic offsets are bound to CB, so move the tracking struct into CB struct.
At draw time, iterate over all of the active sets and verify that each
dynamic set does not overstep its buffer based on the corresponding dynamic offset.

8 years agowindowsrtinstaller: change icon used by installer
David Pinedo [Fri, 29 Jan 2016 20:35:28 +0000 (13:35 -0700)]
windowsrtinstaller: change icon used by installer

8 years agodocs: remove old obsolete documents
Jon Ashburn [Fri, 29 Jan 2016 19:24:56 +0000 (12:24 -0700)]
docs: remove old obsolete documents

8 years agowindowsrtinstaller: change licensing and change logo displayed in UI
David Pinedo [Fri, 29 Jan 2016 19:20:49 +0000 (12:20 -0700)]
windowsrtinstaller: change licensing and change logo displayed in UI

8 years agolayers: MR181/GL102 Fix unique_objects to correctly assign local vars under ptrs
Tobin Ehlis [Fri, 29 Jan 2016 16:24:46 +0000 (09:24 -0700)]
layers: MR181/GL102 Fix unique_objects to correctly assign local vars under ptrs

If a variable that needs to be restored is below a ptr, then need to declare
it at the top level, but only assign it if the ptr(s) that it's below are
non-null.

8 years agolayers: MR178, Merge-related fix
Mark Lobodzinski [Fri, 29 Jan 2016 17:13:51 +0000 (10:13 -0700)]
layers: MR178, Merge-related fix

8 years agolayers: MR178, Fix descriptor set in_use tracking
Tobin Ehlis [Mon, 25 Jan 2016 06:25:31 +0000 (23:25 -0700)]
layers: MR178, Fix descriptor set in_use tracking

This breaks descriptor set validation into two cases:
1. If a descriptor set is being used in an in-flight command buffer, immediately
flag an error if that set is destroyed or updated.
2. If a descriptor set bound to a command buffer (but not in-flight) is updated
or destroyed, mark that command buffer as "INVALID" and flag an error if such a
command buffer is submitted.

Fix vkWaitForFences() code to not do any cleanup for the case where some, but not
all, command buffer fences have completed. In this case the app will have to either
check individual fences or use waitAll flag so we will clean up at that point.

8 years agolayers: MR178, Various fixes to inFlightCmdBuffers tracking in draw_state
Tobin Ehlis [Mon, 25 Jan 2016 23:24:34 +0000 (15:24 -0800)]
layers: MR178, Various fixes to inFlightCmdBuffers tracking in draw_state

For clarity change the name of device-level set to "globalInFlightCmdBuffers".
Correctly handle validation errors and inFlightCmdBuffer clean-up when waiting for device idle.
No need to do another queue node look-up when inserting inFlightCmdBuffers at
trackCommandBuffers time, just use data from earlier look-up.
Correctly set queue when creating QUEUE_NODE.
Add locking around resetCB.
Refactor large set of checks at vkQueueSubmit time into validateCommandBufferState() function.

Conflicts:
layers/draw_state.cpp

8 years agowinrtinstaller: change wording in license file
David Pinedo [Fri, 29 Jan 2016 15:27:20 +0000 (08:27 -0700)]
winrtinstaller: change wording in license file

8 years agomisc: Create a script to allow building 32-bit and 64-bit Windows.
Mark Young [Thu, 28 Jan 2016 21:39:19 +0000 (14:39 -0700)]
misc: Create a script to allow building 32-bit and 64-bit Windows.

Create a script to allow people to build both versions of Windows
targets from a command-line.

8 years agolayers: Fix issue with api_dump when const char* is null.
Mark Young [Thu, 28 Jan 2016 00:46:16 +0000 (17:46 -0700)]
layers: Fix issue with api_dump when const char* is null.

The pEngineName variable in Hologram was NULL and crashed on my 32-bit run
with the api_dump layer enabled.

8 years agolayers: Correct names of settings api_dump looks for in vk_layer_settings.
Mark Young [Wed, 27 Jan 2016 22:14:11 +0000 (15:14 -0700)]
layers: Correct names of settings api_dump looks for in vk_layer_settings.

The settings text file was using a mixed-case prefix "Api" while the layer was
looking for upper-case prefix "API".  This caused the layer to ignore changes
made to the vk_layer_settings file.

8 years agoloader: Fix 32-bit loader exception when layers enabled for Vulkan apps.
Mark Young [Wed, 27 Jan 2016 19:51:00 +0000 (12:51 -0700)]
loader: Fix 32-bit loader exception when layers enabled for Vulkan apps.

The loader_create_device_terminator had an incorrect calling convention.  This
caused the ESP pointer to not get properly restored after the function was
called by a 32-bit application.

8 years agolayers: Fix 32-bit Win compilation issue in swapchain layer.
Mark Young [Thu, 28 Jan 2016 20:25:35 +0000 (13:25 -0700)]
layers: Fix 32-bit Win compilation issue in swapchain layer.

The layer was using an unordered_map<void*, SwpSurface> ... in several
places, but VkSurfaceKHR (unlike many other Vulkan types) isn't a pointer
but a uint64_t.  On Win32, it's trying to push in a uint64_t into a 32-bit
pointer, which the compiler is choking on.  Instead, make the unordered_map
use VkSurfaceKHR.

8 years agoSwapchain: Add Google copyright
Ian Elliott [Tue, 26 Jan 2016 17:51:10 +0000 (10:51 -0700)]
Swapchain: Add Google copyright

8 years agoSwapchain: Fix typo
Ian Elliott [Tue, 26 Jan 2016 17:24:13 +0000 (10:24 -0700)]
Swapchain: Fix typo

8 years agoSwapchain: Ensure Destroy{Device|Surface}() don't core dump.
Ian Elliott [Mon, 25 Jan 2016 19:33:06 +0000 (12:33 -0700)]
Swapchain: Ensure Destroy{Device|Surface}() don't core dump.

There are multiple pieces of code that can try to delete an SwpSwapchain struct:

- DestroyDevice()
- DestroySurface()
- DestroySwapchain()

This tries to address the various paths through the code, so that
Destroy{Device|Surface}() won't also try to destroy an already-destroyed
swapchain.

8 years agoSwapchain: Validating supported surface for presenting with a queue.
Ian Elliott [Thu, 21 Jan 2016 21:29:45 +0000 (14:29 -0700)]
Swapchain: Validating supported surface for presenting with a queue.

This validation involves multiple levels of indirection as vkQueuePresentKHR()
receives a queue parameter, and a pPresentInfo->pSwapchains array.  For each
swapchain, it's surface must have been seen to be supported with a
queueFamilyIndex that is associated with the queue parameter.  Info must be
recorded at various previous calls, and be correlatable at this point in time.
Very complicated!

8 years agoSwapchain: vkDestroyInstance check if child objects were destroyed.
Ian Elliott [Thu, 21 Jan 2016 19:57:20 +0000 (12:57 -0700)]
Swapchain: vkDestroyInstance check if child objects were destroyed.

8 years agoSwapchain: Check "compatible" pAllocator for creation/destruction.
Ian Elliott [Thu, 21 Jan 2016 19:42:19 +0000 (12:42 -0700)]
Swapchain: Check "compatible" pAllocator for creation/destruction.

8 years agoSwapchain: Keep/check relationships between surfaces and swapchains.
Ian Elliott [Wed, 20 Jan 2016 23:33:34 +0000 (16:33 -0700)]
Swapchain: Keep/check relationships between surfaces and swapchains.

8 years agoSwapchain: Validate that queueFamilyIndex is within bounds.
Ian Elliott [Wed, 20 Jan 2016 17:50:33 +0000 (10:50 -0700)]
Swapchain: Validate that queueFamilyIndex is within bounds.

8 years agoSwapchain: Add TODOs for difficult-to-do validity language.
Ian Elliott [Wed, 20 Jan 2016 17:03:58 +0000 (10:03 -0700)]
Swapchain: Add TODOs for difficult-to-do validity language.

8 years agoSwapchain: Check that pCreateInfo->compositeAlpha has one bit set.
Ian Elliott [Wed, 20 Jan 2016 16:35:30 +0000 (09:35 -0700)]
Swapchain: Check that pCreateInfo->compositeAlpha has one bit set.

8 years agoSwapchain: Check that pCreateInfo->preTransform has one bit set.
Ian Elliott [Wed, 20 Jan 2016 16:22:13 +0000 (09:22 -0700)]
Swapchain: Check that pCreateInfo->preTransform has one bit set.

8 years agoSwapchain: Start keeping better track of surface-queueFamilyIndices.
Ian Elliott [Wed, 20 Jan 2016 15:52:08 +0000 (08:52 -0700)]
Swapchain: Start keeping better track of surface-queueFamilyIndices.

8 years agoSwapchain: Match validity rules for pCreateInfo->imageUsage.
Ian Elliott [Wed, 20 Jan 2016 13:03:12 +0000 (06:03 -0700)]
Swapchain: Match validity rules for pCreateInfo->imageUsage.

Should not check that the value is non-zero, only that it's a subset of the
bits in pCapabilities->supportedUsageFlags.

8 years agomisc: Update BUILD.md to point to latest ImageMagick.
Mark Young [Thu, 28 Jan 2016 16:59:35 +0000 (09:59 -0700)]
misc: Update BUILD.md to point to latest ImageMagick.

We probably won't keep this link around much longer, but I wanted to
continue to provide a working link so people don't have issues installing
the appropriate version of ImageMagick.

8 years agolayers: Fix 32-bit compilation warnings/errors introduced last night.
Mark Young [Thu, 28 Jan 2016 16:36:15 +0000 (09:36 -0700)]
layers: Fix 32-bit compilation warnings/errors introduced last night.

Several 32-bit compilation warnings and errors were introduced into
draw_state.cpp last night.  This fixes those issues and allows our builds
to work again.

8 years agolayers: MR172, Add draw_state cmdbuffer lifetime checks to cmd pool destruction
Michael Lentine [Wed, 27 Jan 2016 23:52:20 +0000 (17:52 -0600)]
layers: MR172, Add draw_state cmdbuffer lifetime checks to cmd pool destruction

8 years agolayers: MR171, Validate pool cannot be reset when buffer in use in draw_state
Michael Lentine [Wed, 27 Jan 2016 23:02:39 +0000 (17:02 -0600)]
layers: MR171, Validate pool cannot be reset when buffer in use in draw_state

8 years agolayers: MR170, Validate queue paramters when getting a queue in param_checker
Michael Lentine [Wed, 27 Jan 2016 21:43:43 +0000 (15:43 -0600)]
layers: MR170, Validate queue paramters when getting a queue in param_checker

8 years agolayers: MR169, Validate queueCount in param_checker
Michael Lentine [Wed, 27 Jan 2016 19:36:46 +0000 (13:36 -0600)]
layers: MR169, Validate queueCount in param_checker

8 years agolayers: MR168, Validate queue priority between 0 and 1 in param_checker
Michael Lentine [Wed, 27 Jan 2016 18:50:30 +0000 (12:50 -0600)]
layers: MR168, Validate queue priority between 0 and 1 in param_checker

8 years agolayers: MR167, Make sure queueCount is non-zero in param_checker
Michael Lentine [Wed, 27 Jan 2016 17:40:27 +0000 (11:40 -0600)]
layers: MR167, Make sure queueCount is non-zero in param_checker

Conflicts:
layers/param_checker.cpp

8 years agolayers: MR166, Avoid duplicate queueFamilyIndices in param_checker
Michael Lentine [Wed, 27 Jan 2016 17:25:05 +0000 (11:25 -0600)]
layers: MR166, Avoid duplicate queueFamilyIndices in param_checker

8 years agolayers: MR160, Fix Android build
Cody Northrop [Tue, 26 Jan 2016 17:53:28 +0000 (10:53 -0700)]
layers: MR160, Fix Android build

8 years agovktrace: fixes to allow vktrace/replay to work with Hologram
Karl Schultz [Wed, 27 Jan 2016 23:03:49 +0000 (16:03 -0700)]
vktrace: fixes to allow vktrace/replay to work with Hologram

- Protect strlen() against NULL strings
- Avoid freeing remapped semaphores in replay QueuePresent before using them
- Use a VkMemory total size instead of the literal VK_WHOLE_SIZE in trace buffers

8 years agolayers: MR159, Add helper to get the value of an assumed integral constant
Chris Forbes [Tue, 26 Jan 2016 01:07:16 +0000 (14:07 +1300)]
layers: MR159, Add helper to get the value of an assumed integral constant

We need this in a bunch of array-handling code.

8 years agolayers: MR159/LX309/LX310/LX304, Fix handling of OpTypeArray size in DrawState
Chris Forbes [Tue, 26 Jan 2016 01:08:53 +0000 (14:08 +1300)]
layers: MR159/LX309/LX310/LX304, Fix handling of OpTypeArray size in DrawState

Array size is specified via a constant instruction, not a literal.

8 years agolayers: MR159, Collect offsets of instructions producing constants
Chris Forbes [Tue, 26 Jan 2016 00:49:27 +0000 (13:49 +1300)]
layers: MR159, Collect offsets of instructions producing constants

We're about to need to be able to look these up by <id> for proper array size
handling.

8 years agolayers: MR159, Rename get_type_def, type_def_index
Chris Forbes [Tue, 26 Jan 2016 00:41:39 +0000 (13:41 +1300)]
layers: MR159, Rename get_type_def, type_def_index

These are just get_def, and def_index now to reflect the fact that they will
handle insts other than just type definitions.

8 years agowindowsrtinstaller: Removed unneeded UNINSTALL reg values
David Pinedo [Wed, 27 Jan 2016 21:15:25 +0000 (14:15 -0700)]
windowsrtinstaller: Removed unneeded UNINSTALL reg values

Renamed "IC" UNINSTALL reg value to "InstallCount"

8 years agoloader: Fix createInstance to pass pAllocator down
Jon Ashburn [Wed, 27 Jan 2016 17:56:10 +0000 (10:56 -0700)]
loader: Fix createInstance to pass pAllocator down

Also fix bug where createDevice failure removes logical device from icd
struct

8 years agoloader: Don't have createInstance terminator code write the instance
Jon Ashburn [Tue, 26 Jan 2016 23:02:45 +0000 (16:02 -0700)]
loader: Don't have createInstance terminator code write the instance
object

8 years agoloader: Moved missing #define needed by aligned_alloc.
Mark Young [Tue, 26 Jan 2016 22:09:10 +0000 (15:09 -0700)]
loader: Moved missing #define needed by aligned_alloc.

The define needs to be before the includes.

8 years agolayers: LX308, CreateGraphics/ComputePipelines support for multiple pipelines
Mark Lobodzinski [Tue, 26 Jan 2016 16:55:28 +0000 (09:55 -0700)]
layers: LX308, CreateGraphics/ComputePipelines support for multiple pipelines

Codegen needs special cases to create tracking structures when multiple pipelines
are specified. Moved these APIs into the explicit code section for now.

8 years agoloader: Fixed missing #define needed by aligned_alloc.
Mark Young [Tue, 26 Jan 2016 20:41:18 +0000 (13:41 -0700)]
loader: Fixed missing #define needed by aligned_alloc.

This fixes the missing #define so Linux should build without warning.

8 years agoloader: Update Windows uninstall to remove 32-bit vulkaninfo.
Mark Young [Tue, 26 Jan 2016 20:36:28 +0000 (13:36 -0700)]
loader: Update Windows uninstall to remove 32-bit vulkaninfo.

I recently added a 32-bit vulkaninfo to the install directory so
people could valiate the 32-bit loader.  Unfortunately, I wasn't
removing it.  Thanks to David for the catch.

8 years agoloader: Removed CMake 2.8 files which broke CMake 3.x.
Mark Young [Tue, 26 Jan 2016 20:34:30 +0000 (13:34 -0700)]
loader: Removed CMake 2.8 files which broke CMake 3.x.

The CMake support files which I added as part of the FindImageMagick.cmake
commit, were not required when we rolled back the files to 2.8.  This
caused the XCB code to use the wrong version of the file on some machines
which resulted in XCB not being properly detected.

8 years agoloader: Fixed issue with Linux when ImageMagick-5 installed.
Mark Young [Tue, 26 Jan 2016 18:27:09 +0000 (11:27 -0700)]
loader: Fixed issue with Linux when ImageMagick-5 installed.

Last changes made ImageMagick-6 work, but broke ImageMagick-5.
The issue is that the _ARCH_INCLUDE directories are only present
for ImageMagick-6 and newer.  So, Cmake was attempting to use an
undefined variable.