Chris Forbes [Wed, 30 Mar 2016 00:14:22 +0000 (13:14 +1300)]
layers: Make some SC error reporting slightly less misleading
We were reporting that device 0 was interesting. This is nonsense.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 29 Mar 2016 23:12:01 +0000 (12:12 +1300)]
layers: Separate out validation of a single pipeline stage
This is setting the scene for being able to validate compute shaders
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 29 Mar 2016 22:35:21 +0000 (11:35 +1300)]
layers: Add device handle in CV layer data
Avoids having to pass this around quite so much.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 29 Mar 2016 22:14:13 +0000 (11:14 +1300)]
layers: Remove dead render_pass forward declaration
This went away at the same time as the SC/DS merge.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 29 Mar 2016 21:20:37 +0000 (10:20 +1300)]
layers: Reduce noise in string conversion of objects
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Tue, 29 Mar 2016 21:18:33 +0000 (10:18 +1300)]
layers: remove unused getTIDIndex function and associated data
This produces warning noise and nobody uses it.
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Mark Lobodzinski [Tue, 29 Mar 2016 15:49:15 +0000 (09:49 -0600)]
layers: LX446, Allow GetDeviceQueue to be called multiple times
Calling this API more than once on the same queue hoses the fence
validation. Also switched queues container from vector to unordered set.
Change-Id: I524347fd11d3b30a66004cf62937d0446e70df22
Chris Forbes [Thu, 24 Mar 2016 01:14:45 +0000 (14:14 +1300)]
layers: Relax descriptor type match for texel buffers slightly
The descriptor doesn't really provide a sampler, but the consuming code
doesn't really look at one either.
Allow VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER to match against
OpTypeSampledImage with an image type having Dim=Buffer and Sampled=1.
Tobin Ehlis [Mon, 28 Mar 2016 17:18:19 +0000 (11:18 -0600)]
layers: GH195 Fix core_validation dynamic state checks
Overhauled validation of dynamic state based on latest details in the
VkPipelineDynamicStateCreateInfo section of the spec.
Because some of the state checks need to be predicated on different pipeline
state, removed the previous flag-based system for check predication and
made it more clear and explicit exactly which pipeline states were gating
each dynamic state check with "if" clauses in validate_draw_state_flags().
The biggest change here is for blend constants, which was the focus of the
referenced GH195. For this case, added blendConstantsEnabled bool to
PIPELINE_NODE and enable it by loop through all attachments to identify if
any have blendEnable set and use the blend constant in any of their
blendFactors.
Also updated all the tests that were affected by this change.
Change-Id: Iaba5d28986c83547575be1ff70b9ae7602435417
David Pinedo [Tue, 29 Mar 2016 22:29:00 +0000 (16:29 -0600)]
winrtinstaller: removed vulkaninfo from RT Start Menu
David Pinedo [Tue, 29 Mar 2016 22:26:50 +0000 (16:26 -0600)]
winrtinstaller: convert RT installer log file to ascii
Mark Lobodzinski [Fri, 25 Mar 2016 21:22:33 +0000 (15:22 -0600)]
layers: Improve core_validation image layout error message
Change-Id: I1e22ef9be4b1d8b22765e1150f828904334380eb
Mark Lobodzinski [Mon, 28 Mar 2016 20:34:40 +0000 (14:34 -0600)]
layers: Michael's fix for uninit'd data in FindLayout
Change-Id: Ia34d036e15a08c135cf3fb0ea4a80c12f2201ec7
Tony Barbour [Tue, 29 Mar 2016 21:14:59 +0000 (15:14 -0600)]
Remove device from layer_data_map at destroy in parameter_validation
Change-Id: I964302597c0cbcbb7bb8c73d55fd6b00ebe0e765
David Pinedo [Tue, 29 Mar 2016 19:46:12 +0000 (13:46 -0600)]
winrtinstaller: Add logging support to Windows Runtime Installer
Chris Forbes [Wed, 23 Mar 2016 23:06:35 +0000 (12:06 +1300)]
layers: Get rid of 1K limit on debug message length
Change-Id: I00246f3edd26078d634a8bd1f65755cafcc6467b
Jon Ashburn [Mon, 28 Mar 2016 20:43:53 +0000 (14:43 -0600)]
loader: Fix MSVC post-build event so copy with non-existent dir works
Change-Id: I4629b36c1fbde76ba025fa38937dfcd22bbd9157
Michael Lentine [Fri, 25 Mar 2016 22:53:53 +0000 (17:53 -0500)]
layers: Clarify message when query has not been performed.
Michael Lentine [Fri, 25 Mar 2016 22:06:04 +0000 (17:06 -0500)]
Revert "layers: Make layout checks warnings for pass begin."
This reverts commit
851d28e4759f45bebd151fe163a50741a9947ff0.
Jon Ashburn [Mon, 28 Mar 2016 17:29:14 +0000 (11:29 -0600)]
layers: update json to 1.0.7
Change-Id: I19e6d2a0518f99161bfea0de94b267c5c56fd1ae
Jon Ashburn [Mon, 28 Mar 2016 15:59:08 +0000 (09:59 -0600)]
header: update to version 1.0.7
Change-Id: I11fcbd2746b2d54f2256539a99eac6fe97070118
Jesse Hall [Mon, 28 Mar 2016 15:35:28 +0000 (08:35 -0700)]
Merge pull request #201 from critsec/vkjson-build-fixes
vkjson: Fix include paths and clang errors
Jon Ashburn [Mon, 28 Mar 2016 14:44:46 +0000 (08:44 -0600)]
demos: Change MSVC proj files to remove PATH and add VK_LAYER_PATH
The PATH is lower in search order so ICD that install loader in System32
which is now happening no longer find the local built vulkan-1.dll via the
PATH setting. Add the VK_LAYER_PATH so the local built layers get found.
Change-Id: I56097199a108e30fdf4787e09e62c8ca1544de91
Jon Ashburn [Fri, 25 Mar 2016 21:57:50 +0000 (15:57 -0600)]
cmake: Add post build event for MSVC for vulkan dll copy
This allows the demos and tests directories to find the locally
built vulkan-1.dll instead of that installed in the system32 directory.
Change-Id: I3177f4ba00d81addbd4df12e1d4f943d95824ff4
Karl Schultz [Fri, 25 Mar 2016 21:35:18 +0000 (15:35 -0600)]
demos: Fix 32-bit Windows compilation problem.
Karl Schultz [Fri, 25 Mar 2016 20:31:16 +0000 (14:31 -0600)]
demos: add missing signal.h to tri.
Change-Id: If1e509850506495126e827b8605e00fc3ef8c7f9
Karl Schultz [Fri, 25 Mar 2016 20:25:16 +0000 (14:25 -0600)]
demos: Implement --break for cube and tri.
This argument makes the program stop in the debugger on a
validation error. Only makes sense to use it with --validate.
Tony Barbour [Fri, 25 Mar 2016 19:04:20 +0000 (13:04 -0600)]
layers: DL - Get inheritedQueries support from physical device features
Change-Id: I6f9c045d6154d2c08aa2516caf8e250dcef22e84
Jon Ashburn [Fri, 25 Mar 2016 18:49:35 +0000 (12:49 -0600)]
loader: ghlvl#79, Fix to not report unsupported WSI surface extensions on Linux
Also fix issue where loader would advertise support for these extensions even if
the ICD or layers doesn't support it. Now ICD must report surface extensions
for the loader to report them. And on Linux if loader support for a given
surface extension (eg Mir) is compiled out then loader doesn't report it.
Change-Id: I51e302a32f5431f4893a3795ff31be60e9263f43
Jon Ashburn [Fri, 25 Mar 2016 18:47:06 +0000 (12:47 -0600)]
demos: Simplify vulkaninfo to not enable any extensions.
For the Linux WSI surface extensions where BOTH ICD and loader support is
needed for an extension to be supported there was an issue. If ICD supported
extensions was not equal to loader supported extensions vulkaninfo would error
exit.
Change-Id: Ib6e07d92491b04b1fb90cbf1c6793ae766944d50
Karl Schultz [Fri, 25 Mar 2016 19:21:25 +0000 (13:21 -0600)]
layers: Use vector::resize instead of reserve to avoid portability issue.
Fixes layer crash on Windows with cube --validate. On Windows,
std::vector won't bump up the size of a vector (up to the reserved
amount) on an out_of_range access, while linux will.
Mark Young [Thu, 24 Mar 2016 16:14:35 +0000 (10:14 -0600)]
layers: Fix issue when sub-passes have diff attachment count.
In core_validation, if the attachment count between a primary
and secondary sub-pass was different, then it should treat
the shorter one as UNUSED. So, if the longer one has the
attachment flags set to UNUSED, it shouldn't be an error.
Change-Id: I3647403551962ef522e7e2ba7ab10a5cb7466c52
Ian Elliott [Fri, 25 Mar 2016 15:54:04 +0000 (09:54 -0600)]
loader: Fix bugs found in code review.
Ian Elliott [Fri, 25 Mar 2016 15:07:19 +0000 (09:07 -0600)]
cube: Call vkCreateInstance so that it sets up a temporary callback.
Ian Elliott [Fri, 25 Mar 2016 14:43:01 +0000 (08:43 -0600)]
loader: Setup temporary callback for vkDestroyInstance
Tobin Ehlis [Thu, 24 Mar 2016 16:16:09 +0000 (10:16 -0600)]
layers: Replace ptr-to-ptr descriptor data struct with vector
We were using GENERIC_HEADER** ppDescriptors to track updates to slots.
This was pretty messy so make it a bit cleaner with a vector instead.
Michael Lentine [Fri, 25 Mar 2016 01:48:59 +0000 (20:48 -0500)]
layers: Add check for renderArea being within framebuffer bounds.
Karl Schultz [Fri, 25 Mar 2016 15:10:34 +0000 (09:10 -0600)]
layers: LX453 fix typo in output message.
Change-Id: I7ec8ba429a886bee14dd5a209fa6718941ec19d5
Michael Lentine [Fri, 25 Mar 2016 02:16:00 +0000 (21:16 -0500)]
layers: Make layout checks warnings for pass begin.
Michael Lentine [Fri, 25 Mar 2016 02:36:53 +0000 (21:36 -0500)]
layers: Update layout mismatch message to provide more detail.
Karl Schultz [Fri, 25 Mar 2016 00:43:41 +0000 (18:43 -0600)]
demos: Unify cmd arg handling between cube and tri.
Add --c (frame count) handling to tri to improve testability and
to bring it up to par with cube.
Fix exit code return in both cube and tri for Windows.
Change-Id: I27516b9fc0d13f25f5511ab159a80159c2550237
Jon Ashburn [Thu, 24 Mar 2016 23:26:59 +0000 (17:26 -0600)]
loader: Fix some typos from the recent WSI checkins: broke wayland
Change-Id: Ie25aaf462498eae7fcc31784015e22376e31a70a
Ian Elliott [Thu, 24 Mar 2016 21:49:02 +0000 (15:49 -0600)]
loader: Convert fprintf() calls to loader_log()
Ian Elliott [Thu, 24 Mar 2016 19:59:22 +0000 (13:59 -0600)]
layers: WSI functions should not work unless enabled.
The WSI extension functions are special. They are statically exported from the
loader. This means that an application can directly link against them, and not
have to call a vkGet*ProcAddr function. However, the application is still
reponsible for for enabling the appropriate WSI extension.
An application was observed that called the WSI functions without enabling the
appropriate extensions. It worked. When that application was run with the
validation layers, it crashed. A change was made to the layer to make sure
that an error was always logged. It was decided that the loader should change
so that the terminator functions not work (and print a brief message) if an
application calls the function without enabling its extension. This is done in
the terminator so that the validation layer can be called, which should log a
good error message; and yet still done here in case the application is never
tried with validation turned on.
Jon Ashburn [Thu, 24 Mar 2016 21:49:57 +0000 (15:49 -0600)]
loader: ghlvl 116 Fix CreateDevice to use the proper ICDs PhysDev
This is needed for querying extensoins from the ICD.
Change-Id: I5655d33d15bf0ea6de506f81821a30dd81ca3d5a
Tobin Ehlis [Thu, 24 Mar 2016 15:17:25 +0000 (09:17 -0600)]
layers: Migrate active_sets to active_slots
Previously for pipelines we were only tracking which sets were being used.
This change refined active_sets to active_slots. The slots include both the
set and the binding that are in use by the shader. This cleans up a couple
loops and prevents cases where we were checking inactive slots.
Michael Lentine [Thu, 24 Mar 2016 20:36:27 +0000 (15:36 -0500)]
layers: Fix layout transitions for combined aspect masks.
Cody Northrop [Wed, 9 Mar 2016 05:25:52 +0000 (22:25 -0700)]
android: Re-enable layer validation tests using shaderc and vulkan_wrapper
Mark Lobodzinski [Thu, 24 Mar 2016 19:38:40 +0000 (13:38 -0600)]
layers: Additional mutex fixes
Change-Id: I0b1678a97f962ec30903c9076f08668ec89fc981
Tobin Ehlis [Thu, 24 Mar 2016 18:50:14 +0000 (12:50 -0600)]
layers: GH177 Fix deadlocks
Fix some early return cases where lock wasn't correctly released.
Jon Ashburn [Thu, 24 Mar 2016 14:32:09 +0000 (08:32 -0600)]
layers: fix bad api version
Change-Id: I664a773b7e8dfd7453754227f6a424311c4aa734
Courtney Goeltzenleuchter [Tue, 22 Mar 2016 16:58:40 +0000 (10:58 -0600)]
GH171: Use relative path for building Android bits
Courtney Goeltzenleuchter [Tue, 22 Mar 2016 22:31:34 +0000 (16:31 -0600)]
GH171: Fix compiler warning
Courtney Goeltzenleuchter [Tue, 22 Mar 2016 22:27:25 +0000 (16:27 -0600)]
GH171: Fix for NDK packaging
Script depends on current working directory to
be this same as where the script lives so make
sure that's the case.
Return 0 so NDK tools know things were successful.
Chris Forbes [Wed, 23 Mar 2016 22:42:09 +0000 (11:42 +1300)]
layers: remove weird double assignment to pAttachments
Mark Lobodzinski [Tue, 22 Mar 2016 16:07:26 +0000 (10:07 -0600)]
layers: LX450, Tighten up queueFamilyIndex validation, fix crash
For CreateBuffer and CreateImage the QFIs should be ignored unless
sharingMode is set to CONCURRENT. Also added QFI validation to
CreateCommandPool and added a special case for when an index is
incorrectly set to QUEUE_FAMILY_IGNORED.
Change-Id: I17639230ea7aa58ab89b9b0dc33e55927e9f1c84
Tobin Ehlis [Tue, 22 Mar 2016 19:50:21 +0000 (13:50 -0600)]
layers: Merge renderpass maps in core_validation
Kill passMap, merge all renderpass data into RENDER_PASS_NODE and only use renderPassMap.
Tobin Ehlis [Tue, 22 Mar 2016 19:38:08 +0000 (13:38 -0600)]
layers: Merge framebuffer maps in core_validation
Add attachments container to FRAMEBUFFER_NODE and only use frameBufferMap.
Mark Lobodzinski [Mon, 21 Mar 2016 22:32:53 +0000 (16:32 -0600)]
layers: LX448, Prevent descriptorSetCount overflow in core_validation
Tracking descriptor and descriptorSet counts was incorrect, sometimes causing
integer overflow and application crashes for large createInfo values.
Change-Id: I92196659d6a7476582aa069e42c9a0d7228ba087
Mark Lobodzinski [Wed, 23 Mar 2016 20:34:52 +0000 (14:34 -0600)]
layers: Fix AV in core_validaton
Caused crashes in DOTA2
Change-Id: I74d121641872597a63ea42e13ff860112fc7c314
Mark Lobodzinski [Wed, 23 Mar 2016 20:33:02 +0000 (14:33 -0600)]
layers: Fix up MTMERGE in CV layer to allow disabling mem_tracker validation
Need this for debugging, it now works again. Renamed .cpp defines to
MTMERGESOURCE to prevent header file conflicts.
Change-Id: Ie144be32dedf8e9b370437583af60413043865ef
Ian Elliott [Wed, 23 Mar 2016 17:13:09 +0000 (11:13 -0600)]
layers: GH117: Change warning to an error.
Ian Elliott [Wed, 23 Mar 2016 14:28:54 +0000 (08:28 -0600)]
layers: GH117: swapchain layer warns if app uses neither semaphore nor fence.
This addresses github issue #117. Applications should call
vkAcquireNextImageKHR with either a valid semaphore and/or fence. Issue a
warning if both are set to VK_NULL_HANDLE.
Karl Schultz [Tue, 22 Mar 2016 23:06:13 +0000 (17:06 -0600)]
demos: cube exit status reflects validation status
Normal exit code is 0, but exit with code 1 if validation fails.
Change-Id: Ic8bb960b09e1b9f3274188eb4a30151ae6f3d0a0
David Pinedo [Tue, 22 Mar 2016 20:33:50 +0000 (14:33 -0600)]
winrtinstaller: sign Config powershell script
Jon Ashburn [Tue, 22 Mar 2016 19:57:46 +0000 (13:57 -0600)]
tests: Use header macro for API version rather than make_version
Change-Id: I454b5d2c4deea46712dff9d5c2af72af683f05a3
Jon Ashburn [Tue, 22 Mar 2016 18:57:13 +0000 (12:57 -0600)]
misc: Update to header version 1.0.6
Change-Id: Idf7a9d40278b796e16effa54e9b60668d275b8ec
Tony Barbour [Tue, 22 Mar 2016 19:23:24 +0000 (13:23 -0600)]
Remove device from layer_data_map at destroy in parameter_validation
Change-Id: Ife2286cc807288c9900b084f5f7c5a09d830f87a
Michael Lentine [Fri, 18 Mar 2016 19:11:44 +0000 (14:11 -0500)]
layers: Update event tracking to account for sequential cross command buffer and queue tracking.
Tobin Ehlis [Mon, 21 Mar 2016 20:14:44 +0000 (14:14 -0600)]
layers: Merge of cmd buffer maps in core_validation
This is the first step in killing cbMap from mem_tracker and merging
all cmd buffer tracking into commandBufferMap.
This removes all cbMap references, merges some data between the two maps
as appropriate, and replicates some of the mem_tracker data into the
GLOBAL_CB_NODE struct.
There is still some work to be done here in order to remove some of
the replicated data and improve some algorithms that use the
commandBufferMap to avoid duplicate efforts.
Karl Schultz [Tue, 22 Mar 2016 18:05:31 +0000 (12:05 -0600)]
build: Cleanup build_windows_targets.bat
- This batch file can be run in any of the three repos,
Vulkan-LoaderAndValidationLayers, VulkanTools, and VulkanSamples,
so remove comments suggesting otherwise.
- Replace spot-check for an artifact with checking errorlevel
from msbuild to discover build failures.
Michael Lentine [Mon, 21 Mar 2016 15:01:33 +0000 (10:01 -0500)]
layers: Fix message for array layers to say array layers.
Chris Forbes [Thu, 17 Mar 2016 22:07:59 +0000 (11:07 +1300)]
layers: tidy up PIPELINE_NODE a bit
V2: Incorporate review feedback
V3: Squash warning from printf(size_t).
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Thu, 17 Mar 2016 22:07:35 +0000 (11:07 +1300)]
layers: Slightly simplify descriptor uses loop in SC
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Tobin Ehlis [Mon, 21 Mar 2016 13:39:14 +0000 (07:39 -0600)]
layers: GH157 Update error messages to be consistent
Print dynamic offset in error messages as hex to be consistent.
Also fix typos of offet->offset
Tony Barbour [Mon, 21 Mar 2016 23:18:07 +0000 (17:18 -0600)]
layers: Add lock around erase from frameBufferMap in core_validation
Change-Id: I042573b54876e63c19140948a26d388934e1a3c9
Mark Lobodzinski [Mon, 21 Mar 2016 22:31:54 +0000 (16:31 -0600)]
layers: Fix core_validation layer cube --validate failure
Change-Id: Ice327b98f0befa0a605155b5ebe3dfe359db6020
Courtney Goeltzenleuchter [Sat, 19 Mar 2016 16:38:52 +0000 (10:38 -0600)]
layers: GH156 (bug-155): Check for WSI enables
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/155
Mark Lobodzinski [Mon, 21 Mar 2016 19:44:24 +0000 (13:44 -0600)]
layers: Fix windows issue in smoketest --validate
Change-Id: I50a7d39fcd4b6a9c895cfafd2405058e411220f4
Mark Lobodzinski [Thu, 17 Mar 2016 21:08:18 +0000 (15:08 -0600)]
layers: Rename param_checker to parameter_validation
Also, param_check.h -> parameter_validation.h and .json files changed.
Change-Id: I9db10563bcc2640fe6b90588d3c80c4fe50a8a83
Karl Schultz [Mon, 21 Mar 2016 16:59:53 +0000 (10:59 -0600)]
Remove faulty LineLength .clang-format directive.
The LineLength: 132 directive was making some clang-format
implementations stop working. The correct directive is
ColumnLimit.
We also had agreed that the ColumnLimit would be 80 for
all code in this repo except for layers. So remove the
directive here to keep 80 as the default and to reflect
current formatting.
The layers folder has a .clang-format file that correctly
specifies ColumnLimit: 132.
Change-Id: Ic7c2a575e7d52141e3ecbc2e3644210cd85e5ac9
Chris Forbes [Fri, 18 Mar 2016 03:30:03 +0000 (16:30 +1300)]
layers: Hold shader_module by unique_ptr, clean up properly
Signed-off-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 18 Mar 2016 02:49:58 +0000 (15:49 +1300)]
layers: More housekeeping: slightly lighten descriptor set compatibility
Chris Forbes [Fri, 18 Mar 2016 01:59:39 +0000 (14:59 +1300)]
layers: More housekeeping: use stringstreams for describe_type
Chris Forbes [Thu, 17 Mar 2016 22:26:06 +0000 (11:26 +1300)]
layers: Determine required descriptor count when stripping array levels
Chris Forbes [Thu, 17 Mar 2016 22:21:35 +0000 (11:21 +1300)]
layers: Add check for descriptor count
We're not really determining how many descriptors the binding needs yet,
so this only catches the descriptorCount==0 case.
Chris Forbes [Thu, 17 Mar 2016 22:14:27 +0000 (11:14 +1300)]
layers: Just return the whole binding struct from has_descriptor_binding
We're about to want the descriptorCount too. This was getting absurd.
Michael Lentine [Fri, 18 Mar 2016 19:49:09 +0000 (14:49 -0500)]
Allow REMAINING for subresources.
Michael Lentine [Thu, 17 Mar 2016 21:34:32 +0000 (16:34 -0500)]
layers: Track lifetime when using cross-queue semaphores.
David Pinedo [Fri, 18 Mar 2016 19:15:27 +0000 (13:15 -0600)]
winrtinstaller: Set up proper Access Control for install/temp dirs and files
This change addresses:
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/70
Also made a change to not require a reboot on uninstall if the install dir
is not empty. This partially addresses:
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/70
(A similar change needs to be made to the SDK installer.)
Dustin Graves [Thu, 17 Mar 2016 17:04:45 +0000 (11:04 -0600)]
layers: Additional null checks for param_checker
- Add null checks to validation code that dereferences potentially
null pointers.
- Add asserts to functions that expect certain pointers to never
be null.
Change-Id: I041b641289c9681ff9177bcec998fc95f6416985
Tony Barbour [Thu, 17 Mar 2016 16:24:10 +0000 (10:24 -0600)]
layers: Lock around changes to imageMap in image layer
Change-Id: I75382973eacf80e3ee84fb390c79bc7c19cc14d7
Tony Barbour [Thu, 17 Mar 2016 20:50:55 +0000 (14:50 -0600)]
layers: Lock around destroyedFramebuffers inserts in core_validation
Change-Id: I32754ae405c01acbde8a82ebaef0938a5e314f73
Mark Lobodzinski [Thu, 17 Mar 2016 19:59:51 +0000 (13:59 -0600)]
layers: Fix 'Debug Report callbacks not removed' error messages
Change-Id: If214e07ab7fd8e50af0528c36595bf92716357f3
Tobin Ehlis [Thu, 17 Mar 2016 19:37:40 +0000 (13:37 -0600)]
layers: Fix validation of vkCmdBindDescriptorSets() during renderpass
Spec allows vkCmdBindDescriptorSets() to be called inside or outside of a
renderpass so killing two core_validation checks that violate this behavior.
Tobin Ehlis [Wed, 16 Mar 2016 22:00:36 +0000 (16:00 -0600)]
layers: Consolidate VkDeviceMemory maps into a single map
There were three separate maps in core_validation.cpp that used VkDeviceMemory for key.
This change consolidates those maps into a single map with DEVICE_MEM_INFO as the value.
To accomadate this I added data to DEVICE_MEM_INFO struct to track mapped image/buffer
ranges as well as image reference for memory with mapped image.
Tobin Ehlis [Wed, 16 Mar 2016 20:20:54 +0000 (14:20 -0600)]
layers: Consolidate properties checks in core_validation
Remove global properties and only use properties from physDevProperties.properties.
Tobin Ehlis [Wed, 16 Mar 2016 20:12:47 +0000 (14:12 -0600)]
layers: Remove global wsi_enabled in core_validation
core_validation layer only needs wsi_enabled bool from devExts struct.
Tony Barbour [Thu, 17 Mar 2016 17:18:47 +0000 (11:18 -0600)]
layers: Lock around image and buffer range erases in core validation
Change-Id: Id975474ef331369e5dc57a24ea6051253fb657cf
Tobin Ehlis [Wed, 16 Mar 2016 19:52:20 +0000 (13:52 -0600)]
layers: Consolidate swapchainMaps in core_validation
Remove old mem_tracker swapchainMap and consolidate all swapchain tracking
into the devExts struct swapchainMap.