Jon Ashburn [Wed, 21 Oct 2015 22:09:27 +0000 (16:09 -0600)]
loader: Fix heap_realloc function to return newly allocated memory
LunarXchange issue #162
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.
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.
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
Tobin Ehlis [Tue, 20 Oct 2015 15:13:54 +0000 (09:13 -0600)]
layers: Added TODO comments to DrawState for missing validation checks
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".
Tobin Ehlis [Mon, 19 Oct 2015 18:09:13 +0000 (12:09 -0600)]
layers: Comment in DrawState for missing validation of DescriptorPool size limit
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
Tony Barbour [Tue, 20 Oct 2015 19:01:07 +0000 (13:01 -0600)]
demos: check return value from vkQueueWaitSemaphore
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
Cody Northrop [Wed, 21 Oct 2015 17:32:58 +0000 (13:32 -0400)]
Fix "_out64" -> "build" references accidentally removed
Cody Northrop [Wed, 21 Oct 2015 17:17:49 +0000 (13:17 -0400)]
Fix formatting in BUILD.md
David Pinedo [Wed, 21 Oct 2015 14:03:06 +0000 (08:03 -0600)]
BUILD.md: changed "_out64" to "build"
David Pinedo [Mon, 19 Oct 2015 21:22:28 +0000 (15:22 -0600)]
demos: fix tabs and line endings in vulkaninfo
David Pinedo [Mon, 19 Oct 2015 21:15:34 +0000 (15:15 -0600)]
Demos: output api version in vulkaninfo
Tony Barbour [Thu, 15 Oct 2015 18:42:56 +0000 (12:42 -0600)]
Clarify parameter usage in memory_type_from_properties
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.
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.
Jon Ashburn [Thu, 15 Oct 2015 19:47:58 +0000 (13:47 -0600)]
loader: Clean up loader_platform file
Michael Lentine [Tue, 6 Oct 2015 21:56:18 +0000 (14:56 -0700)]
Add subpass dependency validation.
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.
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.
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.
Mark Lobodzinski [Tue, 13 Oct 2015 19:45:56 +0000 (13:45 -0600)]
layers: Remove MemTracker dead code
Courtney Goeltzenleuchter [Wed, 14 Oct 2015 23:00:44 +0000 (17:00 -0600)]
cmake: Need glslang for tests as well as ICD
Courtney Goeltzenleuchter [Wed, 14 Oct 2015 23:00:19 +0000 (17:00 -0600)]
cmake: Fix options for building on Windows
Jason Ekstrand [Sat, 10 Oct 2015 15:43:07 +0000 (08:43 -0700)]
cmake: Make all sub-components optional
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
Michael Lentine [Wed, 14 Oct 2015 19:28:26 +0000 (14:28 -0500)]
Updaing build to include vk_layer_utils
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
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.
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
Tony Barbour [Fri, 9 Oct 2015 17:50:32 +0000 (11:50 -0600)]
layers: Remove dependency between calls to vkCreateImage and vkGetPhysicalDeviceProperties
David Pinedo [Fri, 9 Oct 2015 17:31:15 +0000 (11:31 -0600)]
demos: Create a wider console on windows
Jon Ashburn [Fri, 9 Oct 2015 15:40:30 +0000 (09:40 -0600)]
Loader: Fix locking bug in CreateInstance
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.
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 23:26:27 +0000 (17:26 -0600)]
loader: Remove unneeded defines
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
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 19:28:58 +0000 (13:28 -0600)]
layers: Fix Windows compiler warnings
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 15:00:34 +0000 (09:00 -0600)]
layers: Fix Windows compile warnings
Courtney Goeltzenleuchter [Wed, 7 Oct 2015 14:38:30 +0000 (08:38 -0600)]
layers: clean up includes
Courtney Goeltzenleuchter [Thu, 8 Oct 2015 23:07:25 +0000 (17:07 -0600)]
layers: Add DEBUG_OUTPUT support to swapchain
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:58 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to shader_checker
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:45 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to param_checker
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:26 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to mem_tracker
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:59:11 +0000 (15:59 -0600)]
layers: Add DEBUG_OUTPUT support to image
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 21:58:38 +0000 (15:58 -0600)]
layers: Add DEBUG_OUTPUT support to draw_state
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 20:51:41 +0000 (14:51 -0600)]
layers: Add DEBUG_OUTPUT support to device_limits
Courtney Goeltzenleuchter [Mon, 5 Oct 2015 20:41:34 +0000 (14:41 -0600)]
layers: Add support for Windows DEBUG_OUTPUT logging
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.
Jon Ashburn [Thu, 8 Oct 2015 21:59:17 +0000 (15:59 -0600)]
loader: Support GetInsTanceProcAddr(inst, "vkGetDeviceProcAddr")
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.
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
Tony Barbour [Thu, 8 Oct 2015 19:59:42 +0000 (13:59 -0600)]
demos: Change WSI references to swapchain
Addresses Lunar Exchange issue 147
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.
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
Cody Northrop [Thu, 8 Oct 2015 17:38:24 +0000 (11:38 -0600)]
demos/tests: Stop calling vkFreeDescriptorSets on pools with usage ONE_SHOT
Ian Elliott [Wed, 7 Oct 2015 22:18:35 +0000 (16:18 -0600)]
WSI Validation: Ported better logging approach from generic layer.
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.
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.
Michael Lentine [Tue, 6 Oct 2015 21:55:54 +0000 (14:55 -0700)]
Only check LogicOp if it is enabled.
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.
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.
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.
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.
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.
Jon Ashburn [Tue, 6 Oct 2015 23:20:01 +0000 (17:20 -0600)]
layers: Remove obsolete dbg message logging header
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
Jon Ashburn [Wed, 7 Oct 2015 15:23:40 +0000 (09:23 -0600)]
loader: Fix comile warning on Window
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.
Mark Lobodzinski [Tue, 6 Oct 2015 21:05:54 +0000 (15:05 -0600)]
layers: Remove dead code from MemTracker
Mark Lobodzinski [Tue, 6 Oct 2015 17:59:54 +0000 (11:59 -0600)]
layers: Fix DeviceLimits error return codes
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.
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.
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.
Jon Ashburn [Mon, 5 Oct 2015 20:09:37 +0000 (14:09 -0600)]
loader: Fix GetInstanceProcAddr for CreateDevice
David Pinedo [Fri, 2 Oct 2015 22:49:43 +0000 (16:49 -0600)]
Demos: increase console buffer size for vulkaninfo
Jon Ashburn [Mon, 5 Oct 2015 15:03:21 +0000 (09:03 -0600)]
loader: Add warning message for unreconized layer names from env var
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
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.
Michael Lentine [Tue, 15 Sep 2015 19:59:56 +0000 (14:59 -0500)]
Only check blend state if blend is enabled.
Michael Lentine [Tue, 15 Sep 2015 19:59:14 +0000 (14:59 -0500)]
Add basic validation for the shader module.
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.
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.
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.
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.
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.
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.
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
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
Courtney Goeltzenleuchter [Mon, 28 Sep 2015 21:13:45 +0000 (15:13 -0600)]
sdk: Update release notes for 0.9 SDK
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.
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.
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.
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.
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
Piers Daniell [Tue, 29 Sep 2015 19:01:09 +0000 (13:01 -0600)]
Set dynamic pipeline state as dynamic
Michael Lentine [Thu, 24 Sep 2015 00:43:16 +0000 (17:43 -0700)]
Make reseting an unsignaled fence a warning.
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.
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.