platform/upstream/Vulkan-Tools.git
8 years agolayers: Remove mid() & mdd() functions from DrawState
Tobin Ehlis [Tue, 20 Oct 2015 23:06:16 +0000 (17:06 -0600)]
layers: Remove mid() & mdd() functions from DrawState

Just use the report_data directly off the already looked-up map entry for the given device/instance. This saves a map lookup.

8 years agolayers: Add DrawState check for DescriptorSet availability in Pool
Tobin Ehlis [Tue, 20 Oct 2015 22:16:04 +0000 (16:16 -0600)]
layers: Add DrawState check for DescriptorSet availability in Pool

Prior to allocating descriptors from a Pool, verify that requested number/type of descriptors are available in that Pool, flag error if not.
When Pool is reset or when descriptors are allocated, release descriptors back to pool.

Added constructor and destructor for POOL_NODE to simplify allocation/cleanup.

Added layer documentation for new check and AllocDescriptorFromEmptyPool test to verify that error is correctly flagged.

8 years agolayers: DrawState layout tracking improvements
Tobin Ehlis [Tue, 20 Oct 2015 16:11:55 +0000 (10:11 -0600)]
layers: DrawState layout tracking improvements

Descriptor type per layout tracked via vector to simplify allocation/cleanup.
Added tracking for pipeline layout that can be used for further validation checks

8 years agolayers: Added TODO comments to DrawState for missing validation checks
Tobin Ehlis [Tue, 20 Oct 2015 15:13:54 +0000 (09:13 -0600)]
layers: Added TODO comments to DrawState for missing validation checks

8 years agolayers: Fix indices in DrawState error message
Tobin Ehlis [Mon, 19 Oct 2015 20:31:10 +0000 (14:31 -0600)]
layers: Fix indices in DrawState error message

If imageView aspect for DescriptorSet Update has both Depth and Stencil set, top-level "WriteDescriptorSet" is governed by "i" and specific descriptor within that particular WriteDescriptorSet is governed by "j".

8 years agolayers: Comment in DrawState for missing validation of DescriptorPool size limit
Tobin Ehlis [Mon, 19 Oct 2015 18:09:13 +0000 (12:09 -0600)]
layers: Comment in DrawState for missing validation of DescriptorPool size limit

8 years agodemos: Add mem barrier to change layout to present
Tony Barbour [Wed, 21 Oct 2015 16:14:48 +0000 (10:14 -0600)]
demos: Add mem barrier to change layout to present

This addresses LunarExchange issue 168

8 years agodemos: check return value from vkQueueWaitSemaphore
Tony Barbour [Tue, 20 Oct 2015 19:01:07 +0000 (13:01 -0600)]
demos: check return value from vkQueueWaitSemaphore

8 years agodemos: Handle paint events and call RedrawWindow to animate
Tony Barbour [Tue, 20 Oct 2015 18:49:46 +0000 (12:49 -0600)]
demos: Handle paint events and call RedrawWindow to animate

This keeps MessageBoxs from validation on Windows from hanging the
demos, while allowing the demo to animate

8 years agoFix "_out64" -> "build" references accidentally removed
Cody Northrop [Wed, 21 Oct 2015 17:32:58 +0000 (13:32 -0400)]
Fix "_out64" -> "build" references accidentally removed

8 years agoFix formatting in BUILD.md
Cody Northrop [Wed, 21 Oct 2015 17:17:49 +0000 (13:17 -0400)]
Fix formatting in BUILD.md

8 years agoBUILD.md: changed "_out64" to "build"
David Pinedo [Wed, 21 Oct 2015 14:03:06 +0000 (08:03 -0600)]
BUILD.md: changed "_out64" to "build"

8 years agodemos: fix tabs and line endings in vulkaninfo
David Pinedo [Mon, 19 Oct 2015 21:22:28 +0000 (15:22 -0600)]
demos: fix tabs and line endings in vulkaninfo

8 years agoDemos: output api version in vulkaninfo
David Pinedo [Mon, 19 Oct 2015 21:15:34 +0000 (15:15 -0600)]
Demos: output api version in vulkaninfo

8 years agoClarify parameter usage in memory_type_from_properties
Tony Barbour [Thu, 15 Oct 2015 18:42:56 +0000 (12:42 -0600)]
Clarify parameter usage in memory_type_from_properties

8 years agolayers: LX161, validate attachment references in subpasses
Mark Lobodzinski [Fri, 16 Oct 2015 15:17:27 +0000 (09:17 -0600)]
layers: LX161, validate attachment references in subpasses

For CmdClearColorAttachment, attachment ref must be in attachment
reference array of current subpass.

8 years agolayers: LX160, Validate Descriptor Set Image Aspects
Mark Lobodzinski [Fri, 16 Oct 2015 19:32:24 +0000 (13:32 -0600)]
layers: LX160, Validate Descriptor Set Image Aspects

Validated that Descriptor Sets do not have both the STENCIL and
DEPTH aspect bits set in their imageViews.

8 years agoloader: Clean up loader_platform file
Jon Ashburn [Thu, 15 Oct 2015 19:47:58 +0000 (13:47 -0600)]
loader: Clean up loader_platform file

8 years agoAdd subpass dependency validation.
Michael Lentine [Tue, 6 Oct 2015 21:56:18 +0000 (14:56 -0700)]
Add subpass dependency validation.

8 years agolayers: LX159, properly validate swapchain images
Mark Lobodzinski [Wed, 14 Oct 2015 19:16:33 +0000 (13:16 -0600)]
layers: LX159, properly validate swapchain images

Swapchain images are implicitly created and deleted, but must
be considered valid VkImage objects.

8 years agolayers: LX159, validate all descriptorSets in array
Mark Lobodzinski [Tue, 13 Oct 2015 17:50:56 +0000 (11:50 -0600)]
layers: LX159, validate all descriptorSets in array

DrawState was not using array index in dsUpdate.

8 years agolayers: LX159, pipelineCache CAN be Null.
Mark Lobodzinski [Tue, 13 Oct 2015 17:45:33 +0000 (11:45 -0600)]
layers: LX159, pipelineCache CAN be Null.

Fix for ObjectTracker to not error on NULL pipelineCache objects.

8 years agolayers: Remove MemTracker dead code
Mark Lobodzinski [Tue, 13 Oct 2015 19:45:56 +0000 (13:45 -0600)]
layers: Remove MemTracker dead code

8 years agocmake: Need glslang for tests as well as ICD
Courtney Goeltzenleuchter [Wed, 14 Oct 2015 23:00:44 +0000 (17:00 -0600)]
cmake: Need glslang for tests as well as ICD

8 years agocmake: Fix options for building on Windows
Courtney Goeltzenleuchter [Wed, 14 Oct 2015 23:00:19 +0000 (17:00 -0600)]
cmake: Fix options for building on Windows

8 years agocmake: Make all sub-components optional
Jason Ekstrand [Sat, 10 Oct 2015 15:43:07 +0000 (08:43 -0700)]
cmake: Make all sub-components optional

8 years agoloader: Use loc instead of location for getting the directory
Jason Ekstrand [Sat, 10 Oct 2015 15:33:37 +0000 (08:33 -0700)]
loader: Use loc instead of location for getting the directory

Without this, the VK_ICD_FILENAMES parameter ends up getting ignored

8 years agoUpdaing build to include vk_layer_utils
Michael Lentine [Wed, 14 Oct 2015 19:28:26 +0000 (14:28 -0500)]
Updaing build to include vk_layer_utils

8 years agoupdate_external_sources: Get Windows LunarGLASS build working again
Cody Northrop [Tue, 13 Oct 2015 16:30:27 +0000 (10:30 -0600)]
update_external_sources: Get Windows LunarGLASS build working again

Include the following changes:
- Enable SPIR-V rev 32 support
- Always delete previous LunarGLASS builds, just like glslang
- Disable Debug LunarGLASS build
- Change order of glslang build so that Release resides in install

8 years agolayers: Bug #14850, enforce validation for semaphore states
Mark Lobodzinski [Thu, 8 Oct 2015 16:44:07 +0000 (10:44 -0600)]
layers: Bug #14850, enforce validation for semaphore states

Added creation of driver-side semaphore objects.

8 years agoFix image aspect value passed to demo_set_image_layout
Tony Barbour [Mon, 12 Oct 2015 17:07:58 +0000 (11:07 -0600)]
Fix image aspect value passed to demo_set_image_layout

Addresses LunarExchange issue #156

8 years agolayers: Remove dependency between calls to vkCreateImage and vkGetPhysicalDevicePrope...
Tony Barbour [Fri, 9 Oct 2015 17:50:32 +0000 (11:50 -0600)]
layers: Remove dependency between calls to vkCreateImage and vkGetPhysicalDeviceProperties

8 years agodemos: Create a wider console on windows
David Pinedo [Fri, 9 Oct 2015 17:31:15 +0000 (11:31 -0600)]
demos: Create a wider console on windows

8 years agoLoader: Fix locking bug in CreateInstance
Jon Ashburn [Fri, 9 Oct 2015 15:40:30 +0000 (09:40 -0600)]
Loader: Fix locking bug in CreateInstance

8 years agoupdate_external_sources: move up to latest glslang
Greg Fischer [Thu, 8 Oct 2015 23:53:48 +0000 (17:53 -0600)]
update_external_sources: move up to latest glslang

Also remove a few redundant redundancies.

8 years agoloader: Remove unneeded defines
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 23:26:27 +0000 (17:26 -0600)]
loader: Remove unneeded defines

8 years agoloader: Use correct 64bit printf format for Windows
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 23:03:42 +0000 (17:03 -0600)]
loader: Use correct 64bit printf format for Windows

Fixes LunarXchange issue #145

8 years agolayers: Fix Windows compiler warnings
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 19:28:58 +0000 (13:28 -0600)]
layers: Fix Windows compiler warnings

8 years agolayers: Fix Windows compile warnings
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 15:00:34 +0000 (09:00 -0600)]
layers: Fix Windows compile warnings

8 years agolayers: clean up includes
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 14:38:30 +0000 (08:38 -0600)]
layers: clean up includes

8 years agolayers: Add DEBUG_OUTPUT support to swapchain
Courtney Goeltzenleuchter [Thu, 8 Oct 2015 23:07:25 +0000 (17:07 -0600)]
layers: Add DEBUG_OUTPUT support to swapchain

8 years agolayers: Add DEBUG_OUTPUT support to shader_checker
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:58 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to shader_checker

8 years agolayers: Add DEBUG_OUTPUT support to param_checker
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:45 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to param_checker

8 years agolayers: Add DEBUG_OUTPUT support to mem_tracker
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:26 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to mem_tracker

8 years agolayers: Add DEBUG_OUTPUT support to image
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:11 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to image

8 years agolayers: Add DEBUG_OUTPUT support to draw_state
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:58:38 +0000 (15:58 -0600)]
layers: Add DEBUG_OUTPUT support to draw_state

8 years agolayers: Add DEBUG_OUTPUT support to device_limits
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 20:51:41 +0000 (14:51 -0600)]
layers: Add DEBUG_OUTPUT support to device_limits

8 years agolayers: Add support for Windows DEBUG_OUTPUT logging
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 20:41:34 +0000 (14:41 -0600)]
layers: Add support for Windows DEBUG_OUTPUT logging

8 years agodemos: Add getting GetDeviceProcAddr entrypoint from GetInstanceProcAddr
Jon Ashburn [Thu, 8 Oct 2015 21:58:23 +0000 (15:58 -0600)]
demos: Add getting GetDeviceProcAddr entrypoint from GetInstanceProcAddr

Better test for the loader.

8 years agoloader: Support GetInsTanceProcAddr(inst, "vkGetDeviceProcAddr")
Jon Ashburn [Thu, 8 Oct 2015 21:59:17 +0000 (15:59 -0600)]
loader: Support GetInsTanceProcAddr(inst, "vkGetDeviceProcAddr")

8 years agolayers: Suppress error messages for undestroyed descriptorSets
Mark Lobodzinski [Thu, 8 Oct 2015 22:12:49 +0000 (16:12 -0600)]
layers: Suppress error messages for undestroyed descriptorSets

DescriptorSets are not explicitly destroyed. ObjectTracker will need to be
extended to handle these types of cases.

8 years agodemos: Remove swapchain workaround code and don't assume 2 buffers
Tony Barbour [Thu, 8 Oct 2015 20:26:24 +0000 (14:26 -0600)]
demos: Remove swapchain workaround code and don't assume 2 buffers

Addresses Lunar Exchange issue 153

8 years agodemos: Change WSI references to swapchain
Tony Barbour [Thu, 8 Oct 2015 19:59:42 +0000 (13:59 -0600)]
demos: Change WSI references to swapchain

Addresses Lunar Exchange issue 147

8 years agodemos: Animate tri via z-clipping
Tony Barbour [Thu, 8 Oct 2015 19:45:45 +0000 (13:45 -0600)]
demos: Animate tri via z-clipping

To address Lunar Exchange issue 146.  We still test/demo z-clipping while
displaying all of the triangle, at least some of the time.

8 years agolayers: Add DrawState check to flag error on vkFreeDescriptorSets from ONE_SHOT Pool
Tobin Ehlis [Thu, 8 Oct 2015 19:13:50 +0000 (13:13 -0600)]
layers: Add DrawState check to flag error on vkFreeDescriptorSets from ONE_SHOT Pool

Also added a layer validation test to flag this error

8 years agodemos/tests: Stop calling vkFreeDescriptorSets on pools with usage ONE_SHOT
Cody Northrop [Thu, 8 Oct 2015 17:38:24 +0000 (11:38 -0600)]
demos/tests: Stop calling vkFreeDescriptorSets on pools with usage ONE_SHOT

8 years agoWSI Validation: Ported better logging approach from generic layer.
Ian Elliott [Wed, 7 Oct 2015 22:18:35 +0000 (16:18 -0600)]
WSI Validation: Ported better logging approach from generic layer.

8 years agoWSI Validation: Move some things between .h and .cpp files.
Ian Elliott [Wed, 7 Oct 2015 17:32:31 +0000 (11:32 -0600)]
WSI Validation: Move some things between .h and .cpp files.

This will more-closely mirror what's being done in the generic layer, which was
the original source of this layer.

8 years agointel,layers,tests: move cmd_meta errors to validation
Mike Stroyan [Fri, 25 Sep 2015 19:39:21 +0000 (13:39 -0600)]
intel,layers,tests: move cmd_meta errors to validation

Add checks for alignment in DeviceLimits layer.
Add checks for type, format and sample count in Images layer.
Remove such checks from intel icd.
Add new validations to layer_validation_tests.

8 years agoOnly check LogicOp if it is enabled.
Michael Lentine [Tue, 6 Oct 2015 21:55:54 +0000 (14:55 -0700)]
Only check LogicOp if it is enabled.

8 years agolayers: Migrate DrawState global data structs to layer_data struct
Tobin Ehlis [Wed, 7 Oct 2015 21:40:22 +0000 (15:40 -0600)]
layers: Migrate DrawState global data structs to layer_data struct

DrawState maps are all now stored per-device and per-instance.
Also fixed a bug where renderPassMap ptrs were not being cleaned up.

8 years agolayers: DrawState migrate device and instance dispatch tables into layer data struct
Tobin Ehlis [Wed, 7 Oct 2015 15:38:40 +0000 (09:38 -0600)]
layers: DrawState migrate device and instance dispatch tables into layer data struct

This is first part of cleaning up DrawState. Need to migrate its global maps into the layer data struct as well so they are per device/instance and then single map look-up with get both layer data and dispatch tables.

8 years agolayers: In DeviceLimits move dispatch table to layer data struct
Tobin Ehlis [Tue, 6 Oct 2015 15:09:24 +0000 (09:09 -0600)]
layers: In DeviceLimits move dispatch table to layer data struct

All instance dispatch calls are made via instance_dispatch_table in layer data struct.
All device dispatch calls are made via device_dispatch_table in the layer data struct.
This saves map look-ups as a single call can be made to get the per device/instance layer data, including the dispatch table.

8 years agoupdate_external_sources: Fix svn LunarGLASS checkout for Linux
Cody Northrop [Thu, 8 Oct 2015 15:39:57 +0000 (09:39 -0600)]
update_external_sources: Fix svn LunarGLASS checkout for Linux

Don't checkout HEAD or rolling back one commit will delete files.

8 years agomisc: do not need pull if using git checkout
Courtney Goeltzenleuchter [Thu, 8 Oct 2015 15:06:53 +0000 (09:06 -0600)]
misc: do not need pull if using git checkout

Also remove unused R32 variable and file now that
we can get latest glslang from git.

8 years agolayers: Remove obsolete dbg message logging header
Jon Ashburn [Tue, 6 Oct 2015 23:20:01 +0000 (17:20 -0600)]
layers: Remove obsolete dbg message logging header

8 years agolayers: Add support for debug_report extension in generic layer
Jon Ashburn [Tue, 6 Oct 2015 23:05:21 +0000 (17:05 -0600)]
layers: Add support for debug_report extension in generic layer

Now Generic layer is better example of a validation layer

8 years agoloader: Fix comile warning on Window
Jon Ashburn [Wed, 7 Oct 2015 15:23:40 +0000 (09:23 -0600)]
loader: Fix comile warning on Window

9 years agoloader, icd: correct use of _aligned_malloc
Mike Stroyan [Tue, 6 Oct 2015 21:32:56 +0000 (15:32 -0600)]
loader, icd: correct use of _aligned_malloc

Memory allocated with _aligned_malloc on WIN32 should be released with _aligned_free.
If icd/common/icd-instance is ever used on WIN32 it will now use _aligned_free.

loader_aligned_heap_alloc and loader_aligned_alloc would require additional
matching loader_aligned*_free functions to be correct for WIN32.
But both functions are never used.  Just remove those functions for now.

9 years agolayers: Remove dead code from MemTracker
Mark Lobodzinski [Tue, 6 Oct 2015 21:05:54 +0000 (15:05 -0600)]
layers: Remove dead code from MemTracker

9 years agolayers: Fix DeviceLimits error return codes
Mark Lobodzinski [Tue, 6 Oct 2015 17:59:54 +0000 (11:59 -0600)]
layers: Fix DeviceLimits error return codes

9 years agolayers: Add validation for Image Aspect settings
Mark Lobodzinski [Mon, 5 Oct 2015 23:16:05 +0000 (17:16 -0600)]
layers: Add validation for Image Aspect settings

Image layer gets validation for image aspect settings laid out in the spec.

9 years agoloader: match free to alloc in dirent functions
Mike Stroyan [Tue, 6 Oct 2015 16:16:47 +0000 (10:16 -0600)]
loader: match free to alloc in dirent functions

closedir was using plain free instead of loader_tls_heap_free.

9 years agolayers: LunarXchange #145: Fix windows printf format errors
Mark Lobodzinski [Tue, 6 Oct 2015 15:57:52 +0000 (09:57 -0600)]
layers: LunarXchange #145: Fix windows printf format errors

Windows hates %zu. Changed to %lu and cast size_t to unsigned long.

9 years agoloader: Fix GetInstanceProcAddr for CreateDevice
Jon Ashburn [Mon, 5 Oct 2015 20:09:37 +0000 (14:09 -0600)]
loader: Fix GetInstanceProcAddr for CreateDevice

9 years agoDemos: increase console buffer size for vulkaninfo
David Pinedo [Fri, 2 Oct 2015 22:49:43 +0000 (16:49 -0600)]
Demos: increase console buffer size for vulkaninfo

9 years agoloader: Add warning message for unreconized layer names from env var
Jon Ashburn [Mon, 5 Oct 2015 15:03:21 +0000 (09:03 -0600)]
loader: Add warning message for unreconized layer names from env var

9 years agoupdate_external_sources: get glslang from gitlab
Greg Fischer [Fri, 2 Oct 2015 19:05:27 +0000 (13:05 -0600)]
update_external_sources: get glslang from gitlab

This is the new way to get the tools for private SPIR-V rev32

9 years agoupdate_external_sources: get glslang from gitlab
GregF [Fri, 2 Oct 2015 19:11:01 +0000 (13:11 -0600)]
update_external_sources: get glslang from gitlab

This is the new way to get SPIR-V rev32 source.

9 years agoOnly check blend state if blend is enabled.
Michael Lentine [Tue, 15 Sep 2015 19:59:56 +0000 (14:59 -0500)]
Only check blend state if blend is enabled.

9 years agoAdd basic validation for the shader module.
Michael Lentine [Tue, 15 Sep 2015 19:59:14 +0000 (14:59 -0500)]
Add basic validation for the shader module.

9 years agolayers: Add DrawState checks for dynamically set Viewport and Scissors
Tobin Ehlis [Fri, 2 Oct 2015 17:00:56 +0000 (11:00 -0600)]
layers: Add DrawState checks for dynamically set Viewport and Scissors

Make sure that counts from dynamically set viewport and/or scissors match the PSO counts.
Added tests to verify these cases.

9 years agolayers: Drawstate verify viewport and scissor state at PSO creation time
Tobin Ehlis [Thu, 1 Oct 2015 17:15:13 +0000 (11:15 -0600)]
layers: Drawstate verify viewport and scissor state at PSO creation time

Make sure that viewportCount and scissorCount match
If viewport is not dynamic, make sure viewport state is supplied and if viewportCount is non-zero, that viewport data is non-NULL.
If scissor is not dynamic, make sure scissor state is supplied and if scissorCount is non-zero, that scissor data is non-NULL.

Added tests to hit these new cases.

9 years agoloader: Fixes in trampoline code to support layers which wrap objects
Jon Ashburn [Wed, 30 Sep 2015 18:56:42 +0000 (12:56 -0600)]
loader: Fixes in trampoline code to support layers which wrap objects

Loader trampoline code may see wrapped objects.  Don't do value comparisons
of dispatchable objects but instead compare dispatch tables to find objects.
PhysicalDevice objects where may have multiple gpus with same instance dispatch
will be fixed in a later patch.

9 years agolayers: Validation -- updated layer validation doc file
Mark Lobodzinski [Thu, 1 Oct 2015 23:00:47 +0000 (17:00 -0600)]
layers: Validation -- updated layer validation doc file

Corrected validation layer error code.

9 years agoloader: fix use of freed memory
Mike Stroyan [Thu, 1 Oct 2015 21:23:48 +0000 (15:23 -0600)]
loader: fix use of freed memory

vkEnumerateInstanceExtensionProperties was using freed memory.
Avoid free of NULL pointers.

9 years agolayers: Updated README.md and details doc
Tobin Ehlis [Thu, 1 Oct 2015 21:26:33 +0000 (15:26 -0600)]
layers: Updated README.md and details doc

README.md was woefully out of date so this is a big improvement, but still more work to be done. May want to merge this doc with details doc in the future as they cover similar ground.

9 years agoBuild doc: Correction to the cmake command to be used for windows
David Pinedo [Thu, 1 Oct 2015 17:23:15 +0000 (11:23 -0600)]
Build doc: Correction to the cmake command to be used for windows

9 years agovulkaninfo demo: Reduce the size of the console window so it fits on smaller screens
David Pinedo [Tue, 29 Sep 2015 22:56:02 +0000 (16:56 -0600)]
vulkaninfo demo: Reduce the size of the console window so it fits on smaller screens

9 years agosdk: Update release notes for 0.9 SDK
Courtney Goeltzenleuchter [Mon, 28 Sep 2015 21:13:45 +0000 (15:13 -0600)]
sdk: Update release notes for 0.9 SDK

9 years agoloader: Fix vkGetInstanceProcAddr to handle debug_report extension
Jon Ashburn [Thu, 1 Oct 2015 18:03:17 +0000 (12:03 -0600)]
loader: Fix vkGetInstanceProcAddr to handle debug_report extension

Need loader entrypoints for debug_report extension including the utility
functions. Don't call down the instance chain GPA for this extension.

Remove instance extensions decoding when GPA instance == NULL as don't want
to return extension entrypoints unless they are enabled.
This meant the WSI swapchain instance GPA was no longer used so remove it.

9 years agolayers: Validate draw commands appropriately inside/outside render pass
Mark Lobodzinski [Wed, 30 Sep 2015 22:19:16 +0000 (16:19 -0600)]
layers: Validate draw commands appropriately inside/outside render pass

Updated DrawState layer and validation tests to check that all draw commands
are correctly called inside or outside (or either) of an active render pass.

9 years agolayers: Fix DrawState to correctly handle dynamic state from PSO and CmdSet* calls
Tobin Ehlis [Thu, 1 Oct 2015 15:24:40 +0000 (09:24 -0600)]
layers: Fix DrawState to correctly handle dynamic state from PSO and CmdSet* calls

Track which dynamic states are set via PSO and merge that with dynamic state set by CmdSet* cmds.

Updated viewport not set test to pass when scissor is flagged as missing. Currently scissor and viewport set together so scissor error masks viewport error.

9 years agolayers: DrawState allows callback to set fail on DescriptorType mismatch
Tobin Ehlis [Wed, 30 Sep 2015 14:30:20 +0000 (08:30 -0600)]
layers: DrawState allows callback to set fail on DescriptorType mismatch

If the update DescriptorType does not match the layout DescriptorType, DrawState would previously bail automatically. This update flags the error and will only bail if the callback return code is VK_TRUE, like with all other validation errors.

9 years agoMerge branch 'mlentine_layers4' into 'master'
Tobin Ehlis [Thu, 1 Oct 2015 15:44:50 +0000 (11:44 -0400)]
Merge branch 'mlentine_layers4' into 'master'

Make reseting an unsignaled fence a warning.

See merge request !38

9 years agoSet dynamic pipeline state as dynamic
Piers Daniell [Tue, 29 Sep 2015 19:01:09 +0000 (13:01 -0600)]
Set dynamic pipeline state as dynamic

9 years agoMake reseting an unsignaled fence a warning.
Michael Lentine [Thu, 24 Sep 2015 00:43:16 +0000 (17:43 -0700)]
Make reseting an unsignaled fence a warning.

9 years agoloader: Change GetXXProcAddr to support NULL dispatchable object
Jon Ashburn [Mon, 28 Sep 2015 22:15:00 +0000 (16:15 -0600)]
loader: Change GetXXProcAddr to support NULL dispatchable object

Also change GetInstanceProcAddr to return the first entry down the chain rather
than global (trampoline entrys) all the time when a non-null instance is passed.

9 years agolayers: DrawState handles dynamic state set via PSO
Tobin Ehlis [Tue, 29 Sep 2015 14:18:34 +0000 (08:18 -0600)]
layers: DrawState handles dynamic state set via PSO

For dynamic states flagged in PSO, consider them set at draw time.
Clarify various dynamic state error messages to make them more consistent with updated dynamic state API.
Add test for scissor not bound.

9 years agolayers: Intercept vkEnumerateInstance[Layer|Extension]Properties() funcs in DeviceLimits
Tobin Ehlis [Tue, 29 Sep 2015 18:26:00 +0000 (12:26 -0600)]
layers: Intercept vkEnumerateInstance[Layer|Extension]Properties() funcs in DeviceLimits