platform/upstream/Vulkan-Tools.git
8 years agoloader: Find ICD entrypoints via vk_icdGetInstanceProcAddr first in ICD library
Jon Ashburn [Thu, 7 Jan 2016 16:44:27 +0000 (09:44 -0700)]
loader: Find ICD entrypoints via vk_icdGetInstanceProcAddr first in ICD library
Also support prior method (now deprecated) of looking up vkGetInstanceProcAddr.
But now other globals are gotten from GetInstanceProcAddr calls.

8 years agoFixes: Fixed more Visual Studio warnings which appeared with the merge
Mark Young [Thu, 7 Jan 2016 16:48:47 +0000 (09:48 -0700)]
Fixes: Fixed more Visual Studio warnings which appeared with the merge

Some new warnings popped up with the latest merge.

8 years agoFixes: Fixed a missing file change with Visual Studio warnings.
Mark Young [Wed, 6 Jan 2016 23:17:03 +0000 (16:17 -0700)]
Fixes: Fixed a missing file change with Visual Studio warnings.

Fixed more Visual Studio warnings so we have a clean compilation.

8 years agoFixes: Fixed Visual Studio warnings during compilation.
Mark Young [Wed, 6 Jan 2016 21:26:04 +0000 (14:26 -0700)]
Fixes: Fixed Visual Studio warnings during compilation.

Changes to properly detect proper Visual Studio and fix build warnings.

8 years agoFixes: Automatically detect Visual Studio version on Windows
Mark Young [Wed, 6 Jan 2016 22:58:55 +0000 (15:58 -0700)]
Fixes: Automatically detect Visual Studio version on Windows

Automatically detect and use the correct version of Visual Studio/MSBuild for Cmake.

8 years agoAdded X server DRI3 config info for Ubuntu 14.04.3 LTS.
Karl Schultz [Thu, 7 Jan 2016 16:03:40 +0000 (11:03 -0500)]
Added X server DRI3 config info for Ubuntu 14.04.3 LTS.

8 years agodraw_state layer: add validateAndIncrementResources return value
David Pinedo [Thu, 7 Jan 2016 03:30:34 +0000 (20:30 -0700)]
draw_state layer: add validateAndIncrementResources return value

8 years agoBump Windows ABI to 1
David Pinedo [Wed, 6 Jan 2016 23:34:27 +0000 (16:34 -0700)]
Bump Windows ABI to 1

8 years agolayers: Update layer details doc for new validation errors
Mark Lobodzinski [Wed, 6 Jan 2016 22:26:17 +0000 (15:26 -0700)]
layers: Update layer details doc for new validation errors

8 years agolayers: MR107, Verify that clear is not used when first use is shader read
Michael Lentine [Mon, 28 Dec 2015 16:17:32 +0000 (10:17 -0600)]
layers: MR107, Verify that clear is not used when first use is shader read

Conflicts:
layers/mem_tracker.h

8 years agolayers: MR82, merge-related fixes
Mark Lobodzinski [Wed, 6 Jan 2016 21:58:59 +0000 (14:58 -0700)]
layers: MR82, merge-related fixes

8 years agolayers: MR82, Add lifetime validation for buffers to DrawState
Michael Lentine [Sat, 31 Oct 2015 00:57:32 +0000 (17:57 -0700)]
layers: MR82, Add lifetime validation for buffers to DrawState

Conflicts:
layers/draw_state.cpp
layers/draw_state.h

8 years agolayers: LX259, Clarify draw_state accessMask warnings
Mark Lobodzinski [Wed, 6 Jan 2016 19:56:29 +0000 (12:56 -0700)]
layers: LX259, Clarify draw_state accessMask warnings

8 years agoSwapchain: Reconcile MD file with Swapchain layer.
Ian Elliott [Wed, 6 Jan 2016 00:41:43 +0000 (17:41 -0700)]
Swapchain: Reconcile MD file with Swapchain layer.

Conflicts:
layers/vk_validation_layer_details.md

8 years agoBug 15392 (Swapchain): Don't check VkPresentInfoKHR's waitSemaphoreCount & pWaitSemap...
Ian Elliott [Tue, 5 Jan 2016 22:00:26 +0000 (15:00 -0700)]
Bug 15392 (Swapchain): Don't check VkPresentInfoKHR's waitSemaphoreCount & pWaitSemaphores

The VkPresentInfoKHR's waitSemaphoreCount may be zero and pWaitSemaphores may
be NULL.  These are optional values.

8 years agoSwapchain: Use an INFO instead of an ERROR for when pNext is non-NULL.
Ian Elliott [Tue, 5 Jan 2016 21:41:45 +0000 (14:41 -0700)]
Swapchain: Use an INFO instead of an ERROR for when pNext is non-NULL.

This is a compromise.  Currently, this is an error situation.  However, another
extension could be added that uses pNext, and then if the Swapchain layer isn't
updated, a false-error situation could occur.  By using an INFO message, the
user is still alerted of the possibility of a problem, but won't be annoyed in
the case of a new extension.

8 years agoSwapchain: Change way p*Count is checked--make sure not bigger than should be.
Ian Elliott [Tue, 5 Jan 2016 21:28:32 +0000 (14:28 -0700)]
Swapchain: Change way p*Count is checked--make sure not bigger than should be.

8 years agoSwapchain: Only check that queueFamilyIndexCount is greater than 0.
Ian Elliott [Tue, 5 Jan 2016 21:11:03 +0000 (14:11 -0700)]
Swapchain: Only check that queueFamilyIndexCount is greater than 0.

From review feedback.  We're not sure, and so we won't check that it is greater
than 1.

8 years agoSwapchain: Update my authorship to include Google.
Ian Elliott [Tue, 5 Jan 2016 21:03:16 +0000 (14:03 -0700)]
Swapchain: Update my authorship to include Google.

8 years agoSwapchain: No longer validate VkSwapchainKHR (object_track will do) ...
Ian Elliott [Tue, 5 Jan 2016 20:06:48 +0000 (13:06 -0700)]
Swapchain: No longer validate VkSwapchainKHR (object_track will do) ...

Actually, leave one VkSwapchainKHR check in.  This is checking the
pCreateInfo->oldSwapchain value, which I'm not sure object_track will look
for).  Can remove this later, if object_track does check this.

8 years agoSwapchain: No longer validate VkDevice (object_track will do).
Ian Elliott [Tue, 5 Jan 2016 20:00:50 +0000 (13:00 -0700)]
Swapchain: No longer validate VkDevice (object_track will do).

8 years agoSwapchain: No longer validate VkPhysicalDevice (object_track will do).
Ian Elliott [Tue, 5 Jan 2016 19:51:03 +0000 (12:51 -0700)]
Swapchain: No longer validate VkPhysicalDevice (object_track will do).

8 years agoSwapchain: No longer validate VkInstance (object_track will do).
Ian Elliott [Tue, 5 Jan 2016 19:18:50 +0000 (12:18 -0700)]
Swapchain: No longer validate VkInstance (object_track will do).

8 years agoSwapchain: Remove tracking/validation of VkSurfaceKHR object.
Ian Elliott [Tue, 5 Jan 2016 19:03:06 +0000 (12:03 -0700)]
Swapchain: Remove tracking/validation of VkSurfaceKHR object.

The object_track layer will do this.

8 years agoBug 15383 (Swapchain): Treat VkSurfaceKHR as opaque--don't look inside it.
Ian Elliott [Tue, 5 Jan 2016 18:24:56 +0000 (11:24 -0700)]
Bug 15383 (Swapchain): Treat VkSurfaceKHR as opaque--don't look inside it.

8 years agoSwapchain: Track/use enablement of the WSI platform extensions.
Ian Elliott [Mon, 4 Jan 2016 21:10:30 +0000 (14:10 -0700)]
Swapchain: Track/use enablement of the WSI platform extensions.

The old code either wasn't checking, or was using the enablment of the surface
extension instead of the correct platform extension

8 years agoSwapchain: Fixes and improvements validating vkCreate*SurfaceKHR().
Ian Elliott [Thu, 31 Dec 2015 00:39:02 +0000 (17:39 -0700)]
Swapchain: Fixes and improvements validating vkCreate*SurfaceKHR().

8 years agoSwapchain: Fixes and improvements validating vkAcquireNextImageKHR().
Ian Elliott [Wed, 30 Dec 2015 00:52:10 +0000 (17:52 -0700)]
Swapchain: Fixes and improvements validating vkAcquireNextImageKHR().

8 years agoSwapchain: Fixes and improvements validating vkQueuePresentKHR().
Ian Elliott [Thu, 31 Dec 2015 00:07:17 +0000 (17:07 -0700)]
Swapchain: Fixes and improvements validating vkQueuePresentKHR().

8 years agoSwapchain: Fixes and improvements validating vkCreateSwapchainKHR().
Ian Elliott [Wed, 30 Dec 2015 21:55:41 +0000 (14:55 -0700)]
Swapchain: Fixes and improvements validating vkCreateSwapchainKHR().

8 years agoSwapchain: Rework the way that pCount is dealt with.
Ian Elliott [Wed, 30 Dec 2015 20:14:36 +0000 (13:14 -0700)]
Swapchain: Rework the way that pCount is dealt with.

8 years agoSwapchain: Added NULL_POINTER checks & pCount checks.
Ian Elliott [Wed, 30 Dec 2015 19:00:54 +0000 (12:00 -0700)]
Swapchain: Added NULL_POINTER checks & pCount checks.

8 years agoSwapchain: Update TODOs
Ian Elliott [Wed, 30 Dec 2015 19:04:43 +0000 (12:04 -0700)]
Swapchain: Update TODOs

8 years agoSwapchain: Support vkGetPhysicalDevice*PresentationSupportKHR().
Ian Elliott [Wed, 30 Dec 2015 17:18:47 +0000 (10:18 -0700)]
Swapchain: Support vkGetPhysicalDevice*PresentationSupportKHR().

8 years agoSwapchain: Update vk_validation_layer_details.md for new errors.
Ian Elliott [Wed, 30 Dec 2015 01:00:50 +0000 (18:00 -0700)]
Swapchain: Update vk_validation_layer_details.md for new errors.

8 years agoSwapchain: Port to latest (v217) WSI & VK_EXT_debug_report extensions.
Ian Elliott [Wed, 30 Dec 2015 00:35:46 +0000 (17:35 -0700)]
Swapchain: Port to latest (v217) WSI & VK_EXT_debug_report extensions.

8 years agoSwapchain: Enhance validation of vkCreateSwapchainKHR().
Ian Elliott [Mon, 28 Dec 2015 22:23:57 +0000 (15:23 -0700)]
Swapchain: Enhance validation of vkCreateSwapchainKHR().

8 years agotri/cube: : Support the new VkCompositeAlphaFlagBitsKHR.
Ian Elliott [Mon, 28 Dec 2015 22:25:33 +0000 (15:25 -0700)]
tri/cube: : Support the new VkCompositeAlphaFlagBitsKHR.

8 years agoSwapchain: Replace implementation of presentModeStr()
Ian Elliott [Mon, 28 Dec 2015 22:04:49 +0000 (15:04 -0700)]
Swapchain: Replace implementation of presentModeStr()

8 years agoSwapchain: Rename deviceSwapchainExtensionEnabled->swapchainExtensionEnabled
Ian Elliott [Tue, 29 Dec 2015 23:45:49 +0000 (16:45 -0700)]
Swapchain: Rename deviceSwapchainExtensionEnabled->swapchainExtensionEnabled

8 years agoSwapchain: Rename swapchainExtensionEnabled->surfaceExtensionEnabled
Ian Elliott [Tue, 29 Dec 2015 23:44:39 +0000 (16:44 -0700)]
Swapchain: Rename swapchainExtensionEnabled->surfaceExtensionEnabled

8 years agoSwapchain: Start validating the new VkSurfaceKHR object.
Ian Elliott [Tue, 22 Dec 2015 19:18:12 +0000 (12:18 -0700)]
Swapchain: Start validating the new VkSurfaceKHR object.

Do so for Android as well as the Linux/Windows "platforms".

8 years agowindows Runtime installer: fix files that were 0 length.
David Pinedo [Wed, 6 Jan 2016 18:17:38 +0000 (11:17 -0700)]
windows Runtime installer: fix files that were 0 length.

Not sure why they were 0 length

8 years agolayers: Add documentation for new INVALID_ALIASING check in mem_tracker
Tobin Ehlis [Wed, 6 Jan 2016 17:03:38 +0000 (10:03 -0700)]
layers: Add documentation for new INVALID_ALIASING check in mem_tracker

8 years agolayers: Complete make-dependency fix
Mark Lobodzinski [Wed, 6 Jan 2016 17:56:16 +0000 (10:56 -0700)]
layers: Complete make-dependency fix

8 years agotoolchain: Add spirv-tools to Windows script
Cody Northrop [Wed, 30 Dec 2015 18:53:18 +0000 (11:53 -0700)]
toolchain: Add spirv-tools to Windows script

8 years agotoolchain: Update parameter parsing on Linux
Cody Northrop [Tue, 29 Dec 2015 23:25:10 +0000 (16:25 -0700)]
toolchain: Update parameter parsing on Linux

Lack of parameters builds everything, as before.

   ./update_external_sources.sh
   Building glslang, LunarGLASS, spirv-tools

Modified parameters:

   --glslang-only becomes --glslang

Current parameters:

   -g | --glslang      # enable glslang
   -l | --LunarGLASS   # enable LunarGLASS
   -s | --spirv-tools  # enable spirv-tools

Mix and match:

   ./update_external_sources.sh -g -s
   Building glslang (-g)
   Building spirv-tools (-s)

8 years agotoolchain: Add spirv-tools to update_external_sources.sh
Cody Northrop [Tue, 29 Dec 2015 21:42:24 +0000 (14:42 -0700)]
toolchain: Add spirv-tools to update_external_sources.sh

8 years agoAndroid build fixes.
Michael Lentine [Tue, 5 Jan 2016 17:10:15 +0000 (11:10 -0600)]
Android build fixes.

8 years agowindows RT installer: Remove include files. Cosmetic changes to nsi file.
David Pinedo [Wed, 6 Jan 2016 16:59:58 +0000 (09:59 -0700)]
windows RT installer: Remove include files. Cosmetic changes to nsi file.

8 years agolayers: Fix circular make depency
Mark Lobodzinski [Wed, 6 Jan 2016 00:17:55 +0000 (17:17 -0700)]
layers: Fix circular make depency

8 years agoglslang: move to latest version
GregF [Tue, 15 Dec 2015 19:03:48 +0000 (12:03 -0700)]
glslang: move to latest version

8 years agolayers: MR105, Add aliasing check for buffer/image overlap
Michael Lentine [Tue, 22 Dec 2015 23:30:09 +0000 (17:30 -0600)]
layers: MR105, Add aliasing check for buffer/image overlap

8 years agolayers: LX260, Clean up AccessMask validation message in DrawState
Mark Lobodzinski [Tue, 5 Jan 2016 20:35:29 +0000 (13:35 -0700)]
layers: LX260, Clean up AccessMask validation message in DrawState

8 years agodemos: Fix up dstAccessMasks and move pipeline barriers for present to bottom of...
Tony Barbour [Tue, 5 Jan 2016 16:59:05 +0000 (09:59 -0700)]
demos: Fix up dstAccessMasks and move pipeline barriers for present to bottom of pipe

8 years agolayers: LX255, Print readable version of VkAccessFlags
Mark Lobodzinski [Tue, 5 Jan 2016 18:32:53 +0000 (11:32 -0700)]
layers: LX255, Print readable version of VkAccessFlags

Also update related validation messages to indicate src/dest accessMask

8 years agolayers: LX249, Remove MSAA coherency checks from BeginRenderPass
Mark Lobodzinski [Thu, 31 Dec 2015 23:36:52 +0000 (16:36 -0700)]
layers: LX249, Remove MSAA coherency checks from BeginRenderPass

Don't see any language in the spec saying that sample counts need to be valid at
RP begin time. A PSO with matching MSAA state can be bound after the RP is
started.

8 years agoWindowsRTInstaller: Fix typo in command in nsi script
David Pinedo [Mon, 4 Jan 2016 23:38:15 +0000 (16:38 -0700)]
WindowsRTInstaller: Fix typo in command in nsi script

8 years agoWindows Runtime Installer: Initial creation in LoaderAndTools
David Pinedo [Mon, 4 Jan 2016 23:31:57 +0000 (16:31 -0700)]
Windows Runtime Installer: Initial creation in LoaderAndTools

8 years agoloader: Convert getenv on Windows to use GetEnvironmentVariable
Jon Ashburn [Mon, 4 Jan 2016 21:01:38 +0000 (14:01 -0700)]
loader: Convert getenv on Windows to use GetEnvironmentVariable

This allows loader to get updated  environment variables. That is after the CRT
has been initialized.

8 years agolayers: Enable fine-grained filtering of swapchain log messages
Mark Lobodzinski [Mon, 4 Jan 2016 22:54:59 +0000 (15:54 -0700)]
layers: Enable fine-grained filtering of swapchain log messages

8 years agolayers: Enable fine-grained filtering of generated layer log messages
Mark Lobodzinski [Mon, 4 Jan 2016 22:48:11 +0000 (15:48 -0700)]
layers: Enable fine-grained filtering of generated layer log messages

Layers object_tracker, threading, generic, basic, etc.

8 years agolayers: Enable fine-grained filtering of param_checker log messages
Mark Lobodzinski [Mon, 4 Jan 2016 20:48:15 +0000 (13:48 -0700)]
layers: Enable fine-grained filtering of param_checker log messages

8 years agolayers: Enable fine-grained filtering of mem_tracker log messages
Mark Lobodzinski [Mon, 4 Jan 2016 20:43:45 +0000 (13:43 -0700)]
layers: Enable fine-grained filtering of mem_tracker log messages

8 years agolayers: Enable fine-grained filtering of image layer log messages
Mark Lobodzinski [Mon, 4 Jan 2016 20:32:45 +0000 (13:32 -0700)]
layers: Enable fine-grained filtering of image layer log messages

8 years agolayers: Enable fine-grained filtering of device_limits log messages
Mark Lobodzinski [Mon, 4 Jan 2016 20:18:50 +0000 (13:18 -0700)]
layers: Enable fine-grained filtering of device_limits log messages

8 years agolayers: Enable fine-grained filtering of draw_state log messages
Mark Lobodzinski [Mon, 4 Jan 2016 20:18:10 +0000 (13:18 -0700)]
layers: Enable fine-grained filtering of draw_state log messages

Includes shader_checker messages

8 years agoloader: MR111, Fix memleaks
BogDan Vatra [Mon, 4 Jan 2016 12:05:49 +0000 (14:05 +0200)]
loader: MR111, Fix memleaks

[instance|dev] activated_layer_list is always allocated so, we need to always free it.

8 years agolayers: LX258, Fix draw_state infinite loop in ResetDescriptorPool
Mark Lobodzinski [Mon, 4 Jan 2016 16:40:19 +0000 (09:40 -0700)]
layers: LX258, Fix draw_state infinite loop in ResetDescriptorPool

8 years agomisc: For header vers 221; add deviceFeature drawIndirectFirstInstance
Jon Ashburn [Thu, 31 Dec 2015 19:47:52 +0000 (12:47 -0700)]
misc: For header vers 221; add deviceFeature drawIndirectFirstInstance

8 years agomisc: For header vers 220, fix BOTTOM_OF_PIPE typo
Jon Ashburn [Thu, 31 Dec 2015 19:32:16 +0000 (12:32 -0700)]
misc: For header vers 220, fix BOTTOM_OF_PIPE typo

8 years agomisc: Add barrier pipeline stage BOTTOM_OF_PIPE; for header vers 219
Jon Ashburn [Thu, 31 Dec 2015 19:14:37 +0000 (12:14 -0700)]
misc: Add barrier pipeline stage BOTTOM_OF_PIPE; for header vers 219
Use BOTTOM_PIPE for barrier for WSI presentation.

8 years agoheaders: debug_report ext and pipelineCache version additions for header 218
Jon Ashburn [Thu, 31 Dec 2015 16:25:47 +0000 (09:25 -0700)]
headers: debug_report ext and pipelineCache version additions for header 218

8 years agolayers: LX254, Fix typos in Image Layer error messages
Mark Lobodzinski [Thu, 31 Dec 2015 16:49:50 +0000 (09:49 -0700)]
layers: LX254, Fix typos in Image Layer error messages

8 years agolayers: Fix object_tracker name in validation documentation generate script
Jon Ashburn [Thu, 31 Dec 2015 16:44:26 +0000 (09:44 -0700)]
layers: Fix object_tracker name in validation documentation generate script

8 years agomisc: rename descriptorSetlayout pBinding; update to header vers 217
Jon Ashburn [Thu, 31 Dec 2015 01:01:16 +0000 (18:01 -0700)]
misc: rename descriptorSetlayout pBinding; update to header vers 217

8 years agomisc: Add pipeline stage flags to wait upon for queueSubmit semaphores; v216
Jon Ashburn [Wed, 30 Dec 2015 23:42:50 +0000 (16:42 -0700)]
misc: Add pipeline stage flags to wait upon for queueSubmit semaphores; v216

8 years agomisc: Changes to go to header v215 including vulkan.h version update
Jon Ashburn [Wed, 30 Dec 2015 21:52:49 +0000 (14:52 -0700)]
misc: Changes to go to header v215 including vulkan.h version update

8 years agomisc: Changes to go to header v214 including vulkan.h version update
Jon Ashburn [Wed, 30 Dec 2015 21:39:53 +0000 (14:39 -0700)]
misc: Changes to go to header v214 including vulkan.h version update

8 years agobump header version to 213.1
Jon Ashburn [Wed, 30 Dec 2015 21:09:31 +0000 (14:09 -0700)]
bump header version to 213.1

This includes WSI changes that are post vers 213 so that is why use 213.1

8 years agomisc: rename startXXX to firstXXX and add firstXXX param to setviewport/scissor
Jon Ashburn [Wed, 30 Dec 2015 21:06:55 +0000 (14:06 -0700)]
misc: rename startXXX to firstXXX and add firstXXX param to setviewport/scissor

Header file changes going to 213 version

8 years agolayers: Rename Layer/library/json files for consistency
Mark Lobodzinski [Wed, 30 Dec 2015 15:16:12 +0000 (08:16 -0700)]
layers: Rename Layer/library/json files for consistency

Renamed layers from (for example) xxx_DrawState to xxx_draw_state
Renamed JSON files
Renamed libraries
Renamed object_track.* to object_tracker.*
Renamed apidump.h to api_dump.h
Renamed screen_shot layer to screenshot
Renamed APIDump layer settings file options to ApiDump
Bug fixes here and there from prior renames

8 years agolayers: MR89, Fix gtests for android
Michael Lentine [Fri, 11 Dec 2015 18:49:51 +0000 (10:49 -0800)]
layers: MR89, Fix gtests for android

Conflicts:
layers/draw_state.cpp
layers/image.cpp
layers/mem_tracker.cpp

8 years agomisc: Bump header to 212.1
Jon Ashburn [Tue, 29 Dec 2015 21:57:48 +0000 (14:57 -0700)]
misc: Bump header to 212.1

Adds rest of version 212 changes (timestamp in DeviceLimits) that wasn't
in the 217 WSI header updates.

8 years agovktrace: version 217 WSI changes
Jon Ashburn [Tue, 29 Dec 2015 21:21:25 +0000 (14:21 -0700)]
vktrace: version 217 WSI changes

8 years agodemos: Fix win32_surface compile errors for demos and tests
Jon Ashburn [Fri, 25 Dec 2015 00:08:01 +0000 (17:08 -0700)]
demos: Fix win32_surface compile errors for demos and tests

8 years agonulldrv: Fix swapchain compile error
Jon Ashburn [Thu, 24 Dec 2015 23:59:07 +0000 (16:59 -0700)]
nulldrv: Fix swapchain compile error

8 years agodemos: Version 217 WSI changes.
Ian Elliott [Fri, 11 Dec 2015 22:52:12 +0000 (15:52 -0700)]
demos: Version 217 WSI changes.

8 years agolayers: Version 217 WSI changes.
Ian Elliott [Fri, 11 Dec 2015 22:03:05 +0000 (15:03 -0700)]
layers: Version 217 WSI changes.

8 years agonulldrv: Version 217 WSI changes.
Ian Elliott [Fri, 11 Dec 2015 20:31:36 +0000 (13:31 -0700)]
nulldrv: Version 217 WSI changes.

8 years agoloader: Version 217 WSI changes.
Ian Elliott [Fri, 11 Dec 2015 00:28:50 +0000 (17:28 -0700)]
loader: Version 217 WSI changes.

8 years agoWSI: Update "vulkan.h" with WSI contents of version 217.
Ian Elliott [Fri, 11 Dec 2015 00:11:21 +0000 (17:11 -0700)]
WSI: Update "vulkan.h" with WSI contents of version 217.

8 years agolayers: MR103, Improve image dependency validation
Michael Lentine [Tue, 22 Dec 2015 17:36:14 +0000 (11:36 -0600)]
layers: MR103, Improve image dependency validation

Remove duplicate dag creation and make sure image is valid if read first
in a subpass dag.

8 years agolayers: Fix windows build issue with drawstate merge requests
Mark Lobodzinski [Mon, 28 Dec 2015 22:51:07 +0000 (15:51 -0700)]
layers: Fix windows build issue with drawstate merge requests

8 years agolayers: MR101, Add DrawState validation of pDynamicOffsets
Tobin Ehlis [Thu, 17 Dec 2015 18:48:42 +0000 (11:48 -0700)]
layers: MR101, Add DrawState validation of pDynamicOffsets

At draw time, verify that any dynamic descriptors that are bound and used by the
pipeline do not overflow their buffer. This requires checking the combindation of
the pDynamicOffsets value from vkCmdBindDescriptorSets() for each descriptor
along with its offset and range from vkUpdateDescriptors() to makes sure this
combination doesn't overflow the buffer size.
Also added a test to hit this case along with some additional testing for
incorrect dynamicOffsetCount at vkCmdBindDescriptorSets() time.

Conflicts:
layers/draw_state.cpp

8 years agolayers: MR95, Add renderPass compatibility checks to DrawState
Tobin Ehlis [Wed, 16 Dec 2015 12:01:22 +0000 (05:01 -0700)]
layers: MR95, Add renderPass compatibility checks to DrawState

Add functions to check renderpass compatibility based on spec.
Add check for renderPass compatibility at vkBeginCommandBuffers() for a secondary
command buffer where a framebuffer is included. The renderPass for that framebuffer
must be compatible with the renderPass for the secondary command buffer.
Add checks for renderPass compatibility at time vkCmdExecuteCommands() is called.
If secondary command buffer renderPass is not compatible with active renderPass
from primary command buffer, flag an error.
Also added a check at vkCmdExecuteCommands() time to make sure that framebuffer
from active renderPass matches any framebuffer that was set in secondary command
buffer (if any).

Conflicts:
layers/draw_state.cpp

8 years agolayers: MR94, DrawState refactor to verify CmdBuffer RECORDING
Tobin Ehlis [Wed, 16 Dec 2015 15:19:42 +0000 (08:19 -0700)]
layers: MR94, DrawState refactor to verify CmdBuffer RECORDING

For all of the vkCmd* calls, we were checking to make CmdBuffer was in RECORDING
state and adding Cmd to internal tracking struct. It cleans up all of the vkCmd*
functions to do the RECORDING check inside of the addCmd() call.
This also fixes a few holes where we weren't doing the RECORDING state check.

Conflicts:
layers/draw_state.cpp
tests/layer_validation_tests.cpp

8 years agolayers: Fix DrawState BeginCommandBuffer check
Tobin Ehlis [Wed, 16 Dec 2015 14:17:23 +0000 (07:17 -0700)]
layers: Fix DrawState BeginCommandBuffer check

According to the spec, framebuffer parameter can be NULL when vkBeginCommandBuffer()
is called on a secondary command buffer, however it may result in lower performance.
Changed this ERROR to a PERF_WARN.

Conflicts:
layers/draw_state.cpp

8 years agolayers: Fix Drawstate issues with binding pipelines in/outside a renderpass
Mark Lobodzinski [Fri, 18 Dec 2015 22:35:38 +0000 (15:35 -0700)]
layers: Fix Drawstate issues with binding pipelines in/outside a renderpass

8 years agoloader: Don't override VK_LAYER_PATH for implicit layers
Jon Ashburn [Thu, 24 Dec 2015 20:58:35 +0000 (13:58 -0700)]
loader: Don't override VK_LAYER_PATH for implicit layers