Tobin Ehlis [Mon, 11 Jan 2016 20:18:40 +0000 (13:18 -0700)]
layers: MR127, Update DrawState handling of non-updated descriptors
At CmdBindDescriptorSets() time, only warn on non-updated descriptor if that descriptor is not empty.
At draw time, if a descriptor is being used and it has not been updated, trigger an error.
Jon Ashburn [Mon, 11 Jan 2016 21:21:31 +0000 (14:21 -0700)]
loader: Update README.md for ICD<->loader interface
Jon Ashburn [Mon, 11 Jan 2016 21:41:35 +0000 (14:41 -0700)]
loader: Fix old ICD interface to not use vkGetInstanceProcAddr(NULL,)
GregF [Mon, 11 Jan 2016 21:03:24 +0000 (14:03 -0700)]
glslang: upgrade glslang version for SDK 1.0 IHV
Jon Ashburn [Mon, 11 Jan 2016 20:24:16 +0000 (13:24 -0700)]
header: Move to version 1.0.0 from 0.222
Whitespace only change.
Jon Ashburn [Mon, 11 Jan 2016 20:12:43 +0000 (13:12 -0700)]
misc: Move to Vulkan header version 0.222
Norbert Nopper [Mon, 11 Jan 2016 07:55:57 +0000 (08:55 +0100)]
layers: Gitlab 126, Fix for swapchain layer which was checking wrong pointer
Mark Lobodzinski [Fri, 8 Jan 2016 18:07:56 +0000 (11:07 -0700)]
layers: LX264, Validate immutable format bit in image layer
Mark Young [Fri, 8 Jan 2016 00:16:39 +0000 (17:16 -0700)]
Fixes: Fixed compiler warning about &
Someone checked in a bitwise & instead of a boolean comparison &&.
Mark Young [Thu, 7 Jan 2016 22:41:43 +0000 (15:41 -0700)]
Fixes: More compilation warning fixes
This fixes the main issues with VkBool32 versus bool.
Mark Lobodzinski [Fri, 8 Jan 2016 21:52:49 +0000 (14:52 -0700)]
layers: Gitlab 41 & 61, Fix invalid descriptor dereferences in helper codegen
Descriptor type arrays should only be dereferenced depending on the specified
descriptorType parameter. Caused crashes in api_dump.
Norbert Nopper [Fri, 8 Jan 2016 17:35:19 +0000 (18:35 +0100)]
layers: MR124, Fix semaphore ordering validation in mem tracker layer
Mark Lobodzinski [Fri, 8 Jan 2016 00:26:05 +0000 (17:26 -0700)]
layers: LX263, Validate minimum imageArrayLayers value in swapchain layer
Jon Ashburn [Thu, 7 Jan 2016 23:13:06 +0000 (16:13 -0700)]
layers: Fix unique_object gpa function; no intercept of func without an
NDO
Also fix bug in list of KHR functions for table.
Mark Lobodzinski [Tue, 5 Jan 2016 23:38:09 +0000 (16:38 -0700)]
layers: LX256, Suppress warnings on pre-signaled fences in MemTracker
Jon Ashburn [Thu, 7 Jan 2016 22:21:14 +0000 (15:21 -0700)]
misc: make sure host memory alignment is a power of two
Use sizeof(int) as a default generally. Is that reasonable?
Tobin Ehlis [Tue, 5 Jan 2016 17:33:58 +0000 (10:33 -0700)]
layers: MR123, Improved ObjectTracker codegen
Updated ObjectTracker to correctly generate the required permutations of validate_<object>()
functions. This removed some hand-coded functions from the header. Updated the codegen for
ObjectTracker to use improved dict from UniqueObjects that eliminates repeated "if" and
"for" blocks. Also updated valid null object checking to limit valid null object cases
to appropriate API calls.
Ian Elliott [Thu, 7 Jan 2016 17:55:02 +0000 (10:55 -0700)]
swapchain: MR122, queueFamilyIndexCount must be > 1 for CONCURRENT
This was clarified via "<validity>" language in the "vk.xml" file. It is the
case for VkBufferCreateInfo::queueFamilyIndexCount, and MR 995 will make it
consistent for VkSwapchainCreateInfoKHR::queueFamilyIndexCount.
Mike Stroyan [Thu, 7 Jan 2016 17:05:21 +0000 (10:05 -0700)]
layers: MR121, Use _BitScanForward for u_ffs on windows
The linux ffs function scans from least-significant-bit.
To match that, u_ffs on windows should use _BitScanForward instead of
_BitScanReverse.
Mark Lobodzinski [Thu, 7 Jan 2016 20:18:42 +0000 (13:18 -0700)]
layers: Output function names for deferred memory validation checks
Michael Lentine [Thu, 7 Jan 2016 01:17:59 +0000 (19:17 -0600)]
layers: MR119, Defer validation until command buffer has been submitted
Conflicts:
layers/mem_tracker.cpp
Jon Ashburn [Thu, 7 Jan 2016 18:53:56 +0000 (11:53 -0700)]
misc: Remove the unique_objects layer from being enabled in tests and demos
Tobin Ehlis [Wed, 6 Jan 2016 15:48:41 +0000 (08:48 -0700)]
tests: Fix a couple of test bugs revealed by unique_objects layer
Tobin Ehlis [Tue, 5 Jan 2016 23:34:59 +0000 (16:34 -0700)]
layers: UniqueObject updates based on review
Remove all of the DebugReport stuff, this layer doesn't use it.
Update some corner cases to make sure objects are correctly restored.
Tobin Ehlis [Tue, 5 Jan 2016 16:46:03 +0000 (09:46 -0700)]
layers: Updated UniqueObjects with improved codegen
Updated UniqueObjects object-use data struct so that generated code is much cleaner and handles a few of the more complex functions that were previously hand-coded. New data struct eliminates repeat "if" and "for" blocks.
Tobin Ehlis [Tue, 8 Dec 2015 17:50:10 +0000 (10:50 -0700)]
layers: Add UniqueObjects layer to wrap objects in unique ptr
This layer should sit at the BOTTOM of the layer stack (closest to the driver, furthest from the app). It interecpts all created non-dispatchable-objects and wraps them in a struct, returning that struct ptr up the chain.
For all API calls that use NDOs, this layer will unwrap them, and overwrite the wrapped handle with the actual handle before passing it down. Then, after calling down to the driver, the layer will re-overwrite the NDO handles with the original, wrapped handle.
When an NDO object is destroyed, the actual handle is passed down, then the wrap struct object is destroyed.
David Pinedo [Thu, 7 Jan 2016 18:12:23 +0000 (11:12 -0700)]
update_external_sources: backed out last commit, broke win64 build
Tobin Ehlis [Wed, 6 Jan 2016 17:27:47 +0000 (10:27 -0700)]
layers: Minor fixes to draw_state for new semaphore checks
Conflicts:
layers/vk_validation_layer_details.md
Michael Lentine [Wed, 6 Jan 2016 16:05:48 +0000 (10:05 -0600)]
layers: MR118, Add validation for semaphore ordering
Conflicts:
layers/draw_state.cpp
layers/draw_state.h
Michael Lentine [Tue, 29 Dec 2015 22:05:27 +0000 (16:05 -0600)]
layers: MR109, Fix second command buffer validation
Conflicts:
layers/draw_state.cpp
Mark Lobodzinski [Thu, 7 Jan 2016 17:04:02 +0000 (10:04 -0700)]
layers: MR108, Merge related updates and fixes
Also removed obsolete query test case from vkbase test
Michael Lentine [Tue, 29 Dec 2015 20:12:11 +0000 (14:12 -0600)]
layers: MR108, Validate get queries
Conflicts:
layers/draw_state.cpp
Jon Ashburn [Thu, 7 Jan 2016 16:46:26 +0000 (09:46 -0700)]
icd: Use new loader interface for finding ICD entry points Remove library exports on all Vulkan entry points but vk_icdGetInstanceProcAddr.
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.
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.
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.
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.
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.
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.
David Pinedo [Thu, 7 Jan 2016 03:30:34 +0000 (20:30 -0700)]
draw_state layer: add validateAndIncrementResources return value
David Pinedo [Wed, 6 Jan 2016 23:34:27 +0000 (16:34 -0700)]
Bump Windows ABI to 1
Mark Lobodzinski [Wed, 6 Jan 2016 22:26:17 +0000 (15:26 -0700)]
layers: Update layer details doc for new validation errors
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
Mark Lobodzinski [Wed, 6 Jan 2016 21:58:59 +0000 (14:58 -0700)]
layers: MR82, merge-related fixes
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
Mark Lobodzinski [Wed, 6 Jan 2016 19:56:29 +0000 (12:56 -0700)]
layers: LX259, Clarify draw_state accessMask warnings
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
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.
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.
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.
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.
Ian Elliott [Tue, 5 Jan 2016 21:03:16 +0000 (14:03 -0700)]
Swapchain: Update my authorship to include Google.
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.
Ian Elliott [Tue, 5 Jan 2016 20:00:50 +0000 (13:00 -0700)]
Swapchain: No longer validate VkDevice (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).
Ian Elliott [Tue, 5 Jan 2016 19:18:50 +0000 (12:18 -0700)]
Swapchain: No longer validate VkInstance (object_track will do).
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.
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.
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
Ian Elliott [Thu, 31 Dec 2015 00:39:02 +0000 (17:39 -0700)]
Swapchain: Fixes and improvements validating vkCreate*SurfaceKHR().
Ian Elliott [Wed, 30 Dec 2015 00:52:10 +0000 (17:52 -0700)]
Swapchain: Fixes and improvements validating vkAcquireNextImageKHR().
Ian Elliott [Thu, 31 Dec 2015 00:07:17 +0000 (17:07 -0700)]
Swapchain: Fixes and improvements validating vkQueuePresentKHR().
Ian Elliott [Wed, 30 Dec 2015 21:55:41 +0000 (14:55 -0700)]
Swapchain: Fixes and improvements validating vkCreateSwapchainKHR().
Ian Elliott [Wed, 30 Dec 2015 20:14:36 +0000 (13:14 -0700)]
Swapchain: Rework the way that pCount is dealt with.
Ian Elliott [Wed, 30 Dec 2015 19:00:54 +0000 (12:00 -0700)]
Swapchain: Added NULL_POINTER checks & pCount checks.
Ian Elliott [Wed, 30 Dec 2015 19:04:43 +0000 (12:04 -0700)]
Swapchain: Update TODOs
Ian Elliott [Wed, 30 Dec 2015 17:18:47 +0000 (10:18 -0700)]
Swapchain: Support vkGetPhysicalDevice*PresentationSupportKHR().
Ian Elliott [Wed, 30 Dec 2015 01:00:50 +0000 (18:00 -0700)]
Swapchain: Update vk_validation_layer_details.md for new errors.
Ian Elliott [Wed, 30 Dec 2015 00:35:46 +0000 (17:35 -0700)]
Swapchain: Port to latest (v217) WSI & VK_EXT_debug_report extensions.
Ian Elliott [Mon, 28 Dec 2015 22:23:57 +0000 (15:23 -0700)]
Swapchain: Enhance validation of vkCreateSwapchainKHR().
Ian Elliott [Mon, 28 Dec 2015 22:25:33 +0000 (15:25 -0700)]
tri/cube: : Support the new VkCompositeAlphaFlagBitsKHR.
Ian Elliott [Mon, 28 Dec 2015 22:04:49 +0000 (15:04 -0700)]
Swapchain: Replace implementation of presentModeStr()
Ian Elliott [Tue, 29 Dec 2015 23:45:49 +0000 (16:45 -0700)]
Swapchain: Rename deviceSwapchainExtensionEnabled->swapchainExtensionEnabled
Ian Elliott [Tue, 29 Dec 2015 23:44:39 +0000 (16:44 -0700)]
Swapchain: Rename swapchainExtensionEnabled->surfaceExtensionEnabled
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".
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
Tobin Ehlis [Wed, 6 Jan 2016 17:03:38 +0000 (10:03 -0700)]
layers: Add documentation for new INVALID_ALIASING check in mem_tracker
Mark Lobodzinski [Wed, 6 Jan 2016 17:56:16 +0000 (10:56 -0700)]
layers: Complete make-dependency fix
Cody Northrop [Wed, 30 Dec 2015 18:53:18 +0000 (11:53 -0700)]
toolchain: Add spirv-tools to Windows script
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)
Cody Northrop [Tue, 29 Dec 2015 21:42:24 +0000 (14:42 -0700)]
toolchain: Add spirv-tools to update_external_sources.sh
Michael Lentine [Tue, 5 Jan 2016 17:10:15 +0000 (11:10 -0600)]
Android build fixes.
David Pinedo [Wed, 6 Jan 2016 16:59:58 +0000 (09:59 -0700)]
windows RT installer: Remove include files. Cosmetic changes to nsi file.
Mark Lobodzinski [Wed, 6 Jan 2016 00:17:55 +0000 (17:17 -0700)]
layers: Fix circular make depency
GregF [Tue, 15 Dec 2015 19:03:48 +0000 (12:03 -0700)]
glslang: move to latest version
Michael Lentine [Tue, 22 Dec 2015 23:30:09 +0000 (17:30 -0600)]
layers: MR105, Add aliasing check for buffer/image overlap
Mark Lobodzinski [Tue, 5 Jan 2016 20:35:29 +0000 (13:35 -0700)]
layers: LX260, Clean up AccessMask validation message in DrawState
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
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
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.
David Pinedo [Mon, 4 Jan 2016 23:38:15 +0000 (16:38 -0700)]
WindowsRTInstaller: Fix typo in command in nsi script
David Pinedo [Mon, 4 Jan 2016 23:31:57 +0000 (16:31 -0700)]
Windows Runtime Installer: Initial creation in LoaderAndTools
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.
Mark Lobodzinski [Mon, 4 Jan 2016 22:54:59 +0000 (15:54 -0700)]
layers: Enable fine-grained filtering of swapchain 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.
Mark Lobodzinski [Mon, 4 Jan 2016 20:48:15 +0000 (13:48 -0700)]
layers: Enable fine-grained filtering of param_checker 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
Mark Lobodzinski [Mon, 4 Jan 2016 20:32:45 +0000 (13:32 -0700)]
layers: Enable fine-grained filtering of image layer 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
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