| Age | Commit message (Collapse) | Author |
|
Device object validation required dereferencing possibly bad device
objects. Moved ownership of device objects to instance objects, and
to search each of the layer_data object lists for a created device
handle matching the our candidate device object.
Change-Id: If5615294c397ff6991d4d21ac75ab58d1b0b0841
|
|
- updated vulkan.h
- updated vk.xml
- updated Win/Lin json files
- rebuilt and updated vulkan.hpp
- updated vk_validation_error_database.txt
- updated vk_validation_error_messages.h
- added new code-generated VUIDs (16) to error database
- modified object tracker for VUID corner-case
- updated vulkaninfo.c for STYPE name change
Change-Id: I0870e8bc4e84867e05bd466c13c7428b9b7365ac
|
|
Codegen creates its own prototypes, no longer need them in the header
file.
Change-Id: Ibaab124a26391dc4925e49f095ddac83523aa725
|
|
One of the DebugMarkerSetObjectName parameters changes to const.
Change-Id: I23455957b83a84983bc7217a2a0d937ae03055e2
|
|
Special case function must avoid code generation.
Change-Id: I7c03cb2c0b4053f3d2b0579d532f1da82be80bd4
|
|
Special case function must avoid code generation.
Change-Id: I786d4ef4a8855f10e9cfe1234a5d885056f50a93
|
|
Moved to manually-generated, it has an odd corner case that's a one-
off and not worth code-generating.
Change-Id: I2631dd2107fffcd7e641b5a98bee126502d61ba8
|
|
Change-Id: Iacc0cb2676cd2346879d7d51e91b9b75232d5ad4
|
|
Moved to-be-generated source to object_tracker.cpp, manually-
written and helper functions to object_tracker_utils.cpp (new
file), and reworked header. Updated doc validator to search
new file.
Change-Id: I0fd3bcc4f6d123db07c7f8e2633e6fe16833e231
|
|
Change-Id: I926836e429a2f38c35291702ab9f71b6d1834d7f
|
|
Update object_tracker validation for swapchain objects in new functions
for VK_GOOGLE_display_timing extension.
Add in missing Error IDs and update database.
|
|
Updated LVTs for error string changes as well.
Change-Id: I5e0da92a9859e8ada7374af42a21a3f8f7629fdd
|
|
Change-Id: I2166407bffcbf037d9b7898d91c674ed60fc95ba
|
|
Change-Id: Iec29cc46df0f12d7e1da4daa18fb02d5023151b5
|
|
Updated all necessary files to 1.0.42. This includes the various
headers as well as the loader, and the parameter validation, object
tracking, and threading layers. Additionally, bump all layer JSON
files to 1.0.42.
Also, in this change:
- Enable loader extension automation so that the loader now
generates all extension entry-points automatically during build
to reduce likelihood of missing a critical piece on header
update.
- Enable layer dispatch table extension automation for the same
reason.
- Fixes from Mark Lobodzinski and Tony Barbour to resolve crash
in loader when working with Intel's Windows driver due to
GetInstanceProcAddr getting called on inappropriate command
names.
Change-Id: Ic18d3fac2e145c386c0192031deb5089c91a00d8
|
|
Switch clang-format standard from the LLVM style to the
Google style for more consistency.
Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
|
|
Bring all source files in the repo up to date with consistent
coding style/standard.
Change-Id: Iceedbc17109974d3a0437fc4995441c9ad7e0c23
|
|
Add new extensions for 1.0.39. Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
- VK_KHR_get_physical_device_properties2
- VK_KHR_shader_draw_parameters
- VK_EXT_direct_mode_display
- VK_EXT_display_surface_counter
- VK_EXT_display_control
Also, redo the LoaderAndLayerIf document.
Change-Id: I10412086da7a798afe832a3892e18f606259b5af
|
|
Added extension enable and function stubs for VK_KHR_display
extension functions to object_tracker.
Change-Id: Iaee862efaadf4657271b74d75a289dbaf13af26c
|
|
Fixes #1074
Object_tracker and parameter_checker intercept DebugMarker extension
functions which may not be supported by underlying device and
therefore could terminate with a NULL function call.
Updating these layers to handle this case by making sure that their
downstream function ptr is not null before calling down the chain.
If the downstream function ptr is null, considering that VK_SUCCESS
in the layers for functions with VkResult return code.
|
|
Fixed using display extension only crash.
Added vkGetDisplayPlaneCapabilitiesKHR.
Fixes, that unique objects works for display extension.
Change-Id: I66727a430b9d55bfa40fdddc884f40c91aa29f11
|
|
Signed-off-by: Chris Forbes <chrisforbes@google.com>
|
|
The loader really should validate that the WSI extensions are
enabled before being called. Additionally, I needed to add
more checks for the KHR_display_swapchain extension in the
parameter_validation and object_tracker layers.
Change-Id: I3d07d46baf551be6f5f07e5374d6c683e3f52e7e
|
|
This moves a static array of maps to be a vector of maps.
Building android from Windows crashes clang without this change.
clang in the NDK doesn't like arrays of unordered_maps.
|
|
Change-Id: I1cf485ddb54223b873746ff218f0f34085a87450
|
|
Removed dead code, added per-instance and per-device object tracking,
(this was broken in codegen'd version with no cross-device
validation), updated for new layer architectures and coding standards,
removed OT-related codegen -- it is now a standalone cpp file.
Change-Id: I64464b855e1b4841c8e3a581387e0e9065b006f7
|
|
Move the GIPA setup of the dispatch tables for layers into
the layer_init_device_dispatch_table call since we're already
doing a majority of it there. This removes the need to separately
setup the WSI extension entry-points.
Additionally, memset the table to 0, just to make sure anything
that gets added in the future is obvoiusly not set.
Change-Id: I63c7c107cd9f7957e2766fdbeb8a06bc1ae0eda6
|
|
For Android remove KHR_display entry points from intercept generation and
from header files.
Change-Id: Ic1386a94a2229c45a1ffaac3651326324105351e
|
|
For displayModeKHR there are two separate Vulkan commands that can
create these objects.
For displayKHR there is one command that creates the object:
GetPhysicalDeviceDisplayPropertiesKHR. GetDisplayPlaneSupportedDisplaysKHR
doesn't create new objects but returns existing objects. The existing code
had the creation in GetDisplayPlaneSupportedDisplaysKHR rather than in
GetPhysicalDeviceDisplayPropertiesKHR.
Change-Id: I63df7c41a0d17acd8b06ebb1a5742ac032159a09
|
|
Swapchain, object_tracker and unique_objects now intercept and perform
validation checks for this extension.
Change-Id: I2e78d1dc516103de165ef83b99665eaad05b73d9
|
|
Add support for this extension to object_tracker and swapchain layers.
Change-Id: Ifdf6095958a9d9d01720fde92e0bbd0a8a9a3216
|
|
Object_tracker had no notion of individual WSI extension flags,
and unique_objects was not checking them.
Change-Id: I93c1aa0c324aa602717f36e2975120dba8bc364e
|
|
Save VkInstance in layer_data so that we query vkCreateDevice with a valid
instance.
|
|
Move everything into namespace object_tracker and unique_objects
respectively. I had to add some wrappers to make everything work.
|
|
C++ reserves variable names that start with an underscore followed
by a capital letter. This patch series replaces or removes these
invalid variable names from the LVL codespace.
Change-Id: I71368cf30e267841cedcc3861afa3444689d71da
|
|
Several places in object_tracker were not properly deleting data
structures, which caused signicant memory leaks.
Change-Id: Ie64ab18efecc45838e103dd7a8cb5f75c92155c4
|
|
1) Introduce convention of explicitly placing "0x" before hex
format requests for clarity (don't use "%#")
2) All lower case in hex output (except w/stringstream which refuses
to do anything but uppercase, possibly only on windows).
3) Decorated pointers are printed for all Vulkan structure types.
3) Some intelligence in generators based on Vulkan variable name:
if the Vulkan variable name contains ("flag", "bit", "offset",
"handle", "buffer", "object", "mask") it will be output in
hexadecimal format
4) Remove "using namespace std;" from global scope of vk_struct_string_helper_cpp.h
Change-Id: Idbae73bfdaa3bc059543d43b209373cd0bcbc099
|
|
Change-Id: If937c4c5aca0dc274aa67a9b52b99909723f082c
|
|
Return codes weren't plumbed through, failures caused layer crashes.
Change-Id: If258d449a420d33b6c72dc5c289d77c7215f2c2f
|
|
Change-Id: I6f759890749fb17226e00d28ab8391dc7cc0e80c
|
|
Change-Id: I3244f8da58a7f150ebfa772a7c131422f75d0d8b
|
|
Change-Id: Ic1ab57e5b4192ed98df8c7e6fc8c225aff631fd8
|
|
Warning as error, struct field initialization not matching
order of declaration.
|
|
This is implements some relatively-new functionality of the VK_EXT_debug_report
extension. An application can pass VkDebugReportCallbackCreateInfoEXT structs
on the pNext chain given to vkCreateInstance(), in order to setup one or more
callbacks that can be used during vk{Create|Destroy}Instance(). These special,
"temporary callbacks" allow messages (e.g. errors) to be logged during the time
when the debug_report extension is normally not setup.
A set of utilities copy VkDebugReportCallbackCreateInfoEXT structs from the
pNext chain given to vkCreateInstance(). These utilities are used by the
validation layers that may have messages (e.g. errors) during
vk{Create|Destroy}Instance().
|
|
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
|
|
A couple of bugs in object_tracker hand-coded sections that MarkY tracked down.
In DestroyInstance case we were attempting to delete wrong map key.
Then, for vkDestroyCommandPool we were using wrong function to clean-up the
command buffers in that pool which would result in occassional crashes.
|
|
Change-Id: I5f9ed9dc92daccaada895808e3fea3189ef81212
|
|
Also removed dead code from the layer generation script.
Change-Id: I64fdcaaf1aed8152de62079568c8e247333d8c61
|
|
Change-Id: I318e3759829f33441e57aafedec1e9ec06d658c4
|
|
Upon DestroyInstance, OT indicated that all objects in all maps were
not properly destroyed. Made this reporting work on a per-instance basis.
Change-Id: I9b4eae4364a24597cb449610a31bf9b872c45225
|