summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-08-03Fix crash on pixel phoneaccepted/tizen/unified/riscv/20230919.031459accepted/tizen_unified_riscvXuelian Bai1-1/+3
Change-Id: I89320faf4c1063b9404cfca1d528edef4cfa8fb3 Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
2023-02-08Upgrade to v1.3.240tizen_8.0_m2_releaseaccepted/tizen/unified/20230227.042024accepted/tizen/8.0/unified/20231005.094613tizen_8.0accepted/tizen_8.0_unifiedXuelian Bai1-1/+1
Change-Id: Ibcdb636a32951e23bd0871a93dd7ffa88a7cc2c6
2023-02-08Remove unnecessary usages of prefix in pcJoonbum Ko1-4/+2
Change-Id: If03b32419c4c094b5645009a008549b5f8510315 Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
2023-02-08remove double slash in vulkan.pcjinbong, Lee1-2/+2
Change-Id: I891e70bd36594aa31fc6f405006e233c58ad35d1
2023-02-08Fix double free issueXuelian Bai1-0/+12
dEQP-VK.api.object_management.alloc_callback_fail.device is crashed on RPI4, it's caused by double free in icd_term->logical_device_list. This patch intend to avoid duplicated item in icd_term->logical_device_list. Change-Id: Icfd35f8fad70a06a5697d9dc0c0a330f83e08fc6 Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
2023-02-08Upgrade to 1.3.208Xuelian Bai2-2/+2
1. Change version number 2. Add default path for mesa icd Change-Id: Iea5a2636cb8215c82cb901fed3bf4dc058e86c62 Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
2023-02-08add spec fileSooChan Lim2-0/+73
2023-01-27build: Update to header 1.3.240upstream/1.3.240Mike Schuchardt3-4/+4
- Update known-good - Generate source
2023-01-26Re-checking loader.rc fileCharles Giessen7-25/+98
The loader.rc file is now checked into the source, and is automatically updated by python whenever the headers are updated so that it contains the version used to build the loader. If BUILD_DLL_VERSIONINFO is set in the command line, then the loader will use that version to configure a new loader.rc and place it in the build directory. Then it will use that loader.rc rather than the checked in file. This allows Vulkan Runtimes to be built with an exact version. The file is checked in to allow builds without modifying the source directory and allowing GN builds to not need any additional configuration to work.
2023-01-26ci: Fix CI warningsJuan Ramos1-5/+5
2023-01-25Fix copyright in windows .rc fileCharles Giessen3-69/+13
This commit makes the copyright date to be taken from the day of the build instead of it being hardcoded, which is liable to be out of date. This commit also makes the loader.rc be generated into the build directory rather than the source tree. Because this commit modifies the version info to include the current header version for debug builds, this prevents needing to update the file whenever the headers update.
2023-01-24Log when VK_LAYER_PATH is ignoredCharles Giessen2-33/+48
The current design of the loader make the Override Layer, with its override paths, take priority over VK_LAYER_PATH. This is fine, but if the override layer accidentally was left around, it can cause confusion as VK_LAYER_PATH suddenly stops working for no apparent reason. This commit adds a log message to indicate that it is being ignored.
2023-01-23github: Use main instead of masterJuan Ramos10-25/+27
closes #1107
2023-01-19docs: Notify users about upcoming master to main changeJuan Ramos1-0/+4
2023-01-19build: Update to header 1.3.239Mike Schuchardt5-2/+62
- Update known-good - Generate source
2023-01-16Add Vulkan Loader and Driver Interface Version 7Charles Giessen11-151/+351
The changes made by Version 7 are as follows. If a Driver supports any of the following functions, they must be exposed by with vk_icdGetInstanceProcAddr: * vk_icdNegotiateLoaderICDInterfaceVersion * vk_icdGetPhysicalDeviceProcAddr * vk_icdEnumerateAdapterPhysicalDevices (Windows only) This makes it optional for a driver to export these functions. Drivers may still export them for compatibility with older loaders. Loader and Driver Interface Version 7 allows for drivers provided through the VK_LUNARG_direct_driver_loading extension to support the entire Loader and Driver Interface. This commit makes many small fixes to the documentation. Main changes are adding Version 7 of the Loader and Driver Interface, clarifies when the functions associated with this version must be exported, when they can be optionally exported and when they must be exposed through vk_icdGetInstanceProcAddr. This also clarifies LDP_DRIVER_10 to note the exact behavior of drivers that is disallowed. In the process of these documentation changes, the glossary was amended with definitions for Exported Functions, Exposed Functions, and Querying Functions.
2023-01-16build: Remove VS2015 supportJuan Ramos2-16/+1
2023-01-16ci: Test CMake minimumJuan Ramos1-2/+30
2023-01-15Add guard for GetPhysDevProcAddr typedefCharles Giessen2-0/+4
vk_layer_dispatch_table.h may be included after vk_icd.h and may cause multiple definitions. This commit adds a macro guard on whether the type is defined just in case.
2023-01-13Try to catch OOM errors when loading binariesCharles Giessen2-1/+19
If there is an error loading a dynamic library, check to see if it is the result of an OOM condition. Then return the appropriate OOM error code up the callchain. This commit is the result of an OOM condition when trying to load the validation layers, which resulted in the return code VK_ERROR_LAYER_NOT_PRESENT. This is very misleading. If the loader can catch then report more accurate information, then it should.
2023-01-12Added target condition to vulkan headersB Marques1-1/+3
2023-01-10cmake: Fix usage of Vulkan::RegistryJuan Ramos2-4/+2
Vulkan::Registry was deprecated by Vulkan-Headers Use 'VULKAN_HEADERS_REGISTRY_DIRECTORY' instead. closes #1106
2023-01-09Document behavior change in how bundles drivers are usedCharles Giessen1-0/+11
Document that a bundled driver on macOS will cause the loader to ignore drivers in system installed locations.
2023-01-09Add macOS bundles support to test frameworkCharles Giessen10-12/+130
Allow basic tests to be written which exercise the bundle discovery and loading logic in the loader. This allows testing whether drivers found in bundles disables searching for drivers on the rest of the system. This commit also inclues fixes for a half dozen non essential spelling mistakes.
2023-01-09Fix Bundled drivers on MacOS taking precedenceCharles Giessen1-7/+4
Previous commits broke the behavior of only using bundled drivers if found, this commit fixes the condition to make sure the bundled drivers are used while no other drivers are loaded.
2023-01-09Add Vulkan-Headers version to sourceCharles Giessen4-5/+21
The version of the Vulkan-Headers used to generate the source code is what should be used to set the version of the binary, rather than the version of the Vulkan-Headers that is currently available. This commit checks that version into the repo so that it is used, and adds the necessary python code to update it. This behavior was previously in the repo but was broken by the update to use the version parsing logic from the Vulkan-Headers.
2023-01-09Fix allocation callback test to start at 0Charles Giessen1-1/+1
While working on the code, it is common to start the allocation tests at a fail_index greater than zero, usually close to when the issue starts. This was accidentally checked in, this commit fixes that mistake.
2022-12-28Revert asm_offset CMake code to work with 3.10Charles Giessen1-6/+2
The revertion of gen_defines.asm generation during cross compilation changed the form of add_custom_command used, which inadvertently relied on CMake 3.16 support. From the CMake Docs: DEPENDS: ... A target-level dependency is added if any dependency is a byproduct of a target or any of its build events in the same directory to ensure the byproducts will be available before this target is built.
2022-12-27cmake: Use VulkanHeaders_VERSIONJuan Ramos5-214/+5
Removes need for a bit of python code / parsing. And it's consistent with VVL's approach.
2022-12-19build: Update to header 1.3.238Mike Schuchardt6-192/+2
- Update known-good - Generate source
2022-12-12Fix for Apple compiler bugRichard S. Wright Jr1-1/+8
2022-12-08build: Update to header 1.3.237Mike Schuchardt5-2/+37
- Update known-good - Generate source
2022-12-02Document interaction of layer env-vars for linuxCharles Giessen1-0/+3
> If `VK_LAYER_PATH` is present, then `VK_ADD_LAYER_PATH` will not be used by the loader and any values will be ignored. This was present for the Windows documentation but not for linux and company.
2022-12-02Layers: expand tests to check layer names loaded are expectedphish3y1-0/+12
2022-12-02Layers: update log message and documentation so it is clear that ↵phish3y2-2/+2
VK_LAYER_PATH does not only search directories
2022-12-02Layers: modify TestLayerDetails so either files or directories can be set on ↵phish3y3-25/+38
VK_LAYER_PATH env var
2022-12-02Layers: add tests to verify VK_LAYER_PATH works with full file pathsphish3y1-17/+67
2022-12-02Layers: add test to verify VK_LAYER_PATH supports explicit file paths ↵phish3y1-0/+18
instead of just directories
2022-12-02Layers: update documentation to make it clear the VK_LAYER_PATH supports ↵phish3y2-3/+3
both explicit directories and files
2022-12-02loader: Fix parsing VK_INSTANCE_LAYERSziga-lunarg1-1/+1
2022-12-01build: Update to header 1.3.236Mike Schuchardt3-2/+3
- Update known-good - Generate source
2022-11-29loader: Mark unknown_ext_chain symbols as hiddenJohn Bauman2-0/+9
These don't need to be exported from the shared library, as they're just internal implementation details. Closes #1079
2022-11-28Use integrity_level >= HIGH for is_high_integrityCharles Giessen1-1/+1
Previously it used integrity_level > MEDIUM, which causes issues since occasionally windows elevates certain regular user mode processes to be MEDIUM + 0x100 or similar, causing the `is_high_integrity()` to return true even though it isn't an admin level process.
2022-11-28cmake: fix pkgconfig file for absolute install pathsJan Palus2-2/+9
Fixes #1076
2022-11-21Add more OOM handling paths and refactor OOM testsCharles Giessen4-89/+113
There were more cases where OOM wasn't being propagated correctly, or even caught in the first place. This change makes all of those paths report OOM to the application as is expected. One case was due to linux sorting erroring out but then leaking memory, which wasn't caught because the tests didn't create devices that supported PhysDevProps2. Lastly, since the Allocation tests were taking much longer due to making many more allocations, the MemoryTracker was rewritten to use std::unordered_map to speed up insertion and lookup of allocations made.
2022-11-17build: Update to header 1.3.235Mike Schuchardt6-9/+291
- Update known-good - Generate source
2022-11-17Add complex json file to allocation testsCharles Giessen3-9/+763
This helps exercise the cJSON OOM handling code. The json file is just a copy of the validation layer manifest file.
2022-11-17Propagate OOHM error from json parsingCharles Giessen1-2/+3
There was a few places where an out of memory error could be generated by parsing json but were not passed on upwards, causing CTS tests to fail.
2022-11-16Fix cases where OOM was handled wrongCharles Giessen2-32/+52
goto's were replaced by returns erroneously. This caused unfreed memory in certain OOM scenarios, caught by CTS. The reason the loader tests didn't catch this was because the fake drivers did not report any extensions, thus no memory was allocated (which would later be leaked). This commit addressess this deficiency in the tests as well, which included correctly incrementing the MemoryTracker's allocation count during realloc.
2022-11-11Handle invalid files & symlinks properlyCharles Giessen7-14/+140
If loader_get_json fails due to the file missing or the file being a stale symlink, it returns VK_ERROR_INITIALIZATION_FAILED which loader_parse_icd_manifest passed upwards. Since the caller of loader_parse_icd_manifest wasn't expecting that error code, it didn't skip the ICD, causing an infinite recusion in EnumInstExtProps due to the call to dlsym("vkEnumerateInstanceExtensionProperties"); This also required changes to callers of loader_get_json which would propagate VK_ERROR_INITIALIZATION failed during layer searching to no longer cause vkCreateInstance to abort if any invalid files were found. Added tests for symlinks as the origin of this bug is due to 'stale' symlinks after driver installers