| Age | Commit message (Collapse) | Author |
|
Change-Id: I88d9c5ae82159ad6b1976b0b498fbe4ee7f5e2d5
|
|
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.
|
|
Change-Id: I481ff8a2ae0ec5a82773fddd2b59c750126adc11
|
|
Add loader emulation for VK_KHR_get_surface_capabilities2 commands
Change-Id: I1de99d1bc94d6ec1191601e75b79c5c32fa81fdc
|
|
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
|
|
The loader will now handle structures from VK_KHX_multiview and
VK_KHX_external_memory_capabilities in the pNext fields of commands
from VK_KHR_get_physical_device_properties2.
Change-Id: Ic7175e9334c56c7642b75360b35a6b9ff240ee98
|
|
Change-Id: I662a6a182680ef7da6ad51a738fcc5aaff54f043
|
|
Added table of all environmental variables. Also added note
about using LD_BIND_NOW usage for discovering problematic ICDs.
Change-Id: Iba4234b2226ab145491fc913f4361b098b21fd0b
|
|
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
|
|
Change-Id: I53ae66929ed38d81eb52cc0307341d5c8f97cdc8
|
|
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
|
|
Expand library search locations based on recommendations by
Dustin. We still attempt to use the old LoadLibrary first,
and then, only if that fails, do we attempt to use the new search.
Change-Id: I4cf1358f9eb7e45ac61f36435e926aa89c212f83
|
|
Pierre-Loup at Valve caught this. By using RTLD_NOW on dlopen
it fails if symbols are not resolved at dlopen time. This resolves
an error where an ICD is missing a symbol on a system causing
the loader to fail later at an unrecoverable time.
Change-Id: Icf43fd36aebfbcb4b08e7e3891570161234118f7
|
|
Change-Id: I5ad4e0794726029fe7fe21fdb8a9667f7eb9e7d5
|
|
Add the ability for the loader to emulate the commands in
VK_KHR_get_physical_device_properties2. This will only be used when
using multiple physical devices where only one supportes the ext.
Change-Id: I596c8ee9eea5e5136e5b478508abb21c5d8ad5a1
|
|
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
|
|
Change-Id: Id51ce907ca167a44f9f2db6db48b4ade679b129b
|
|
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
|
|
Fix issue brought up by Masaki Takano in LunarXchange.
Change-Id: Ib6caa931decf5976e96bcd4629602b7f25b88001
|
|
Fixes #1582
Change-Id: I2f06a7016643f61d7e6341df20f355cb510350ab
|
|
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
|
|
Fixes #757
On Linux, the build configures a vulkan.pc pkgconfig
file, writing it to <build_dir>/loader. The make 'install'
target then installs this file along with the others so that
it can be found with pkg-config. Then, issuing:
$ pkg-config --libs --cflags vulkan
emits compilation flags for vulkan programs.
Since retrieving the header version from vulkan.h was needed in
order to put the Version in the pc file, this commit also uses
the header version to specify the SO version, so it no longer needs
to be changed for every release.
Change-Id: If83c17bfbb59f2ee05d5f86f5e957fc11871546b
|
|
loader: Initialize json_version
|
|
- updated include/vulkan/vulkan.h
- updated scripts/cgenerator.py
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- updated loader SOVERSION
- updated include/vulkan/vulkan.hpp
- updated parameter_validation.cpp with new APIs
- updated object_tracker.cpp with new APIs
Change-Id: I1fd812cb376d5cddee5ab4acf2e4f8fe6d33b761
|
|
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
|
|
Move the loader-specific generated files into the loader binary
folder when built.
Change-Id: Ib5f04eada8eb0b89d1d5e50adaf1e964d4f1a6d6
|
|
Fix several leaks caught by Valgrind. This change should fix all
memory leaks caught by David Hubbard in pull-request #811.
Change-Id: I55d7f3a6abbc32fde182702c4b9cf1041107c6df
|
|
Change-Id: I185d37096db07585d8b4015201656937fbf5714d
|
|
The loader will now seach HKEY_CURRENT_USER in addition to
HKEY_LOCAL_MACHINE when looking up layers in the registries.
Change-Id: I899dc7d65a2fe08f1e471fa8dccba5255f8ef7b7
|
|
I had removed the need for loader/table_ops.h in my loader
automatic generation changes, but forgot to remove the file.
Change-Id: Ide46609d9eda354b712844782b97af6f1cc09ef0
|
|
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
|