aboutsummaryrefslogtreecommitdiff
path: root/loader
AgeCommit message (Collapse)Author
2018-02-05cmake: Move LVL temp/worker targets into subfolderMark Lobodzinski
This sets up cmake to locate the temporary or worker MSVC projects into a subfolder called lvl_cmake_targets. This simply unclutters the Visual Studio Solution Explorer projects pane, and does not affect functionality. Change-Id: I6933d05758d6f174a4f66ceaef51d43627210e4f
2018-01-22cmake: Fix non-existant cmake variableMark Lobodzinski
Specified cmake variable does not exist, caused problems in some out-of-source builds. Change-Id: I526117ef060efea40451752e5fe7bad1e7a5589e
2018-01-19loader: Fix static library initializationLenny Komow
Fix the loader's global initialization being skipped when the loader is built as a static library on windows Change-Id: I492f87104fb3bf32aed3c7d251dee2caeb4f00ba
2018-01-19loader: Restore pNext data in CreateDeviceJoey Bzdek
In the terminator for CreateDevice, the VkDeviceGroupDeviceCreateInfoKHX struct in the pNext chain is replaced by a copy that has VkPhysicalDevice handles remapped. At the end of the terminator, restore the modified pNext pointer to partially comply to the const argument and give consistent behavior to the caller. Change-Id: I83a60a0102a736d056729383733e62b38b0ace2c
2018-01-18loader: Fix enabling extensions from layersLenny Komow
This resolves a bug where it was impossible to enable an extension that was defined in a layer if that layer was not passed by the application. This applied to implicit layers, explicit layers enabled by environment variables, and metalayers. Change-Id: I03bee6fb778936d970f78b9142679654424f80ae
2018-01-16loader: Clean up mutexes on destructionLenny Komow
Change-Id: I7d1524da9167a576420c109ebbce8ebb5121cad0
2018-01-16Loader: fix open registry handle leakSlawomir Cygan
Each handle returned by RegOpenKey*() API functions should be closed using RegCloseKey(). This change fixes AppVerifier warning on leaklin HKEY objects.
2018-01-16build: Fix linux 32-bit assembly configLenny Komow
This fixes a bug whereby 32-bit Linux builds would not be able to use the assembly code as the try_compile command would fail when it attempted to link with compiler flags Change-Id: I6e4479fb7926169a7fa5c01876834cdae8c3b637
2018-01-09docs: Update loader doc for pre-instance layersLenny Komow
Change-Id: I4780d36714a6a15c4c57cd0f6324f640249a9427
2018-01-09loader: Add pre-instance functions for layersLenny Komow
Allow implicit layers (not explicit) to intercept calls before an instance has been created. Change-Id: I41f5bb0f5a6314fbab8003ebe71059dd04afc860
2018-01-03loader: Change overzealous warning to debug msgLenny Komow
Change-Id: Idde5f8c8f009e365bdcf1fffaffa669d0557d66b
2017-12-27build: Address clang compilation warningsKarl Schultz
2017-12-04loader: Fix Clang errors/warnings.Jamie Madill
Fixes: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Werror,-Wformat] error : expected ')' (issue with __FUNCTION__ and format string)
2017-11-28loader: fix memory leak for layers with >1 dev_extsCort Stratton
2017-11-27loader: Fix improper cast warning.Jamie Madill
warning C4057: 'function': 'LPBYTE' differs in indirection to slightly different base types This was popping up in some Windows builds. Also add it to the list of warnings enabled by default with MSVS. Change-Id: I2703f2e57ba3fb33ec03fbc7b8324c75187abec6
2017-11-10loader: Fix pre-instance proc addressesLenny Komow
Fix a bug where vkGetInstanceProcAddr would return a null pointer for any command that does not require an instance if an instance was given Change-Id: Iec5766f9c37104c36852f758d391a9b0b54ec0ec
2017-10-23loader: Fix function name in interface docTobin Ehlis
There is no "vk_icdGetLoaderICDInterfaceVersion" function. The correct name is "vk_icdNegotiateLoaderICDInterfaceVersion."
2017-10-20loader:Updates to LL Interface DocTobin Ehlis
Fixing some formatting issues and typos as I read through doc.
2017-10-16loader: Fix info message when activating a layerLenny Komow
Change-Id: Ibc6df4964a752c9cce574a208714eb096576973c
2017-10-10loader/vulkan.pc.in: GH1212; Libraries required by vulkan.so forJohn Zupin
for static linking purposes should go into Libs.private
2017-10-10Loader: Fix OOM in loaderGetDeviceRegistryFiles()Igor Ostrowski
loaderGetDeviceRegistryEntry() out of memory result was not handled properly.
2017-10-06loader: Fix TEXTREL on 32-bit linux loaderLenny Komow
Change-Id: I5fc568ce0ad17c280c484f37b2797eead08169b3
2017-10-06build: Limit control flow guard to loader/demosMark Lobodzinski
Change-Id: Ibb95a7192bd95195797d3d10ccc0ed34fe030268
2017-09-13loader: Fix crash from loading invalid ICDLenny Komow
Addresses LunarXchange issue 711 Change-Id: Ia67441a3adde5ddf9d72ffd12c8cc5fb44071b96
2017-09-06docs: Update loader doc for pnp registry changesLenny Komow
Change-Id: I3d41b7b01140243457ac35cfa2c22235f35e4e83
2017-09-06loader: Allow layer loading from pnp registryLenny Komow
Change-Id: I70682cf5904b95b52881457e14bbc2f9a772259d
2017-09-06loader: Fix PnP 32-bit registry handlingLenny Komow
Change-Id: I25eae83b4783e702ca5fbe74a99d7bdeae6218f0
2017-08-29loader: Fix GetProcAddress loading illegal funcsLenny Komow
The loader would return an unknown device extension handler when specifying a function from a layer that was available, but not enabled. Change-Id: I0d77a7489d66e4d77aa8446018ec545c930f5bcf
2017-08-25Loader: Fix out-of-memory handling in loaderGetDeviceRegistryFilesSlawomir Cygan
Wrongly handled OOM error causes dEQP-VK.api.object_management.alloc_callback_fail test to fail, because wrong error code is returned.
2017-08-10loader: Replace overzealous warnings with infoLenny Komow
The new ICD search functionality was logging warnings in some places where information was more appropriate, such as when opening a device or for some errors that simply indicated that the new format is not supported yet. Change-Id: Ifc8ce33d778783f3f55102783bf6ede0dd7c2a00
2017-08-10loader: Don't load manifest files more than onceLenny Komow
Change-Id: I2802ad0c1fd16c0287ed24b96ec6d81c4b3c711a
2017-08-10loader: Fix size handling when scanning registriesSlawomir Cygan
loaderGetRegistryFiles() should not start from 4096 size, if loaderGetDeviceRegistryFiles function has already appended something into the buffer.
2017-08-10loader: Add new ICD search paths to loaderSlawomir Cygan
This change extends the functionality of searching for ICD JSONs by adding registry locations specific to given display adapter and software components associated with this display adapter. The exact locations in registry are queried using Windows public PnP Configuration Manager API[1]. This change is required, as previous ICD locations (constant path in "HKLM/Software") may be unreachable for drivers and their installers on Windows RS3[2]. Similar change is being made for OpenCL[2] [1]https://msdn.microsoft.com/en-us/library/windows/hardware/ff549713.aspx [2]https://github.com/KhronosGroup/OpenCL-ICD-Loader/pull/21
2017-07-21loader: Remove executable stack from libvulkan.soLenny Komow
Change-Id: Id77d5560479cbbc6f5453a6362c5a20dd721fdd0
2017-07-18loader: Fix vkEnumerateDeviceLayerPropertiesMark Young
The device layers should list the names of the original layers enabled during vkCreateInstance. We were expanding the meta-layers which caused there to be a mismatch in names. NOTE: that this list still include Implicit and Environment variable enabled layers since those are techincally enabled at vkCreateInstance as well. Change-Id: I3ef88623e96a12a8f18f8f04e95a6f5444f4be56
2017-07-17loader: Do not enumerate extensions from disabled implicit layersJean-Francois Roy
This patch adds a check to vkEnumerateInstanceExtensionProperties to omit extensions provided by disabled implicit layers. Per section 31.2 (1.0.51), "When pLayerName parameter is NULL, only extensions provided by the Vulkan implementation or by implicitly enabled layers are returned." Arguably, implicit layers that have been disabled are not "implicitly enabled".
2017-07-13header: Update to 1.0.54 Vulkan releaseMark Young
Update the headers and xml file with the latest spec changes for Vulkan 1.0.54. Also, make corresponding loader and layer changes to support the new extensions. Change-Id: I11273c5e3e828743f904e4f0b4b2f2c3a7804df0
2017-07-05loader: Rename files to better reflect their useLenny Komow
Change-Id: Ie3df06c1c4f78cd515cb4579e93bd80331913669
2017-07-05loader: Fix unknown device trampolines on WindowsLenny Komow
Change-Id: I33129c1d80d7c1d1615b7b86a7abfae1c33d0204
2017-07-05loader: Fix unknown device trampolines on LinuxLenny Komow
Change-Id: I69d12159534a4569dd2335b4fc52e9ba0bc004b0
2017-07-05loader: Fix unknown phys dev terms on LinuxLenny Komow
Change-Id: I36f683c7deb4aac27b27ca253c3324439eb2f2f2
2017-07-05loader: Fix unknown phys dev terms on WindowsLenny Komow
Change-Id: I04636aef6ebfcc092d58971574ba5fa0359e08d0
2017-06-30build: Fix build on non-x86 Linux systemsLenny Komow
Change-Id: I5a35e1bb5f1f9bf9b773588e1a20c24da78ddc35
2017-06-29loader: Add validation for apiVersionMark Young
Add a check to determine if the API version being requested can be handled by the loader. If it can't, then we return incompatible driver. If we can, we continue along our merry way. An addendum is that we also bumped the Loader/ICD interface version. This was requested by Nvidia so that the ICDs know that we pay attention to the version in the loader. If they don't see the new Loader/ICD interface version, they will handle the failing on all non-1.0 API requests. Change-Id: Icb7dd45e754c9f6a6c8186198333bacc68077b93
2017-06-26loader: Fix handling of JSONMark Young
If a JSON layer manifest file says it contained device extensions but didn't provide a list, or the list was malformed, it caused issues. Change-Id: I94b97b190aca35f9464918eb7195486566becaa0
2017-06-22build: Fix assembler warning on Win64Lenny Komow
Change-Id: I234f65c3422628c7a66c53e01044045126c4a7b2
2017-06-20build: Quote asm arg to allow bld w/spaces in pathKarl Schultz
Put quotes around an assembler argument in CMake file to reenable building this repo on a path that contains space characters. Change-Id: Ic89737f4611161ec0bf4fe53ea59d9e2cd553d9b
2017-06-16build: Enable linux 32-bit builds with ASFLAGSLenny Komow
Change-Id: Ic88fdb9d6c0f23a0b345c82852826a9c1abb8097
2017-06-16build: Do not overwrite CMAKE_ASM-ATT_FLAGSJózef Kucia
Allows passing flags to assembler in order to build 32-bit targets on 64-bit platforms. A 32-bit build can be produced by passing -DCMAKE_ASM-ATT_FLAGS=--32 to cmake.
2017-06-15loader: Fix alloc issueMark Young
We were allocating the wrong struct for the dispatch table object when creating the instance. This left us using invalid memory when using the physical device extension trampolines. Change-Id: I9939a8c9fe320b0d07592ab4beb5b6faaba40383