| Age | Commit message (Collapse) | Author |
|
Change-Id: I560dda7156d8550af6b7073eb7fcd0a14aa97131
|
|
|
|
The size argument to a call to memcpy is for the wrong struct. The type
of `ext->list[idx].props` is VkExtensionProperties.
Credit goes to AddressSanitizer for spotting this bug.
|
|
Fix the environment variable usage of VK_LOADER_DISABLE_INST_EXT_FILTER
so that it will also ignore the unknown extensions during
vkCreateInstance and clean up a few more messages.
The previous messages were confusing and didn't indicate what
was actually wrong.
Change-Id: Iccd0a4b2cfd673187cb7e92fe9cec23deb058ff2
|
|
Add support for VkPhysicalDeviceFeatures2KHR and
VkDeviceGroupDeviceCreateInfoKHX structs in the pNext chain
of VkDeviceCreateInfo for emulated physical devices
Change-Id: Ib00e35546f064f57f987d8eda14fba17bceab52c
|
|
Change-Id: I662a6a182680ef7da6ad51a738fcc5aaff54f043
|
|
Fix how the loader handles realloc calls. Instead of always overriding
the pointer, check to see if the allocation succeeds.
Also, set the paths in our run_all_tests.ps1 to global paths.
Finally, fix a spelling error in the test names.
Change-Id: I7b2e0d246dbe6353d29fb56367397c5d8767aaa2
|
|
Expand loader_platform_open_library_error on Windows to include
the error message from GetLastError();
Also, modify the loading of the layer library to use the
loader_platform_open_library_error message sincce we want
to get as much error information in that as possible.
And fix a typo in a comment.
Change-Id: I1ef5ede8c6716c4624b31ddb3b32b83392920a6c
|
|
This doesn't completely satisfy GH 1675, but at least resolves a
few of the holes discovered by @randomascii.
Change-Id: Idb2273851e36d4470d2f14cb09d6ac1c314497a8
|
|
In the case we remove a meta-layer, use memmove once, not in an
array.
Change-Id: Ia7496c4436e987011a0ad504a096c15f9d320c28
|
|
Fix some potential issues discovered by Karl in the code review.
Also, fix CMake warning on newly added VkLayer_standard_layer.
The CMake generation code I had been using expected a project with
the same name as the JSON.
Change-Id: I8738ff03ac08bcfc13aa8d11c570a0b507de450a
|
|
Use the meta-layer Manifest API version to check against each
of its component layer API versions. This will force us to
make sure each JSON file is properly updated in sync.
Add a section to the LoaderAndLayerInterface markdown doc about
the usage of meta-layers, and an example of how they look in a
Manifest JSON file.
Change-Id: I667cfd3013cbcf201c83935dc6f1c2bb937c7742
|
|
This fixes a bug found by Timothee Besset regarding calling
vkEnumerateDeviceLayerProperties when no layers are present. This
resulted in a negative number being filled into a uint32_t which
caused an invalid number of layers to be returned.
Now that we have meta-layers implemented instead of hard-coded,
I created two lists: an application provided list of layers, and
an expanded list of layers (where meta-layers are broken up into
their component layers). The former is used when working with the
enumerate calls, but the later is used internally for final layer
activation.
Change-Id: If723fdfb5acb1dc57923282d2c641c582870ad1c
|
|
Integrate Lenny and my changes for Meta-layers.
Includes adding initial JSON file for standard_validation.
Change-Id: Ibc1da464fad4949e14e171dbc7dd9990621e1081
|
|
Restrict the loader's JSON errors when reading ICD manifest files
to only return an overall error if there are no valid drivers.
Change-Id: I10edb1cdc7e4db9cfdc0b3595416f0614ed22867
|
|
Resolve missing struct sType as well as extern of
vkNegotiateLoaderAndLayerInterface as a C function. Finally,
bump up the JSON file version so it looks for the negotiate
function.
Change-Id: I7fd4784fce6cbd0c303f7b2bb354542e4b16b1df
|
|
Change-Id: Ia72feb84bcc8bfa479694e901beb4fa685fdfdf3
|
|
This allows non-cmake platforms to compile the loader. Use a define
named VULKAN_NON_CMAKE_BUILD to disable CMAKE-specific features.
Change-Id: I6f6d8731fe1be60fd138e9fe1006c913fb029b47
|
|
vkEnumeratePhysicalDeviceGroupsKHX was not properly generating the
physical device information or groups. Several changes resolve
most of the issue, however, I'm still seeing issues when certain
layers enabled.
Change-Id: Id8d4553da25491a3d0a97e8d44e21340b41bc09c
|
|
This fixes the a few occurences in demos, the loader and a test.
It also adds the warning to the always-on list so it will prevent
future regressions.
Fixes #1587.
Change-Id: I26f69e977b57749a3ab4ddb548ada95384131edc
|
|
Fields of json_version were left uninitialized if file_format_version
in a layer json file was incomplete. Initialize them to 0.
|
|
Cleanup enabled extension array pointer passed down to driver.
If the loader overrode the create info struct, the pointer
could be garbage if the enabled extension count was 0. Now,
make sure it is NULL.
Change-Id: I558d768e786892e7afc44f58b4173a2b8db3deee
|
|
secure_getenv should only be used on something that is security
sensitive. Certain environment variable settings do not fall
into that category. So, only use it when necessary.
Change-Id: Ib8b8dc1a1528a2f67f7cdc25051be078292ee19a
|
|
The previous check was against the compiler, not against the libc.
Implement the check in CMake and generate a new header file which
defines appropriate defines (loader_cmake_config.h).
Change-Id: I2ae0e8d482fb4ce13089128157c11d18b0c178b9
|
|
Fix some spelling errors (caught by VS2017 spelling extension) and
a few floating func defs that are no longer valid.
Change-Id: Ifd9394227dfe3b3255c27429dadaf405433232d2
|
|
Use secure_getenv always if it's available. If it's not available,
fall back to getenv (because some libc's, like musl, don't export
secure_getenv).
Change-Id: I0cae57e1048dcbbadbdd9cc71cc17d51706161a0
|
|
The loader will now seach HKEY_CURRENT_USER in addition to
HKEY_LOCAL_MACHINE when looking up layers in the registries.
Change-Id: I899dc7d65a2fe08f1e471fa8dccba5255f8ef7b7
|
|
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
|
|
This makes it easier for non-FHS distributions to behave well when the
loader is used by a SUID process or in an otherwise unusual environment.
|
|
Fixed a few places a strcpy or strcat could overrun.
Change-Id: I58184bd418ae5ee4596a40bf66ef2ab41400ee55
|
|
Fixes #1474
Fix path parsing code to handle leading and trailing
path separators. Also handle contiguous path separators.
When encountering something like ::: in the path, the old
code would add multiple entries containing only the
relative part of the path (e.g., /vulkan.icd.d).
|
|
Add an environmental variable to disable the instance extension
filtering. Simply defining VK_LOADER_DISABLE_INST_EXT_FILTER to
a non-zero number will disable the functionality.
Change-Id: I953814b49e87289a35f154755521d5433474c920
|
|
Fix a memory leak in the CTS test which fails randomly during
the vkCreateInstance call.
Change-Id: Ie72feac730d3854cb2af9e13a3687aa43081bfd5
|
|
Searching XDG_CONFIG_DIRS and XDG_DATA_DIRS instead of hard-coding
specific paths improves portability, particularly on platforms which
don't implement the Filesystem Hierarchy Standard. For example, this
allows the loader to function correctly out of the box on NixOS.
|
|
Fixes #1388
Turn on the Windows compiler option (4456) to report
hidden declarations.
Fix all places where this was occurring.
Change-Id: I3346d87da8b70d6299c206fcac68520a091ed1a6
|
|
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
|
|
Handle possible null pointer dereferences.
Misc other warnings, nothing too serious.
Not addressing alloca concerns yet.
Change-Id: I712a6b4996a4d900604867e373521ff4d1c53df5
|
|
Clean up some more logging strings with extra spaces. Also,
updated the command-line output of the VK_LOADER_DEBUG messages
so that they clearly indicate what type of log message is being
outputted: INFO, WARNING, ERROR, PERF, and DEBUG.
Change-Id: I8cbb5b058094febdccf912eb595f5b4f01c3485b
|
|
Change-Id: I37cfdb4b290dc8d5be7c606e32eb8d369ea43c6a
|
|
Modify the loader's trampoline and terminator
vkEnumeratePhysicalDevice functions to utilize helper functions.
Also, fix the failure in CTS.
Change-Id: Id9356fffd42f878c660ac8ee831e7527cce608bd
|
|
Change-Id: I71916c5300c24158901123f775b7b2fec3293e5b
|
|
Add more logging messages on Error cases to help debugging.
Change-Id: I78b6bd7c73d7234283bf94d745c8733d59752422
|
|
Change-Id: I24aecbdab452a04514fd42a9a9ae7f3bcf1cd2ca
|
|
A delete was being done using a variable that wasn't directly
tied to the array.
Change-Id: I59ba4bc86a72fc8158e3a7c46e13c54fb2409873
|
|
Found a few issues, and I had some concerns about the physical
device values enduring over multiple queries.
Change-Id: Ifaa94a4ecf9edfc79bdd3b3d473db068952e3264
|
|
Make one variable's name plural to clarify that it
contains more than one layer. Also, clean up a
comment that wrapped prematurely to the next line.
|
|
Change-Id: I9f25875f065f7db58f9c8841965ba1f2f974de90
|
|
Change-Id: Ib474a7af431746d9e820e188681d2a9310e94a0d
|